Friday 31 August 2012

How important is grooming in professional life?

How important is grooming? Do people really judge you by the way you dress and carry yourself? You know why people say, “Don’t judge a book by its cover”? Because most people do.

What I am getting at is not that one should only wear expensive clothes. But wearing one’s best professional attire to work is expected. If you are serious about your career then you need to take personal grooming a little more seriously. Here are some fun tips which will not only get heads to turn, but will also add an extra edge to your confidence and enthusiasm.


Walking to office in flip-flops, crocs or worn-out footwear is not acceptable, no matter what designation you hold. If you are not comfortable in professional shoes and stilettos all day, carry a change of flipflops but don’t be caught as though you just got out of bed and into work.


If you don’t have a formal wardrobe, it’s time you made one. Investing in your attire is an investment in your career. Upgrade your style as you move up. Don’t buy by what your designation demands; always keep your standards three rungs above your current position. No matter what, your wardrobe must include smart formals for daily wear, at least one smart formal for party wear and one smart formal for a board meeting. You may not see the need today, but when the day arrives you may not have the time, money or accessibility to dress up for the occasion.


Accessories add zing to your appearance. Cuff links over button-up sleeves, earrings to match your clothes, a branded watch, neatly painted nails, a scarf to go with your shirt, all add an extra spark to your dressing and make you stand out.


Investing in a deodorant, perfume and even some tic tac is a good way to keep yourself smelling fresh. There is no greater turn off than body odour and bad breath.

Where I have found slack in personal grooming, I have also found a slack in self confidence. When people take their appearance and their grooming seriously, it shows up in their attitude, and reflects in the way they talk and the way they think about their goals. Don’t let your designation decide your dressing for you; let your grooming be led by your vision. Put your best foot forward in everything you do, including your appearance.

Thursday 30 August 2012

7 Questions to Ask in Your Appraisal Meeting

April is the time most of us get a reality check (thanks to the appraisals). While many focus their energies on convincing their boss that they deserve a promotion/ salary hike, they often forget to ask some very crucial questions. Keeping in mind the purpose of the whole activity, we give you a list of seven questions you must ask during your performance review meeting.

1. What can I do to improve my performance rating?

Often a question ignored by those with a ME (Meets Expectations) rating, this one is actually for everyone with a rating below DE (Demonstrates Excellence). Just because you meet or even exceed expectations doesn’t mean that there isn’t any room for improvement. Who knows, your boss’ advice might just help you get that elusive excellent rating the next time around.

2. How can I increase my contribution to this department/ company?

As an employee, it is vital that your job profile contributes to the company’s progress. At no point do you want your boss to find you dispensable and god forbid, hand you the pink slip. Showing interest in the company’s advancement will definitely gain you brownie points.

3. What would make me eligible for XYZ post/ a promotion?

This is one of the most important questions to ask during your performance review meeting. Keeping your nose to the grindstone all year long only to have someone else swoop in and take that promotion can’t feel good. Make sure you know what to focus your energies on to achieve that goal. Do what is expected of you and may be a little more and you can be sure of that promotion!

4. Can I be enrolled for XYZ training?

It’s always good to improve your skill set; and why not have the company pay for it? Whether it’s a company training programme or a certified course you want to do, now’s the best time to ask your boss if it’s possible for him to arrange for it. Just make sure the course will actually improve your performance at work.

5. How can I assist others in the team?

If you find your appraisal meeting going rather well and you are sure of a decent rating, it would be a good idea to suggest assisting others of the team. Bosses are always on the lookout for team players to assume mentoring roles. This move might just help you get promoted faster.

6. What are my goals for the next year?

The point of an appraisal is not just to review your past performance but also to set goals for the future. Apart from asking your boss what your goals will be, also ask for clarity on targets as well as how he wants you to go about achieving them.

7. What salary hike can one expect with this rating?

Aah! Finally that questions everyone wants the answer to. Try to be tactful when asking this question as you don’t want your boss to think that the salary is the only reason you are interested in the appraisal. Keep the question more generic by asking what kind of percentage-wise hike is the company offering to employees with such a rating.

