Monday, July 29, 2019

Broga Hill hiking

Broga Hill is a pretty famous hiking attraction nearby Kuala Lumpur. It is located in Semengih, at the border between Selangor and Negeri Sembilan.

It has a nice sunrise view, which you need to start your hiking latest by 6.30am in order to catch the sunrise timing. Since it is still dark when you start your trekking around that time, it is advisable to bring along a torch light. If you prefer to make use of your handphone LED light instead, make sure it is bright enough, and its battery is fully charged.

There are quite a lot of hikers there during weekends and public holidays. Parking is available in a palm oil plantation estate at the trek entrance, but the space is limited. If you are too late to arrive there, you might have difficulty finding a nice parking space. There will be people collecting parking fee from you, and they charge by number of headcounts in your car instead of per car basis. The rate is RM1.00 per person.

Not long after you walk on the trail, there will be another station with people collecting yet another RM1.00 per person from you as hiking fees. They also sell drinks and simple snacks to hikers, at a premium price compared with the price you can get in the shop in Semengih.

The trail is actually pretty wide and easy to walk. When we hiked up Broga Hill, there were days of raining before, so the trail is pretty muddy and a little bit slippery. Proper shoe for hiking is highly recommended to walk on this kind of trail condition.


There are 3 hill tops as viewpoints good for photo shooting. 3 of them are pretty close to each other. To reach the first hill top from the entrance, you will need about 45 minutes to an hour.

When you reached near to the first hill top, the slope is quite slant there, and you'll need to climb with the aid of rope already prepared for hikers there.


When you reached the hill top, enjoy the beautiful scene there.



After the third hill top, you can continue your trek to another viewpoint at Gunung Tok Wan, but the journey will easily take more than 2 hours to reach there. Most people set their endpoint at one of the Broga Hill hill tops, and there are also people who like to take the challenge to hike all the way up to Gunung Tok Wan.

After you walk down the hill and completed your hiking, there are some picnic plateau with tables and seats near the entrance for you to take your self-prepared breakfast. There is also a small children playground with some outdoor gymnasium facilities.

If you prefer to take your breakfast or lunch nearby, there are plenty of restaurants and food centers in the Broga Village located just about 1 kilometer away from Broga Hill.

At the end of the village, there is another famous attraction called Sak Dato Temple, which also attracted quite a lot of visitors during weekends and public holidays.

There are a number of hawkers and mobile stalls selling goods and foods near the entrance of the temple.

The temple is pretty large in area, with a nice botanical garden inside it. You can find statue of the 12 zodiac animals in the garden.

There is a place to spin for better prosperity and harmonious family in the temple which you should not miss it.


On top of a small hill next to the temple, you can find a very large statue of the Monkey King.


There is a nice suspension bridge connecting the temple to the hill, which you can walk over with it.


You can complete your day trip to Broga Hill, Broga Village and Sak Dato Temple, and returning to Kuala Lumpur right before dinner time. As such, hikers in Klang Valley can always plan for hiking up to Broga Hill as frequently as they like.


Wednesday, July 17, 2019

A family trip to Genting Highlands

It has been quite some times since my family last visited to Genting Highlands, and during the last school holiday we have visited it again to escape the heat.

On the way to Genting Highlands, we stopped by Batu Caves Temple.

Something new about this temple since our last visit is its colourful staircases, which apparently successful to attract more tourists to it.


The monkeys in Batu Caves are still around. They are, as usual, got used to the people around.



Driving uphill to Genting Highlands, I felt that the road is wider than before, and it is safer and easier to drive there.

We stayed at a new apartment called Geo 38 Residence, which has nice facilities including swimming pool, jacuzzi pool, fitness centre, sauna room, children playground, etc. all located at the same floor. The sauna room is not too big, and located inside the gents and women washrooms respectively, beside the swimming pool.

The main problem of this apartment is its location. It is hiding behind a new small township at mid-hill, at a lower ground than the Awana, which is quite some distance away from Genting Highlands at the hilltop and most of the visitor attractions uphill. You will need to travel by car to go anywhere out of the apartment, despite there is some food at the shops around within walking distance. If you stay in one of the hotels uphill in Genting Highlands, it will save you time, effort, petrol and parking fee to just walk around without the need of using a car.

If you are looking for vegetarian restaurant, there is one in Chin Swee Caves Temple, but crowded with people. There was a long queue outside, and the food waiting time exceed hours.

