Today, I'm disappointed and sad to announce that NRICTools had been removed from Google Play Store. This has happened despite myself trying my best for the past few weeks to get the app reinstated. In the email sent by Google to me, Google states that NRICTools does not comply with their Deceptive Behaviour policy.
In Google's Deceptive Behaviour policy, Google states that any application that generates or facilitates the generation of ID cards are considered 'dishonest behaviour'. I cannot avoid nor argue the fact that NRICTools does indeed allow users to generate and do facilitate the generation of ID cards in a way. I also understand that there are existing apps on Google Play that does the exact same thing as NRICTools. The formula to generate and to verify NRIC can be easily found on the Internet and is used to power the features available on NRICTools.
Please be advised that any perceived compliance or non-compliance of other developers’ apps doesn’t affect the compliance of your apps. We will approve or reinstate your app if we find that the initial decision was made in error.
A few weeks ago, I received an email from Google stating that the in-app billing library used in NRICTools is outdated and will no longer be supported moving forward. I immediately opened up NRICTools source code and began removing all the old in-app billing library logic and implemented the new Google Play Billing Library 4. I did internal testing on all my personal devices and it was working well. The new update bearing version 67 was then uploaded to Google Play for review for production.
The update was subsequently approved for production by Google and I rolled out the update to about 50% of the userbase. A few days later, I checked my Google Play Console and found that there were no reported crash on users who have installed the new version of NRICTools with the new billing library, so I updated the roll-out to 100%. After the roll-out to 100%, I was hit with the suspension.
Once your app is suspended, you forfeit the users, statistics, and ratings of the removed application. If your developer credentials are still in good standing with Google Play and if your app allows for it, you can publish a new compliant version of the application.
Below I publish a few facts and statistics about NRICTools because I like transparency...
NRICTools's idea first started as a Windows application that a good friend and I developed using NET Framework 2.0 back in secondary school. I took computer studies as a subject and was told by my teachers that NRIC numbers can actually be verified using a formula. Back then, NRIC numbers weren't so sensitive and there also wasn't any spotlight on the use of NRIC numbers.
We live in a very different world today and this also meant the end of NRICTools on Google Play.
For fans of NRICTools (if there's any at all), I will try to build a version of NRICTools (with the Google Play Billing feature used for Donate completely removed and Themes feature available for all) and publish the APK here soon. I will also sign the APK with the same key so you can simply install over your existing installation. I will do it once I have the time. NRICTools currently uses AAB (App bundles) for publishing to Google Play, so that will change back to APK.
In the future, I might also release a version of NRICTools on Google Play with the generate feature removed. You can still type your NRIC to verify I guess... Not sure if I would want to risk my developer standing on Google Play for that though.
I felt that it was quite hard to communicate with Google Play support when all they said was NRICTools "facilitates the generation of ID cards, social security numbers" with no understanding of the facts provided that the logic is readily available online and there was no shady behaviour. I understand that what they claimed is true, but to use the term "Deceptive Behaviour" just doesn't seem right to me. Well, I guess their platform, their rules.
As always, take care (stay safe) and I will see you soon
A 'fake' Xiaomi Mi 8
It's been three years since I last updated the phone my mum is using. I went online and found this amazing deal, a Xiaomi Mi 8, for just around S$250. The phone comes with the previously flagship Snapdragon 845, Super AMOLED display and even an Infrared face recognition system!
Upon receiving it, I started noticing weird things about the device. Do note that the device was marked by the seller as 'brand-new' and global variant. The phone even came 'sealed'. At this point, I have already gotten a full refund.
Upon closer inspection, I started noticing everything wrong about the product I received
I have checked the IMEI on the box against the phone itself and it matched! Nice try! Let's look at the other contents of the box...
At this point, I knew I wanted a full refund on the product. That aside, we move on to the phone. The first thing I noticed after turning on the phone was that it was bootloader unlocked! I don't think any manufacturer will sell devices with bootloader unlocked so that was a dead giveaway that someone have been into the phone before. The phone setups fine, and seems to be running the global rom of Xiaomi's MIUI 10.
It even got an update to MIUI 11, then again to MIUI 11 based on Android 10.
Besides the proximity sensor not working, I also noticed that the main camera at the back was unable to focus on any subject (seems stuck).
My conclusion is that, someone out there is selling refurbished Mi 8 as new.
The phone is obviously a Chinese variant flashed with a global ROM. For the Mi 8, Xiaomi implemented some measures that prevent users from locking their bootloader after flashing global ROM, doing so will brick the device. This is the reason why the seller did not lock the bootloader.
Because of the low price, the seller also replaced every accessory that came bundled with the phone with cheaper versions of it. QC4 charger replaced with a standard 5V 2A charger. SIM Ejection PIN replaced with a cheap Chinese knockoff and heck, the phone even came with a preinstalled screen protector (how convenient).
If something looks too good to be true, it probably is. I tried my best to get the platform to take down the listing, but it seems the seller created multiple merchant account selling the same phone. The seller also run them on sale using those accounts one after another. It even went on the platform's best seller list at some point in time.
Many buyers who are buying this would most probably accept the phone. I would think that not everyone received their phones came with non working sensors like mine. Using a phone with a permanently unlocked bootloader has security risks in itself. Smartphone devices we use hold a lot of our personal information in them, so I would never compromise on something like this.
Just a quick update to put some awareness out there.
I hope all of you are staying safe amid the COVID-19 pandemic.
Stay at home and be socially responsible.
As always, take care and I'll see you again.
First post of the year :/
So busy that I literally forgotten the existence of my website
Trying to keep things here short
At the start of the year, I left my job to continue my studies. It was a tough decision that I had to make. I''ve been working for two years but I eventually felt that I needed to study to improve my skillset and meet new people. For the past two years, I've been stuck in my 9-6 job. Of course, I've learnt a lot during the two years I've spent working, but things were getting stagnant. When the opportunity came for me to study, I decide to take the leap forward to continue my studies.
So far, school have been pretty easy for me. I got one distinction and one high distinction for my March-June semester (I only got two subjects per semester). This coming semester is proving to be extremely difficult though. Just had my first Data Structure & Algorithm lesson today, and I don't even understand a single thing. I have to do more self study to catch up at home :/
I've also been monitoring cryptocurrency a lot for the past few months. BTC hitting its 2019 high. I've invested a bit of money, hoping that I can cover my cost of living while I study. So far so good...
I use BitUniverse to track my cryptocurrency as the app provides live price updates. I won't share my crypto position here though...
I will just post some pictures I've taken... Easier for me to explain...
I couldn't stop the blood flowing out of my left hand and it was dripping while I hurried back home. Took a few weeks to recover. Left a permanent scar :( Going to start scar treatment soon... Hopefully it fades...
Alright, that's about it for now.
As always, take care and I'll see you SOON....
Brand new look and feel
Hello again :)
Today, I'm happy to present to you a whole new look and feel on stevenching.com
The new layout is responsive to both desktop/mobile browsers.
Have a huge desktop monitor? No problem, you will see that the new layout covers your whole screen, utilizing every bit of available space on your display.
There's also a new reveal animation for the header bar.
All ads have been removed too! Enjoy an ad-free experience. I wasn't generating enough revenue to cover my domain and web hosting anyway...
All child pages have been updated with the new look too. Previously, the main page has always been up to date with new look and the child pages neglected.
This is no longer the case.
Try navigating those child pages and experience the new design!
Took me the entire night to get everything the way I want it to be
Follow me at my social media links above :D
I hope to have another post up here by next week, stay tuned
Signing off @ 1.48am
As always, take care and I'll see you soon!
Extended Weebly Pro subscription
Just paid for another 2 years renewal with Weebly
Read that Weebly is merging with Square, hopefully the plans won't change though
As always, take care and I'll see you soon...
I'm way too good at goodbyes...
Impressive performance by JJ Lin
Just about how I feel right now...
Testing out Weebly's YouTube app
As always, take care and I'll see you soon :)
Updated: 20 Aug 2021
Dazhong Primary School
Bukit View Secondary School
(Diploma in Computer Engineering)
University of Wollongong
(Bachelor of Computer Science - Digital System Security with Distinction)