5 ways to handle workload at your workplace

With bigger workloads, tighter deadlines and more pressure, the temptation to pack in as many tasks as possible is hard to resist. But juggling too many things at once can lead to more mistakes and stress, along with loss of productivity. Here are few tips to multitask efficiently at the workplace:

1. Get Organized

Make a list of the things that you need to accomplish. With so much technology at one’s fingertips, it’s become easier. One should use these gadgets to schedule tasks.

2. Prioritize your Tasks

List the tasks you need to get done and classify them in order of importance, impending deadlines and the like. Also learn to recognise when a particular task is so important that you need to put multitasking on hold and give it your undivided attention.

3. Don’t Procrastinate

As your responsibilities increase, you need to resist procrastination. If you have an agenda, plan early and address it as soon as possible. Otherwise if you keep tasks on hold, they tend to pile up, affecting the quality of your work.

4. Eliminate Distractions

Resist the urge to peek at your blinking smartphone or answering your email when you’re working on something. Keep those tasks for later and don’t let them waste your time.

5. Don’t Overcommit

Multitasking has its advantages, but don’t take on too much or set yourself unrealistic targets. It’s all very well to impress your bosses but don’t end up becoming a victim of burnout.

Interview Tips: How to get prepared for an interview?

If you are going for an interview. I think you must read this article.

Before you walk in

1) Go through the job profile: Evaluate the job description to know what the employer actually wants. Then write a cover letter highlighting how your strengths and skills ensure that you are the best person for the job.

2) Research the employer: Be up to date on the firm’s products, latest achievements and future goals so that you don’t trip when the recruiters ask you tricky questions. This will also prove how keen you are to join the company.

3) Smarten your resume: Make the resume concise and honest, and ensure that you have proof to support what you mention. Avoid writing mundane skills or cliches like ‘hard working’. Be specific about your competencies and achievements and use positive words to turn flaws into virtues.

4) Spruce up your appearance: Dress conservatively and stick to sober colors like blue, grey and beige. Groom your hair and go easy on accessories, jewellery and perfume. Polish footwear well. Women should avoid teetering heels; two inches makes a subtle statement.

During the interview

1) Perfect posture: Walk confidently, sit straight and don’t fidget. Rest your hands lightly on the armrest or on your knees. Keep your feet together planted firmly on the ground. If you want to change posture, cross your ankles, do not put one leg over another.

2) Pay attention: Keep the interview revolving around your professional life. Answer only what you have been asked and avoid rambling. If the interviewer asks you a question you don’t know much about, admit it. Avoid controversial topics and never badmouth anyone.

3) Attitude matters: The recruiters may deliberately try to rile or provoke you to check how you react in a stressful environment, so keep a cool head. If you believe that a factual answer is right but the interviewer is questioning its validity, be assertive, not argumentative.

4) Be inquisitive: Asking questions proves that you are interested in the job and willing to work there for the long run. So, find out the responsibilities that you will be handling, major projects that can come up and other things you will be permitted to do.

Favorite questions

The questions that the interviewer asks will depend on the job profile, but some are asked across the board. Besides, you need to be prepared with your own set of queries to understand exactly what the job and the company require of you.

5 questions you should ask:

  1. What will be my key responsibilities?
  2. What is the potential for promotion
  3. What is the type of on-the-job training that you provide?
  4. What results do you expect from me and within what time frame?
  5. What resources/team would I have at my disposal? To whom will I report?
Most tricky question: What’s your salary expectation?

Wait for the interviewer to ask this question and then mention a range. If he quotes a number you don’t agree with, ask if you could discuss this after you have seen the compensation break-up.

10 questions you are likely to be asked:

  1. Why did you leave your last job?
  2. Where do you see yourself five years from now?
  3. What can you tell us about yourself?
  4. Why should we hire you?
  5. What has been your most important accomplishment?
  6. What are your outside interests?
  7. How do you handle failure?
  8. How did you overcome your toughest professional problem?
  9. What is your greatest weakness/strength?
  10. Why do you want to work here?

Wednesday 29 August 2012