Genting Premium Outlets is a new attraction on top of Genting Highlands. There was a big crowd there. It was raining when we visited the place, and its top floor area is outdoor open concept, which has very limited shelter to the rain.

There is a food court in Genting Premium Outlets, which still using the troublesome temporary prepaid card method. We need to buy a prepaid card and load it with value, then use the card to buy food and drinks in the food court. Then, we need to return the card to get back the deposit money in it.

We visited the Happy Bee Farm, which is located quite near to Geo 38 Residence. After the visit, we found out that the road is one way. To return to the apartment, we need to go all the way down until we reached a roundabout, then only can go back uphill. This has tremendously lengthen the distance of travel.

We've also visited the Genting Strawberry Leisure Farms.


The entrance fee is not cheap, but it is quite worth to go inside and take photos.

We discovered that the strawberry farm only forms a small portion of the entire area. Majority of the farm is planted with flowers - a lot of colourful, beautiful flowers.


Our stay in Genting Highlands this time is only for 2 days 1 night. Since it is a family trip, we didn't enter into the casino. Outside the casino, we found that the shopping mall is still familiar, and the indoor theme park is also quite familiar.

Friday, June 21, 2019

My Realme C2 budget phone with Color OS 6

Realme is a brand of OPPO. Realme C2 is a decent budget phone which you can get at the price of slightly below RM400.

Realme C2 is a successor of C1. I would say it is an alternative option of C1, which both of them are identical in terms of actual performance, which in some areas C2 is slightly better than C1 and some other C1 is slightly better than C2.

The 2 main differences are that C2 is using Mediatek MT6762 Helio P22 (12 nm) chipset and running on Android 9 OS, while C1 is using Qualcomm SDM450 Snapdragon 450 (14 nm) chipset and running on Android 8.1 OS.

Its size of 6.1" is big enough to have a screen suitable for elderly people to use after the font size is configured to be the largest.

Although it is a budget phone, it has pretty well performance with just a little bit of speed lagging compared with those flagship phones for normal applications. Its back cover is pretty nice and modern looking too. Therefore, it is also very suitable for kids and for people that just need a decent phone.


The Realme C2 comes with 2 options of specification: one with 2GB RAM & 16GB storage, and another more expensive one with 3GB RAM & 32GB storage. Bear in mind that the actual usable storage for the 2/16GB option is only around 6GB. The other 10GB was already used by the system and OS. It has a dedicated slot for microSD and supports external storage up to 256GB.


This phone only supports 2.4GHz WiFi and does not support 5GHz WiFi. However, it does support dual SIM 4G LTE.

It has a normal 13MP f/2.2 main camera working together with a 2MP f/2.4 camera for depth sensor. At its front is a 5MP f/2.0 camera, not a good option for people who loves selfie, but still usable.

Its Color OS 6 has a Control Center with big icons, provides convenient and easy access particularly to elderly people.


Color OS 6 also comes with  the Android App Drawer, which you have a choice to switch it on or off.


It's home screen has a handy smart sidebar for quick access to your favourite apps, which you can access by swiping from the side of the screen. The apps listing in the sidebar is configurable. You are also given the option to switch it off if you don't want to use it.


The phone has all the essential features in Android 9. It has quite a number of security related functions.


The anti-harassment/fraud function is actually the call and/or SMS blocking function. It has interesting features such as blocking of one-ring incoming calls, which you might not find in other phones.


The Realme C2 4,000 mAh Li-Po battery can last for more than 1 day for normal use.

One thing I dislike is its battery saving feature, which I think is too over. It always kill a lot of background running processes and apps, which might stop automation app and widgets from working after a while.

A lot of tweaking needs to be done to find the way to let the automation app and widgets continue working at normal even when the phone is in sleep. Smart Power Saver will always kill them off. You need to use Custom Power Consumption Protection option, and manually configure each of the apps for them to be able to continue running in background, and to automatically start when the phone starts.


All in all, this is a nice phone with high performance/cost ratio. Most apps (including the not so resource demanding games) can run pretty well on it, also I found Facebook is quite slow (takes a few seconds) in launching up in it.


Thursday, May 30, 2019

How to implement select all function for multiple sets of checkbox items on the same webpage using simple JavaScript

When designing a webpage with list of checkbox items, it is common and useful to implement a Select All/None function so that the user can easily select/unselect all items with a single mouse click.

