Saturday, August 24, 2019

WhatsApp tips: how to make the message text become bold, italics, strike through and/or monospace

Feeling bored with the plain WhatsApp text and want to make it livelier with bold, italics, strike through and/or monospace?

In fact, this is a built-in feature inside WhatsApp.

To make bold effect, put an asterisk (*) at both side of the text that you want to bold.

The make italics effect, put an underscore (_) at both side of the text that you want to italics.

The make strike through effect, put a tilde  (~) at both side of the text that you want to strike through.


These formatting effect is not only can be used for alphanumeric characters, but also can be used for Chinese characters as well.

You can also combine the effects onto the same text, such as bold and italics.

There is another formatting which change the text's font into monospace. But the effect is not so obvious, and it has no effect on Chinese characters.

To change the text into monospace font, put three backticks (`) at both side of the text.


It would be nice if WhatsApp can include the underline effect as well. But currently, I am unaware of any support from WhatsApp to underline its message text.


Friday, August 23, 2019

AirAsia BigPay e-wallet with prepaid Mastercard

BigPay is an e-wallet operated by AirAsia. It has a large stored-value capacity of up to RM10,000.

BigPay is especially beneficial to frequent travelers who fly with AirAsia flights. You can not only save money on your flight booking, and also save money when you spend in foreign currency.

You can also make use of the BigPay Mastercard to withdraw money from ATM machine overseas, so you need not to carry too much bank notes with you.

You can download the BigPay mobile app from Google Play Store and/or Apple iTune App Store.

One of the common problems faced by e-wallets is their acceptance coverage by merchant outlets, which takes a lot of time and effort to build up the network. If the e-wallet is not commonly accepted as payment method in most of the shops, it will in turn face difficulty in getting users to use it. This is a chicken and egg problem.

BigPay smartly overcome this problem by partnering with Mastercard. Each BigPay account will be issued with a Mastercard prepaid card, which linked with the BigPay e-wallet, and can be used in all credit card terminals that accept Mastercard. In this way, BigPay leverages on the huge network of Mastercard and can be used in all of the shops that accept Mastercard payment. What a brilliant idea!


The BigPay Mastercard is a prepaid card which will deduct money from your BigPay e-wallet when you use it. It supports the traditional magnetic swipe (for use in overseas when the terminal only support this kind of card payment method), smart chip with 6-digit PIN for payment confirmation, and also PayPass contactless payment.

You can also make use of this BigPay Mastercard to withdraw money from your e-wallet at the ATM machine of partnering banks, both in Malaysia and overseas. Withdrawal of money from BigPay using local ATM will cost RM6.00 per transaction, and withdrawal from foreign ATM will cost RM10.00 per transaction or 2% of the withdrawal amount, whichever is higher.

The joining fee to become a BigPay member is RM20. Anyhow, this RM20 will be credited back into your e-wallet and made available for use. So, technically speaking, there is no cost to join BigPay. It just needs an initial loading of RM20 into your e-wallet.

Among the advantages of using BigPay are:
  • Option to use mobile app and QR code for payment, or to use the physical Mastercard.
  • Worldwide accepted and can be used at any terminal or online platform that accepts Mastercard.
  • No annual fee for both the e-wallet and the Mastercard.
  • No annual government SST as it is a prepaid card. All credit cards and debit cards issued in Malaysia are subject to SST annually.
  • Money can be withdrawn using ATM machine, locally and also internationally.
  • When making payment or cash withdrawal in foreign currency, there is no expensive surcharge to the currency conversion rate. The conversion rate is very close to the one published in XE.com.
  • Collect AirAsia BIG Points when you spend with BigPay.
  • Reload your e-wallet with cash rebate credit cards and enjoy your cash rebate with those cards.
  • Earn referral reward of RM10 per new account activation using your unique referral code.
Note that the first time you use your physical BigPay Mastercard, you need to key-in your PIN at the terminal. After that, you can choose to use the contactless payment method without the need to enter your PIN.

Below is the product disclosure sheet of BigPay (click image to enlarge).

On top of the above advantages, as a BigPay member, you can also enjoy the following benefits when buying air tickets from AirAsia:
  • No processing fee. (AirAsia will charge processing fee if you pay with other brand of credit card or debit card)
  • RM2 discount per pre-booked item on flight baggage and food.
  • Early access to AirAsia deals, including the free air tickets offering.
  • Link your BigPay account with your AirAsia BIG Loyalty account to collect your BIG Points whenever you use BigPay, as well as easily check the amount of your BIG Points from within the BigPay mobile app.
To become a BigPay member and receive your free Mastercard, you need to install the BigPay mobile app into your smartphone.

Your phone number will be verified by the BigPay app using SMS. After the verification, you will need to provide your personal information.


IMPORTANT: Make sure to key-in IGR22QDU1C into the referral/promotion code column to get RM10 loaded into your e-wallet. If you missed this step on the above page, you will miss your opportunity to receive the RM10 from BigPay as welcome reward.

After that, you will need to take a photo of your identity card or passport, followed by a selfie photo of yourself. This procedure is a requirement from Malaysia government to all e-wallet issuers. You might have the similar experience if you have registered yourself to use other e-wallets in Malaysia. It is a bit tedious but is a strict requirement during the process to have an e-wallet.


You are also required to load RM20 into your BigPay e-wallet at the end of the process. This can be done by using online transfer from your bank account, debit card or credit card.

If you done the above process correctly, you will have RM30 (RM10 from referral code, RM20 from initial loading) inside your e-wallet by the time you receive your BigPay Mastercard by post.

Tips: if you have Touch n Go e-wallet, you can configure your Touch n Go e-wallet to be reloaded using this BigPay Mastercard.

With the BigPay mobile app, you can use it to:
  • Transfer money and receive money with your family and friends (who are other BigPay users).
  • Split bill with them.
  • Use QR code at merchant terminal for payment.
  • Check your AirAsia BIG Points.
  • Keep track on your e-wallet money usage with the built-in Analytics function.
  • (upcoming function) transfer money to local banks and also international banks.
  • Share out your BigPay referral code and receive RM10 from each of your successful referrals.
I also highly recommend you to also install the AirAsia BIG Loyalty mobile app from Google Play Store and/or Apple iTune App Store.

The AirAsia BIG Loyalty app enables you to manage your BIG Points and also allows you to redeem your points. You can also perform BIG Points exchange with other partnering loyalty programs here.

Tips: One way to earn AirAsia BIG Points without spending your money, and in a larger amount, is through CIMB AirAsia Savers account.

Monday, August 12, 2019

Astonish 750ml Premium Edition Orange Grove Multi-purpose Cleaner

I was introduced with this Astonish 750ml Premium Edition Orange Grove Multi-purpose Cleaner to remove grease and oil in kitchen area and anywhere throughout  the home, particularly on the surface of owen, hood, hob, fan blades, etc.

 

It is really effective and able to clean up the oily and dirty surface within seconds with the spray and wipe action.

At the cost of around RM26, it is considered reasonably priced.

In addition, this product also claimed to be environmental friendly and vegan society approved.

Wednesday, July 31, 2019

Hush Puppies Apparel warehouse sale 2019 @ Puchong

Redina Malaysia Sdn Bhd located at Jalan TPK 2/3, Taman Perindustrian Kinrara, Puchong, Selangor is having the Hush Puppies Apparel warehouse sale now, offering discount as high as 80%!

As usual, they have put up a big red Hugh Puppies balloon on top of the air of the location for you to locate their direction when you are near to them. You will also see banners along the roadside of Bukit Jalil Highway (a.k.a. Puchong-Sungai Besi Highway or Federal Route 217).

This promotion started on 26 July 2019 and will end on 4 August 2019. The opening time is 10am - 7pm daily.


If you pay using your Public Bank credit card, you will immediately get an additional 5% discount for all the items in your receipt.

Items on sale are apparels for men, women, children and todders, which include Hush Puppies shirts, casualwears, pants, innerwears, underwears, socks, etc. There are also accessories, bags, luggage, stationeries, bed & bath, etc.

I found that there are less items on sale this round, compared with previous rounds of Hush Puppies apparel warehouse sale.

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.



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