Phonegap on Blackberry: 2 Programming Tips

I am creating an application using phonegap which will run on blackberry, android and iPhone. For now, I am just trying to run it on blackberry. I found two things important which I thought I must share. Maybe someone can give me better idea and more tips!!

1. Add type and order of the transport methods to be used by blackberry device in the config file.

<rim:connection timeout="25000">

2. Always use deviceready event listener to check connection on the blackberry device

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() 

function checkConnection() 
var networkState =;
var states = {};
states[Connection.UNKNOWN]  = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI]     = 'WiFi connection';
states[Connection.CELL_2G]  = 'Cell 2G connection';
states[Connection.CELL_3G]  = 'Cell 3G connection';
states[Connection.CELL_4G]  = 'Cell 4G connection';
states[Connection.NONE]     = 'No network connection';
if(states[networkState]=="No network connection")
alert("No Connection Available");;

Note: While running your code on web browser, you need to comment the above code as deviceready event listener is meant only for device not web browser. It may throw a javascript error while running on web browser.

How to use FindComponent function in Delphi XE2?

Following is the code snippet which will show you how to use FindComponent in Delphi XE2?

procedure TClass1.UseFindComponent(FieldName : string);
  aComponent :TComponent;
   aComponent := Form1.FindComponent(FieldName);
   if aComponent <> nil then
     if (aComponent IS TEdit) then
        (aComponent AS TEdit).Clear;
        (aComponent AS TEdit).Enabled := false;
        (aComponent AS TEdit).Tag := 0;
    on E : Exception do
      ShowMessage('Error occurred in function UseFindComponent: ' + E.Message);

Explanation: FindComponent function is used to find out the components present on a given form. In the above code, UseFindComponent function accepts the name of a component (it may be the name of textfield, button, dropdown etc.). Then it finds that component on Form1. If that component is a text field, it sets the properties (like Clear, Enabled, Tag) to that text field on runtime. Same you can do with buttons, labels or dropdowns.

Tuesday 28 August 2012

How to use TADOTable in Delphi XE2?

Following is the code snippet which will show you how to use TADOTable in Delphi XE2?

procedure TClass1.GetDataFromADOTable;
    if SetADOTable then
      if tADOTable.Locate('ColumnA;ColumnB', VarArrayOf([ValueA, ValueB]), [loPartialKey])  then
        VarX := tADOTable.FieldByName('ColumnX').AsInteger;
        VarY := tADOTable.FieldByName('ColumnY').AsInteger;
    on E : Exception do
      ShowMessage('Error occured in function GetDataFromADOTable: ' + E.Message);

function TClass1.SetADOTable : boolean;
    tADOTable.Connection := ADOConnection;  //Connectin name
    tADOTable.TableName := 'myTableName';  //Table name
    result := true;
    on E : Exception do
      result := false;
      ShowMessage('Error occured in function SetADOTable: ' + E.Message);

Explanation: Lets discuss the SetADOTable function first. It assings TADOTable with connection name and table name and then it opens the table. Here all data is fetched in the ADOTable from myTableName table. Now come to the function GetDataFromADOTable. It checks if there is data in ADOTable, locates a pointer to a particular column/columns by using locate keyword. Then it fetches the values in VarX and VarY.

Monday 27 August 2012

How to use TADOQuery in Delphi XE2?

Following is the code snippet which will show you how to use ADOQuery in Delphi XE2?

function TClass1.UseADOQuery : integer;
    with qryADOQuery do
      Connection := ADOConnection; //Connection name
      SQL.Text :=
        'SELECT ColumnX FROM TableA WHERE ' +
        'ColumnA = :ParameterA AND ' +
        'ColumnB = :ParameterB AND ' +
        'ColumnC = :ParameterC';

      Parameters.ParamByName('ColumnA').Value := ParameterA;
      Parameters.ParamByName('ColumnB').Value := ParameterB;
      Parameters.ParamByName('ColumnC').Value := ParameterC;
      if (Recordcount = 0) then
        result := 0
        result := Fields.FieldByName('ColumnX').Value; //Assume ColumnX value is an integer
    on E : Exception do
      result := 0;
      ShowMessage('Error occured in function UseADOQuery: ' + E.Message);