This can be done with a simple JavaScript function, even without the need of using jQuery.

Now, the challenge is, when you have multiple sets of checkbox items on the same webpage, how to implement a shared JavaScript function to handle the Select All/None action to each set of the items respectively, so that when the user Select All in one of the sets, the other sets will remain unaffected by the action?

Let's say, we have 3 sets of item as below:


You can use separate FORM for each of the sets, and use FORM ID to distinguish each of the FORM. Each FORM will need to handle their own SUBMIT action separately.

If the different sets are within the same FORM and share the same SUBMIT action, you can make use of CLASS name in their CHECKBOX elements to distinguish and separate out the sets.

Here is the JavaScript codes to implement the Select All/None function (click the image to enlarge it):



and below is the HTML BODY part of the sample webpage (click the image to enlarge it):


Set 1 is in separate FORM from Set 2 and Set 3 with a different FORM ID. Note that even though Set 1 and Set 2 are both using the same CHECKBOX CLASS name, their checkboxes will can be selected all/none separately.

Set 2 and Set 3 are within the same FORM. We can still separate them by using different CHECKBOX CLASS names.

Our simple checkAll JavaScript function accepts both the FORM ID (as 1st parameter) and CLASS NAME (as 2nd parameter), and making use of its 3rd parameter as toggle. In this way, you can use this checkAll function to handle all the sets on the same webpage.

You can create a HTML file to try it out. Since this is just an ordinary HTML with simple JavaScript, it can run even without any web server. Just create the HTML, and open it with your web browser to test it out.


Monday, May 13, 2019

How to choose a better maintenance free car battery

Car battery is a consumable product that will eventually fail over time. When we say a better car battery, the most important point is that it can last longer and degrade slower.

Below are some of the criteria to look for in selecting a better car battery.

1. Brand

The lifespan of battery is affected by high temperature. Certain brand of battery is manufactured for use in hot equatorial areas, such as Amaron, Exide, etc.

 

2. Size

The battery for normal passenger car is normally of NS40, NS60 or NS70. NS60 is more powerful than NS40, and NS70 is more powerful than NS60.

However, choosing the right size of battery that match with your car's alternator is important. If you car's alternator is generating smaller current and designed to work with NS40 type of battery, it is better for you to stick to NS40 or at most upgrade to NS60 but not beyond.

This is because if the charge supplied from alternator is not sufficient to make the battery fully charged, the battery will suffer premature death and therefore has a shorter life span.

In addition, bigger battery will cause heavier workload to the alternator, which might also reduce the life span of the alternator.

Regardless of the size of the battery, if the charging system is unstable, the battery will die fast.


3. Performance Rating

A battery number looks like this: 46B24L

The first 2 digit is its overall performance rating. The higher the better.

The alphabet after the first 2 digit is an indicator of the battery's width and height. This alphabet can be from A to H. Smaller alphabet indicates smaller width and height.

The number after the alphabet is its length in centimeter. For the battery number 46B24L, its length is 24cm.

The final alphabet indicates the position of its positive terminal. L means it is on the left, and R means it is on the right.



4. Amp Hour (AH)

Amp Hour is an indicator of how much energy is stored in a battery.

It is the energy a 12 volts battery can deliver continuously for 20 hours (C20) at 80°F (26.7°C) without falling below 10.5 volts.

The state when the battery's energy fall below 1.75 volts per cell (or 10.5 volts in a 6-cells 12 volts battery) is considered as "fully discharged".

There are several C-rating given to the batteries in relation to its AH, by giving the battery a specific load to discharge:
  • C3 means the battery will be fully discharged over a period of 3 hours.
  • C5 means the battery will be fully discharged over a period of 5 hours.
  • C8 means the battery will be fully discharged over a period of 8 hours.
  • C10 means the battery will be fully discharged over a period of 10 hours.
  • C20 means the battery will be fully discharged over a period of 20 hours.
  • C100 means the battery will be fully discharged over a period of 100 hours.
In normal practice, C20 is used to measure the AH of vehicle batteries.

The AH value among batteries with same size varies, and you should look for the one with higher AH value.


5. Reserve Capacity (RC)

RC is a general indicator of how long a fully charged new battery can continue to operate the vehicle's essential accessories when the alternator or fan belt fails.

