I AM

Steven Ching

Technology Enthusiast
Software Engineer
Everything is achievable through technology
Published on
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.
​- Google Play Team

What happened?

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. 
Picture

Pre-launch report generated for NRICTools version 67

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.
​- Google

Below I publish a few facts and statistics about NRICTools because I like transparency...

  1. NRICTools was available on Google Play for more than 5 years
  2. ​NRICTools received 13 ratings with an average of 4.769 stars on Google Play
  3. I delivered more than 30 updates to NRICTools in the past 5 years
  4. NRICTools always try to target the latest Android version (Version 67 targets Android 12)
  5. NRICTools facilitates with the scanning of SafeEntry QR codes by redirecting the user to the website
  6. No internet access required and app also does not request for internet access in app manifest
  7. I always try to remove required permissions if possible
    1. For example. NRICTools implemented the SAF (Storage Access Framework) in Android and removed the permission for storage media access
  8. 245 active devices with NRICTools
    1. Android 11 - 110 users
    2. Android 10 - 84 users
    3. Android 9 - 28 users
    4. Android 8.1 - 10 users
    5. Android 8.0 - 5 users
    6. Remaining OS - 8 users
  9. 1116 downloads
    1. Android 10 - 350
    2. Android 9 - 209
    3. Android 6.0 - 123
    4. Android 11 - 72
    5. Android 7.0 - 70
    6. Remaining - 292
  10. NRICTools was only made available to Singaporean/Malaysian users
  11. 3 user donated and unlocked the Themes feature
    1. I know this is a very small number but thank you for your support
    2. The donate feature was actually developed for me to try out and learn how to implement IAP on Android apps, so I really didn't expect anyone to Donate to me.
  12. NRICTools earned absolutely nothing from ads

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.

Moving forward

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.
Picture

They initially claimed that the area of concern is actually in my app description...

That's all
As always, take care (stay safe) and I will see you soon
Published on
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.
Picture

Box looks like it's been through a lot

Picture

The back of the box

Upon closer inspection, I started noticing everything wrong about the product I received
Picture

"Doble SIM"

Picture

"navigaDon"

Picture

"Package contents" had formatting issues

Picture

Spelling mistakes all over

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...
Picture

Fingerprints and scuffs all over

Picture

SIM Ejector PIN looks rusty and headphone adapter is missing

Picture

Contents look used and worn

Picture

A charger that doesn't fit into the box

Picture

Mi 8 comes with a QC charger, but mine was replaced with a puny 5V 2A charger

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.
Picture
Picture
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.
Published on
So busy that I literally forgotten the existence of my website

Trying to keep things here short
  1. Left my job
  2. Started school
  3. Currently finished two semester
  4. Started trading cryptocurrency

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... 
Picture
Picture
Picture
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...
Picture

I think this was Ajisen Ramen? They were having a promotion. So it was pretty cheap!!!

Picture

This Yong Tao Foo was at Chinatown I think... Looks normal, but taste goooood!

Picture

This is my favourite at Astons!!

Picture

Light show!

Picture

Got invited to a birthday party, so walk walk until here... Memories, SAF Ferry Terminal

Picture

Of course I went for the Changi Jewel PREVIEW :)

Picture

This was released recently, third party MFI certified USB C to Lightning cable

Picture

Always forget to take picture of the buffet. One of my favourite buffet now. I think once a month or two will go. Didn't want to be traced, so I censored off some information

Picture

I had an 'accident' that ripped my left hand and left it covered and dripping blood. Of course, my website is children-friendly, so I post this nice photo. Just informing :/

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....
Published on
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!
Published on
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...
Published on
Picture
As always, take care and I’ll see you soon :)
Published on
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 :)
Published on
stevenching.com is now SSL and DNSSEC enabled.

Been trying very hard to get this two setup on my website. Finally, today, both were accomplished. Google recently was pushing websites without SSL down the search results, hopefully with these recent changes I've made. It will be back up on the search results again!

To tighten up the DNS, I also purchased Namecheap PremiumDNS, which provides 100% SLA, Anycast and of course DNSSEC support. Namecheap PremiumDNS is powered by Verisign
Picture
Picture
It is again almost the end of the year. It is time to start planning my New Year resolution for the upcoming year 2018. Have fun and stay safe during the festive season!

As always, take care and I'll see you soon!
Published on
Picture

Intel Core i7-7700HQ, 16GB RAM, 512GB NVMe SSD

Please check back soon... Still got much more to write about, but I'm too tired...
Dozing off - 2:04AM

Update!
Got a new laptop. HP Omen 15. Specification as below

Processor. Intel Core i7 7700HQ
Graphics: Nvidia GTX 1050 Ti 4GB
RAM: 16GB
Storage: 512GB NVMe M.2 SSD
Display: 15.6" 1080p IPS
Audio: Bang and Olufsen audio
Picture
I tried playing Fire Emblem Echoes on my 3DS and I loved it. So I bought the game and the Amiibo set :)
Picture
Next... BA NA NA!
Picture
Started playing Mobile Legends recently too. ** Thanks to Felicia **
Picture
Picture
Picture
As always, take care and I'll see you soon!