Explanation:First of all query has be be initialized with connection name. Now close it if already opened. For being on safer side, we should close it first before using it. Clear the SQL statement if any then write new SQL statement. Parameters to the query are passed by using colon (:) keyword. Recordcount keyword returns the number of rows affected.

OnShortCut event of Delphi XE2 Forms

This article is about OnShortCut event of Delphi Forms. Lets discuss the requirement first.

Requirement: Assme that I have two Delphi forms in my project (MyForm1 and MyFrom2). Now my requirement is that, if I am on MyForm1 and press ESC, I should go to MyForm2 and vice versa.

Consider the code of MyForm1:

unit uf_MyUnit1;


  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,   Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons, Vcl.Imaging.jpeg, Vcl.ExtCtrls, Vcl.ComCtrls;

  TfMyUnit1 = class(TForm)
    procedure FormShortCut(var Msg: TWMKey; var Handled: Boolean);  


  fMyForm1: TfMyUnit1;


uses uf_MyUnit2;

{$R *.dfm}

procedure TfMyUnit1.FormShortCut(var Msg: TWMKey; var Handled: Boolean);
   case Msg.CharCode of
      27 : begin
             Handled := true;


Explanation: Remember to add FormShortCut function on the OnShortCut event of the form. By adding this function on the OnShortCut event of the form, this function will immediately gets fired when any key is pressed. '27' is the keycode for ESC key. So when ESC key is pressed fMyForm2 is displayed and current form is closed.

Similar is the code for MyForm2:

unit uf_MyUnit2;


  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons, Vcl.Imaging.jpeg, Vcl.ExtCtrls, Vcl.ComCtrls;

  TfMyUnit2 = class(TForm)
    procedure FormShortCut(var Msg: TWMKey; var Handled: Boolean);  


  fMyForm2: TfMyUnit2;


uses uf_MyUnit1;

{$R *.dfm}

procedure TfMyUnit2.FormShortCut(var Msg: TWMKey; var Handled: Boolean);
   case Msg.CharCode of
      27 : begin
             Handled := true;


Saturday 25 August 2012

Phonegap: An amazing combination of HTML5, CSS3 and Javascript

Phonegap (Cordova) = HTML5 + CSS3 + Javascript

What a great combination!! How easy is Phonegap to learn!!! A great enhancement in mobile technology....

If you are an iPhone developer, you use Objective C....if Android or Blackberry, you use Java...But is there any technology which can make applications for each platform? Phonegap gives the answer..

Lets discuss what features Phonegap possesses?

Features of Phonegap:

1. PhoneGap is an open source framework.

2. Phonegap supports all the mobile platforms like Apple iOS, Google Android, HP WebOS, RIM BlackBerry, MS Windows Phone, Nokia Symbian OS and Samsung bada.

3. Phonegap supports many mobile hardware features like Accelerometer, Camera, Capture, Compass, Connection, Contacts, Device, Events, File, Geolocation,
Media,Notification (Vibration, Sound, Alert), Storage etc.

4. Phonegap is easy to learn as you only have to learn HTML5, CSS3 and Javascript which I think every developer would be knowing. Just you have to learn the framework
which you can learn within half a month.

5. There are a lot of IDEs which support phonegap framework like CS5.5, Eclipse, XCode etc.


Lets go back in history how phonegap took birth? Idea of developing Phonegap came in iPhoneDevCamp event in San Fransisco because there were less developers who knew Objective C for iPhone as compared to web developers which were expert in web development. Nitobi first created the Phonegap and then Adobe bought Nitobi in October 2011. Phonegap is currently supported by Apache Software Foundation (ASW). When phonegap was developed, it was called Apache Callback but now it has been renamed to Apache Cordova.

Further readings: I am creating a mobile app for blackberry and android using phonegap. I am learning a lot from there. While delvelopment, I am facing a lot of challenges. I will keep you updated with all the information which I get or learn. For now, you can refer Phonegap Official Website.