It identifies how many minutes the battery can deliver a constant current of 25 amps at 80°F (26.7°C) without falling below the minimum voltage of 1.75 volts per cell in order to keep the vehicle running.

The higher the RC rating, the longer your vehicle can operate in the event your alternator or fan belt is faulty.


6. Cold Cranking Amps (CCA)

CCA is a rating used to define the battery's ability to start an engine in cold temperatures. It refers to the number of amps a 12-volt battery can deliver at 0°F (-17.8°C) for 30 seconds while maintaining a voltage of at least 7.2 volts.

The higher the CCA rating, the greater the starting power of the battery.

Battery starting power deteriorates as the battery ages. Therefore, a battery with higher starting power should give you more confidence over time.

Replacing a battery with one that has a lower CCA than the original may result in poor performance.


7. Price

Normally, the branded battery that suit with your car's alternator, with high performance rating, high AH, high RC and high CCA, will also come with a high price tag.

As such, you might want to strike a balance between the battery's price and its performance. Choose the above average battery, and it can probably last for at least 2 years.



Friday, May 3, 2019

DSN-less access to Microsoft SQL Server from Raspberry Pi Raspbian Stretch

Accessing Microsoft SQL Server (including SQL Server Express and Azure SQL Database) from Linux isn't that straightforward.

Microsoft does provide free connection library for Linux to access to SQL Server, but the library will not work for Raspbian OS in Raspberry Pi due to conflicting type definition with other essential library in the system.

Below is the easiest way I found out to access SQL Server from Raspberry Pi.

You need to enable and allow TCP/IP access to the SQL Server.

The SQL client to use is FreeTDS through unixODBC.

First of all, make sure the required FreeTDS and unixODBC components are installed in the Raspberry Pi:

sudo apt install freetds-bin freetds-dev tdsodbc unixodbc unixodbc-bin unixodbc-dev

If you are using Python to access the SQL Server, also need to install the following components:

sudo apt install python-pymssql python-pyodbc python-sqlalchemy

If you are using PHP to access the SQL Server, then need to install the following components:

sudo apt install php7.0-odbc

Since we are going to use the DSN-less method to access to the SQL Server, it is not necessary to configure the DSN settings. However, there is still minimal configuration needs to be made.

sudo nano /etc/odbc.ini

[FreeTDS]
Description = SQL Server
Driver = FreeTDS
Trace = No
TDS_Version = 7.0


For the TDS Version, if you are unsure about the version of your SQL Server, then set the TDS Version to 7.0.

You can set the TDS Version according to the following:

  • TDS Ver. 7.0 for SQL Server 7.0
  • TDS Ver. 7.1 for SQL Server 2000
  • TDS Ver. 7.2 for SQL Server 2005
  • TDS Ver. 7.3 for SQL Server 2008
  • TDS Ver. 7.4 for SQL Server 2012, 2014, 2016 or 2017
Lower TDS version has more compatibility but less feature in SQL command and less supported data types.

Another file you need to edit is odbcinst.ini.

sudo nano /etc/odbcinst.ini

[FreeTDS]
Description = FreeTDS unixODBC Driver
Driver = /usr/lib/arm-linux-gnueabihf/odbc/libtdsodbc.so
Setup =  /usr/lib/arm-linux-gnueabihf/odbc/libtdsS.so
fileusage=1
dontdlclose=1
UsageCount=1


Now you should be ready to access to your SQL Server from this Raspberry Pi.

Python test script:

import pyodbc

server = 'your_SQL_Server_IP_address'
database = 'your_database'
user = 'database_user'
password = 'database_user_password'
query = 'SELECT * FROM INFORMATION_SCHEMA.TABLES;'   # your SQL query

conn = pyodbc.connect('DRIVER={FreeTDS};SERVER='+server+';PORT=1433;DATABASE='+database+';UID='+user+';PWD='+password+';')
cursor = conn.cursor()
cursor.execute(query)
for row in cursor.fetchall():
        print row


PHP test script:

$server = 'your_SQL_Server_IP_address';
$database = 'your_database';
$user = 'database_user';
$password = 'database_user_password';
$query = 'SELECT * FROM INFORMATION_SCHEMA.TABLES;';   // your SQL query


if ($db = odbc_connect('DRIVER={FreeTDS};SERVER='.$server.';PORT=1433;DATABASE='.$database.';',$user,$password)) {
        $res = odbc_exec($db, $query);

        while( $row = odbc_fetch_array($res) ) {
                print_r($row);
        }

        odbc_close($db);
}





Monday, April 29, 2019

dnGrep - Free GUI "grep" and "sed" tool for Windows

If you are familiar with UNIX/Linux operating system, you must be using a lot of "grep" command to search for string inside text files, and "sed" command to find and replace string in the text files.

There are identical command in Windows such as "find", "findstr" or even the PowerShell "Select-String", but they are just not as easy to use as "grep" in UNIX/Linux.

There are also GUI tools for Windows which aim to perform the "grep" and "sed" function, majority of the good ones need you to pay for it, except dnGrep which is licensed under GNU GPL v2 and is therefore free for use.


dnGrep is indeed a very powerful find and/or replace tool for Windows. It can not only search for text or keywords inside the target file(s), but also able to perform a text replace action in target text file(s).

Beside normal text files, it is also able to search inside MS Word documents and PDF files. It can also search inside archived file.

You can perform your search by plain text input, or XPath query language, or regular expression (regex), or even phonetic.

You can also specify to search for files in a folder (and sub-folders) within a particular date range in which they are created or last modified.

The search result is displayed with yellow background highlight, together with the line number in the target document. Double click on the search result will open up the target document for further action.

The beauty of its replace function is that, the replace action can be undone.

You can also create "bookmarks" to store frequently used search keywords and conditions.

dnGrep is lightweight, fast in action, powerful and free for use. It is an essential 3-party tool in your Windows computers.

Click here to go to the download page of dnGrep.

Monday, April 22, 2019

My UGREEN LP144 gravity handphone holder for car CD/DVD slot

Handphone holder (a.k.a. phone cradle) is a very handy and useful gadget when we want to hold our phone in our car at eye level.

One of the common use case is when we use our handphone for navigation on Google Map, or Waze, or some other similar navigation apps.

There are generally 5 types of handphone holders available in the market:

  • CD/DVD player slot holding type
  • Air-cond vent fin clipping type
  • Suction mount type which attached onto the windscreen
  • Standing type putting on top of the car front panel
  • Rearview mirror attaching type
I would recommend the first 2 types, because they can take advantage of your car aircond blowing to cool down your phone. If you attach your phone onto the windscreen or put it on top of the car front panel, the sunlight will heat it up to a high temperature, which is unfavourable to the phone and its Li-ion battery.

Depends on the design of your car front panel, you can choose the more popular air-cond vent fin clipping type, or the CD/DVD player slot holding type.

My UGREEN LP144  gravity handphone holder of car CD/DVD slot holding type costs at RM20++ and has a simple packaging.


This is how it looks like (front and back).

 
As you can see from the picture, it has 3 rubber pads to be inserted into the car CD/DVD slot to hold it firmly. The big button at the back of the center rubber pad is used to align the rubber pads for insertion and removal.

This handphone holder can still be used even when there is CD/DVD inside the player. It would not affect the CD/DVD playing.

I have chosen it because of its special 3 arms design, whereby when the lower arm is pulled down, the left and right arms will contract. When you slot in your phone, the weight of the phone will pull down the lower arm, forming a strong grip by the side arms.

As such, it can hold your phone firmly, and you don't need to be worried about the phone fall off the holder when you are driving on bumpy road.

This holder can fit for handphones with width up to about 8.3cm. If the phone is too large (for example, the Huawei Mate 20 X with width of 8.54cm), then might not be able to fit in.

For my car, the phone is sitting at the position just nice to be cooled by the air-cond behind it.


The only thing I dislike about this product is that, it will produce rattling sound when you are driving on uneven road, and there is no phone put on it. This is caused by its plastic arms knocking onto the center part and producing the noise. Anyhow, this problem does not exist when there is a phone put on it.

If the manufacturer can enhance its design by putting a layer of thin soft sponge at the knocking points which produces the noise, then it will be a perfect product.





Thursday, April 18, 2019

Free database clients able to access multiple DBMS - DBeaver CE & DBSL Database Browser

Nowadays it is not unusual for IT personnel to deal with multiple databases at the same time. There is also a high chance of the need to deal with databases in different database management system (DBMS).

It will be nice to have a universal or multi-platform GUI database client as a single tool for accessing databases in different DBMS. If you are searching for this kind of database tool, and prefer for free solution, I would recommend 2 of them.