Delphi 2010, Delphi XE and XE2: A comparison of features

Delphi 2010 vs older versions

Delphi 2010 Release Date: August 25, 2009

Delphi 2010 witnessed a lot of improvements and new features as compared to its older versions. Some of features are listed below:
1. Delphi 2010 included a new compiler run-time type information (RTTI) system
2. Support for Windows 7 direct 2D
3. Touch screen and gestures
4. Source code formatter
5. Debugger visualizers
6. Option to also have the old style component palette in the IDE

Note:  Because of the use of Unicode as the default string type, Windows 98, 95, and ME will not run applications produced with Delphi 2009 or later. These operating systems do not support Unicode strings, and Microsoft has dropped support for them. Applications built with Delphi XE2, XE, 2010 and 2009 and VCL will run on Windows 2000 or later.

Comparison between Delphi 2010 and Delphi XE

Delphi XE Release Date: August 30, 2010

Only few enhancements were done in Delphi XE as compared to Delphi 2010. Thats why Delphi XE did not gain much success. Some of the enhancements are listed below:

1. Some IDE fixes were done in Delphi XE which made the IDE faster
2. Some additional third party tools were added in Delphi XE to enhance the capabilities of Delphi
3. No support for Win64 platform in both of them
4. No Mac OSX support in both of them

Comparison between Delphi XE and Delphi XE2

Delphi XE2 Release Date: September 1, 2011

Very much successful release of Embarcadero. Delphi XE2 coexists nicely with earlier versions of RAD Studio, C++Builder and Delphi. A lot of industries and migrating to Delphi XE2 because of its exciting features:

1. Delphi XE2 supports Win64 native development which will make your application faster
2. Delphi XE2 supports Mac OSX native development
3. Delphi XE2 is supplied with both the VCL, and an alternative library called FireMonkey that supports Windows, Apple Mac OS X and the Apple iPhone, iPod Touch and iPad
portable devices.
4. New naming scheme for the units
5. ODBC dbExpress driver support
6. Extensions to the REST support layer
7. Improved Cloud support
8. Improved RTTI (run-time type information)
9. Cross platform support
10. Little migration issues encountered
11. The DataSnap Mobile Connector feature: The DataSnap Mobile Connector feature generates connectivity code that you can incorporate into mobile applications for iOS,
Android, Blackberry and Windows Phone 7. You develop your mobile applications using the standard development tools and languages for each platform such as Objective C with the Xcode IDE for iOS, Java for Android and Blackberry, or Silverlight for Windows Phone 7. You then use the DataSnap Mobile Connector code to provide connectivity to your native C++Builder or Delphi DataSnap server. You can create a single application and deploy to 32-bit Windows, 64-bit Windows and Mac OS X. To create an iOS application, you create a separate project type that is exported and built with Xcode.

Difference in Delphi XE2 Professional and Enterprise Edition:

Delphi XE2 Enterprise Edition contains some extra features which are not present in Delphi XE2 Professiona Edition like:

1. Datasnap
2. DBExpress Driver Support for OSX, Firebird, Oracle, MSSQL, Informix
3. Advanced UML and Code Analysis Tools
4. FinalBuilder

Limitations of Delphi XE2:

1. Applications for 64-bit platforms can be compiled, but not tested or run, on the 32-bit platform.
2. FireMonkey and VCL are not compatible, one or the other must be used, and older VCL applications cannot use Firemonkey unless user interfaces are recreated with
FireMonkey forms and controls.
3. Applications built with Delphi XE2 and FireMonkey will run on Windows XP and later.
4. Delphi XE2 uses the MSBuild system for the build engine, and thus requires a new project file if you are upgrading from version 2007 or earlier. However, the IDE will
seamlessly update your projects to the new format.

Waiting for Delphi XE3 which may out in a month or two......

About the Author

I have more than 10 years of experience in IT industry. Linkedin Profile

I am currently messing up with neural networks in deep learning. I am learning Python, TensorFlow and Keras.

Author: I am an author of a book on deep learning.

Quiz: I run an online quiz on machine learning and deep learning.