DBeaver Community Edition is a more popular one, which can run in Windows, Linux and Mac OS. It is a beast with extensive number of features to view and manage the databases.


The Community Edition supports a vast number of SQL relational databases, while the non-free Enterprise Edition supports additional NoSQL databases including Apache Cassandra, Apache Hive, Hadoop, MongoDB, InfluxDB, Redis, etc.

The Community Edition itself can open and manage most (if not all) of the famous DBMS such as Azure SQL server, IBM DB2, Firebird/Interbase, Informix, Ingres, MySQL/MariaDB, SAP MaxDB, Oracle, PostgreSQL, Microsoft SQL server, SQLite, Sybase, Teradata, etc.

It also supports file-based database like DBF, Microsoft Access, and even CSV file.

With ODBC connection, it supports all databases that is able to be connected via ODBC.


You can open multiple databases and multiple tables at the same time.

It has complete set of table management functions, including import/export and even generating mock data for testing or demo purpose.


If the table relationship is well defined in the database schema, DBeaver can also display the ER-diagram at a mouse click.


DBeaver, even though with the free Community Edition, has everything you need to work with the databases.

But sometimes we just need a simple, lightweight, straightforward, and preferably portable (no installation needed) database tool. Database Browser by DB Software Laboratory will be the one that suit for this purpose. It only run in Windows, either as installed application or as portable application.

Database Browser is very easy to use, and mainly used to view and/or edit the database content. The flow is simple: you select a database, it will list down all the tables. You select a table, it will list out the records in the table.


Database Browser supports famous DBMS such as Oracle, Microsoft SQL server, MySQL/MariaDB, PostgreSQL, Interbase/Firebird, OleDB, SQLite, BDE, MongoDB, etc.

With ODBC connection, it supports all databases that is able to be connected via ODBC.

The list is not as extensive as DBeaver, but is still comparatively more than most other database tool in the market.


It can also show the ER diagram in its SQL Query Builder function. The SQL Query Builder works in a way with GUI interface similar to Microsoft Access.


It supports data import from Excel file, and export to CSV, TAB, Excel, RTF or HTML files.

If you just want to browse or edit the database content, Database Browser will be a handy tool for you.

If you want to deal with views, indexes, stored procedures, sequences, triggers, and even database parameter fine tuning, then you will need DBeaver.

Wednesday, April 17, 2019

Get additional online purchases cashback through Shopback, including Grab calling

Nowadays online merchants and/or e-commerce websites tend to give rebates in the form of special discount, free shipping, coupons, vouchers, cashback, etc. to maintain their attractiveness in having customers purchasing with them.

In addition, if you make payment with certain cashback credit cards for your purchases, you will also receive cashback from the credit card issuing bank as well. During certain debit card cashback campaign, you can also receive cashback by using such debit card too.

Now, you can get another layer of additional cashback, if you perform your online purchases through Shopback.

Shopback has been around for quite some times, and has grown into quite a successful online affiliate marketing portal. It will give you cashback if you access the e-commerce websites from the Shopback website or mobile app (instead of accessing directly to the e-commerce websites or their mobile apps), and made a confirmed purchase within a tracking timeframe.

Many has joint Shopback and enjoy the additional cashback from their e-commerce spending. If you have not joint the bandwagon, it is never too late to create a free Shopback account now. You can get RM5 sign-up cashback if you join by clicking this link to access to Shopback website, and click on the "Claim Your Bonus" there.

After that, continue to click here to go to Shopback mobile app download page to download its app. Note that for certain e-commerce websites including Lazada, 11street, Shopee, etc., you can only get your cashback from Shopback for online purchases done in mobile app, but not in their e-commerce website. (Previously, purchases made in their website were count for Shopback cashback, but things have already changed now.)


For some other e-commerce platform such as Taobao, you can still get Shopback cashback even though you make your purchase in their website.

Beside online e-commerce shopping, you can also get Shopback cashback from Grab calling by opening Shopback mobile app first, then open Grab mobile app from within the Shopback app.

To ensure a successful Shopback cashback for Grab:
  • Book the Grab via Shopback mobile app only.
  • Do not edit the Notes to driver and ensure that there is a code similar to **29437185SB003** under the Notes.
  • Book only JustGrab, GrabCar and GrabShare rides. Cashback is not eligible on GrabTaxi rides.
  • Ensure no existing trips before clicking through Shopback.
  • Click through Shopback again for every ride.
  • No cancellation or incomplete trip.
In fact, inside Shopback app, there is an updated list of Grab valid coupons, promo codes and offers for your easy reference, so that you won't miss out using those deals with Grab.


You can also use Shopback to get additional cashback from food delivery service with Foodpanda, Honestbee, DeliverEat, Eatigo, etc.


and also from hotel and flight booking with Agoda, Booking.com, Expedia, Klook, etc.


and also from mobile prepaid plan top-up using online reload service from Lazada, 11street, Qoo10, etc.



and also from online ticketing with StubHub, buying concert, festival, event tickets with them.


even subscribing to new broadband service with Unifi, Maxis, Time, etc. and this Shopback cashback amount can be up to several hundred ringgit.


As such, whenever you want to make online purchase, just access to Shopback mobile app and use it to go to the targeted m-commerce app, or access to Shopback web portal and use the link in the website to go to the targeted e-commerce website, you will get Shopback cashback from your confirmed purchases.

The cashback will be accumulated in your Shopback account, which you can then withdraw to your own bank account as real cash.



Monday, April 15, 2019

T-Max full glue 3D tempered glass for curved edge display screen handphone

If you have a handphone with dual curved edge display screen, such as the Samsung Galaxy series of Note 8, Note 9, S8, S8 Plus, S9, S9 Plus, ... or the Huawei Mate and P series of 9 Pro, 10 Pro, 20 Pro, 30 Pro, ... or some other similar phones, you will need to be more cautious in selecting a screen protector for your handphone.

Due to the curve nature of the screen, curved edge tempered glass is a much better choice to fit for the phone than plastic screen protector.

Certain curved edge tempered glass only has adhesive at the curved surface, leaving the flat surface of the screen non-sticky. This will greatly reduce the touch screen sensitivity and is a big no-no. It will also cause "rainbow effect" which is a big distraction to screen viewing.

Certain tempered glass tends to attract dirt and dust at its edge, which is also a kind of annoyance.

Certain tempered glass when applied, would not fit well with the phone casing.

I find the T-Max full glue tempered glass for curved edge display screen handphone, when applied correctly, would not have these common problems and is good to use.


This tempered glass is to be applied with adhesive for full coverage on the flat and curve surfaces. The liquid adhesive needs to be dried with UV light. A UV lamp is included in the package.

It fits seamlessly on the phone, fits well with the phone casing, has a crystal clear display, does not affect touch sensitivity, and the phone's on screen fingerprint scanner can function well.


It also has a layer of smooth oleophobic coating, which will repel water droplets and reduce fingerprint left on the screen.

Installing this T-Max tempered glass on the phone will need some skill. You can watch the video below to see how it is done.



Friday, April 12, 2019

Format 64GB SD card to FAT32 with AOMEI Partition Assistant

Most Android based devices such as CCTV, dashcam, etc. indicate that they only support SD card up to 32GB only.

This is simply because SD card of 32GB and below is pre-formatted with FAT32 partition which is accessible by the Android system. Microsoft Windows has put itself a limitation to be able to format a storage device into FAT32 partition for up to 32GB only. It will force you to format storage device above 32GB (eg. 64GB, 128GB, ...) with either exFAT or NTFS.

However, most Android based devices don't support exFAT and NTFS, therefore unable to access your storage device with such partition format.

This does not mean that you cannot use storage device of 64GB and above in those Android based devices, because you can still format them into FAT32 by using 3rd party tool such as the free AOMEI Partition Assistant Standard Edition.

The process to convert exFAT partition into FAT32 with AOMEI Partition Assistant Standard Edition is pretty simple.

You just need to right click on the existing partition, select Format Partition from the menu, set the File System as FAT32, click OK, then click Apply which is the first menu bar option on top.


With this, your 64GB or 128GB SD card is very likely to be able to work without problem in those Android based devices.

Click here to download the AOMEI Partition Assistant Standard Edition software for free. It is free for both personal and commercial use.

You might be also interested to read about:


Friday, April 5, 2019

Fix the "need new app to open ms-wpc" message keeps on pop-up problem in Windows 10

If you are facing a problem with Windows 10 with a pop-up message as below that keeps on prompting even though you continuously clicked on the OK button, here is the fix.

Right click on the Windows icon on the left of taskbar, and run Windows PowerShell as admin.


Copy and paste the following command to run in the Windows PowerShell admin console.

Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

Hopefully after this, your problem will be fixed.

Wednesday, March 27, 2019

EmEditor - lightweight text editor able to open large file and also manipulate CSV

Recently, I was looking for a text editor that is capable to open and edit an SQL dump as large as 2.7 GB, and I only found EmEditor to be the workable one. Most of the well-known text editors for Windows failed to open the file. Several managed to open, but became extremely slow and easy to crash during navigation or editing.

EmEditor by Emurasoft has been around since 1997. Its user interface is still Windows 95 alike, and not that impressive at all. It seems to be powerful, with quite a lot of functions, but looking for the function will probably need some times searching in its menu items. It has most of the basic function of a modern text editor, including syntax highlighting for programming languages and scripts.

Due to its old fashion user interface, you probably won't use EmEditor for normal text editing or program coding. However, EmEditor has 2 unique features that really make a difference from other editors. These 2 superb features are:

  • ability to open and edit large text file, as big as 248 GB or 2.1 billion lines!
  • ability to manipulate CSV file with nice tabulation of the data into columns.
If you need a lightweight editor to open text file with millions of line, you are very likely end up with EmEditor. EmEditor is able to open such large file without consuming much memory or taking up much CPU resources.

Example of those large text files including but not limited to:
  • SQL dump with data
  • Log file
  • Large dataset in CSV or XML
EmEditor is pretty fast in loading the large text file. If the file is really large and over a gigabit, it still needs some times to fully load the file, but not that long.

Sequential moving in between text is seamless and fast, but jumping will take a longer time. Editing character by character is also fast, but text replacement with highlighting and cut will also take a longer time.

 

EmEditor has function to split a file into multiple smaller files, and also the reverse function to combine several files into one.

This is handy in the situation whereby you need to search for a portion of the large file, and export it out for further manipulation using other tools. Another situation is to split a large chunk of SQL dump into smaller files, so that the SQL server can import by handling smaller files.

EmEditor has powerful CSV manipulation functions similar to spreadsheet such as MS Excel or LibreOffice Calc. Compared with those spreadsheet programs, EmEditor is pretty lightweight and faster to load up.

It can tabulate the CSV data into columns, insert/delete a column, perform sorting, perform filtering, convert the CSV separator, etc.


Because of these 2 unique functions, I find EmEditor a handy tools for IT person, particularly for dealing with large text files involving dataset or log file.

Friday, March 22, 2019

Cellular frequency bands allocated to Malaysia mobile network operators

The telecommunication spectrum assignment in Malaysia is handled by Malaysian Communications and Multimedia Commission (MCMC).

Mobile network operators (MNOs) need to pay multi-million ringgit to MCMC in order to get the spectrum assignment in specific frequency band, so that they can provide cellular mobile service to customers with their assigned frequency bands.

The customers' device need to be able to communicate on the same band with the cellular transmitter at the nearby telco tower of the mobile service provider in order to establish a connection for voice and data transmission.

SIRIM is the certification body who will test and certify the mobile devices sold in the local market are complying to the spectrum used in Malaysia.

Current allocated frequency bands to MNOs in Malaysia are as below. Note that the mobile operator might not make use of all of their allocated frequency bands. In fact, most of them are not using the 900MHz band for 2G GSM.


Lower frequency means longer wavelength. This will have better in-house penetration and also able to reach a longer distance, but the bandwidth is lower and connection speed is slower.

Higher frequency means shorter wavelength. This can carry more bandwidth and also provide faster connection speed, at the trade-off of poorer in-house penetration and shorter coverage distance.

LTE frequency bands are numbered according to either the FDD specification or the TDD specification. For example, FDD Band 5 used by Unifi Mobile has a low frequency of 850MHz, therefore the LTE connection speed in this band is generally slower than those in FDD Band 3 (1800MHz).

Android mobile device users can install an app called LTE Discovery by Simply Advanced to have realtime information about which LTE band the device is connected to, as well as the signal strength, cellular tower position, and many other related information.

Tourists bringing mobile phone and/or tablet to Malaysia can check the table above with their own device specification on 2G/3G/4G to ensure that their device can function well in Malaysia, either using roaming or a SIM card purchased in Malaysia from one of the MNOs or MVNOs.

Hint: Click on the "Older Posts" link to continue reading, or click here for a listing of all my past 3 months articles.