Showing posts with label General. Show all posts
Showing posts with label General. Show all posts

Tuesday, September 11, 2007

Configure yahoo in Outlook

To Configure yahoo in Outlook, we have to download

yPOPS application and install and run this application then configure the yahoo with outlook with the following :

 

Sunday, September 9, 2007

113 Run Commands

Accessibility Controls
access.cpl

Add Hardware Wizard
hdwwiz.cpl

Add/Remove Programs
appwiz.cpl

Administrative Tools
control admintools

Automatic Updates
wuaucpl.cpl

Bluetooth Transfer Wizard
fsquirt

Calculator
calc

Certificate Manager
certmgr.msc

Character Map
charmap

Check Disk Utility
chkdsk

Clipboard Viewer
clipbrd

Command Prompt
cmd

Component Services
dcomcnfg

Computer Management
compmgmt.msc

Date and Time Properties
timedate.cpl

DDE Shares
ddeshare

Device Manager
devmgmt.msc

Direct X Control Panel (If Installed)*
directx.cpl

Direct X Troubleshooter
dxdiag

Disk Cleanup Utility
cleanmgr

Disk Defragment
dfrg.msc

Disk Management
diskmgmt.msc

Disk Partition Manager
diskpart

Display Properties
control desktop

Display Properties
desk.cpl

Display Properties (w/Appearance Tab Preselected)
control color

Dr. Watson System Troubleshooting Utility
drwtsn32

Driver Verifier Utility
verifier

Event Viewer
eventvwr.msc

File Signature Verification Tool
sigverif

Findfast
findfast.cpl

Folders Properties
control folders

Fonts
control fonts

Fonts Folder
fonts

Free Cell Card Game
freecell

Game Controllers
joy.cpl

Group Policy Editor (XP Prof)
gpedit.msc

Hearts Card Game
mshearts

Iexpress Wizard
iexpress

Indexing Service
ciadv.msc

Internet Properties
inetcpl.cpl
IP Configuration (Display Connection Configuration) ipconfig /all
IP Configuration (Display DNS Cache Contents) ipconfig /displaydns
IP Configuration (Delete DNS Cache Contents) ipconfig /flushdns
IP Configuration (Release All Connections) ipconfig /release
IP Configuration (Renew All Connections) ipconfig /renew
IP Configuration (Refreshes DHCP & Re-Registers DNS) ipconfig /registerdns
IP Configuration (Display DHCP Class ID) ipconfig /showclassid
IP Configuration (Modifies DHCP Class ID) ipconfig /setclassid

Java Control Panel (If Installed)
jpicpl32.cpl

Java Control Panel (If Installed)
javaws

Keyboard Properties
control keyboard

Local Security Settings
secpol.msc

Local Users and Groups
lusrmgr.msc

Logs You Out Of Windows
logoff

Microsoft Chat
winchat

Minesweeper Game
winmine

Mouse Properties
control mouse

Mouse Properties
main.cpl

Network Connections
control netconnections

Network Connections
ncpa.cpl

Network Setup Wizard
netsetup.cpl

Notepad
notepad

Nview Desktop Manager (If Installed)
nvtuicpl.cpl

Object Packager
packager

ODBC Data Source Administrator
odbccp32.cpl

On Screen Keyboard
osk

Opens AC3 Filter (If Installed)
ac3filter.cpl

Password Properties
password.cpl

Performance Monitor
perfmon.msc

Performance Monitor
perfmon

Phone and Modem Options
telephon.cpl

Power Configuration
powercfg.cpl

Printers and Faxes
control printers

Printers Folder
printers

Private Character Editor
eudcedit

Quicktime (If Installed)
QuickTime.cpl

Regional Settings
intl.cpl

Registry Editor
regedit

Registry Editor
regedit32

Remote Desktop
mstsc

Removable Storage
ntmsmgr.msc

Removable Storage Operator Requests
ntmsoprq.msc

Resultant Set of Policy (XP Prof)
rsop.msc

Scanners and Cameras
sticpl.cpl

Scheduled Tasks
control schedtasks

Security Center
wscui.cpl

Services
services.msc

Shared Folders
fsmgmt.msc

Shuts Down Windows
shutdown

Sounds and Audio
mmsys.cpl

Spider Solitare Card Game
spider

SQL Client Configuration
cliconfg

System Configuration Editor
sysedit

System Configuration Utility
msconfig
System File Checker Utility (Scan Immediately) sfc /scannow
System File Checker Utility (Scan Once At Next Boot) sfc /scanonce
System File Checker Utility (Scan On Every Boot) sfc /scanboot
System File Checker Utility (Return to Default Setting) sfc /revert
System File Checker Utility (Purge File Cache) sfc /purgecache
System File Checker Utility (Set Cache Size to size x) sfc /cachesize=x

System Properties
sysdm.cpl

Task Manager
taskmgr

Telnet Client
telnet

User Account Management
nusrmgr.cpl

Utility Manager
utilman

Windows Firewall
firewall.cpl

Windows Magnifier
magnify

Windows Management Infrastructure
wmimgmt.msc

Windows System Security Tool
syskey

Windows Update Launches
wupdmgr

Windows XP Tour Wizard
tourstart

Wordpad
wordpad

Wednesday, September 5, 2007

The most common software security mistakes

1.       Don't hide confidential information within your code: whatever you do don't rely on hiding information within your code because as long your code is distributed to the client then the client might do with it as s/he wishes, which includes disassembling or decompiling your code and obtaining your confidential information. The kind of confidential information that you shouldn't hide within your code might include but is not limited to passwords, user names, connections strings, IP addresses, domain names, symmetric encryption algorithms and of course  symmetric encryption keys. And of course don't rely on obfuscation .

2.       Don't forget to validate user input: sounds obvious but most developers think that user input is only limited to the user controls like text boxes and submit buttons but that is not true. User input might include but not limited to server requests, browser cookies, query strings and post requests. If you are expecting a zip code entered by the user then the user won't need special characters like (!@#$%^&*()"';:<>) so your application must not accept them. If the user will send you a request with an integer id in the query string then you don't need negative values so your application must not accept them. SQL injection attacks and privileges escalations might happen through cookies if you don't validate its content properly before processing it.

3.       Don't validate input at the client side: for example in web applications don't validate user input using java script because the user might disable java script in his/her browser. In case of windows applications the user might be able to reverse engineer the application and reverse the validation algorithm to pass the unwanted input.

4.       Don't send confidential information to the client side: if you send any confidential information like network credentials to the client side then the user might be able to intercept it using any means like packet sniffing and analyze it to use it to access your resources unauthorized.

5.       Don't send user confidential data on a network without encryption : if you are sending your user credentials or any other critical data on any sort of network you better encrypt the whole connection so no one would be able to intercept the connection and extract the confidential information from it. For web applications SSL would be sufficient for non critical applications.

6.       Don't send data to host without confirming it's the legitimate host : for example don't authenticate on a server without confirming it's the legitimate one because it might be just a trap to gather your users' credentials. Basically this is easily done with the use of Active Directory as a 3 rd party to authenticate both parties and confirm for each one that the other party is the legitimate one.

7.       Don't save any confidential information at the client side: if you saved user passwords on his/her machine and it got compromised then the attacker would obtain the user passwords with ease, so you should always encrypt any confidential data when saving it at the client side to avoid this from happening.

8.       Don't be selfish and protect your user not only your system: most developers think always that the users are always the bad guys whom are trying to penetrate and bring down the system but it's rarely when you find developers that think of users as victims whom might get attacked with the use of there system. XSS attacks proves this.

9.       Don't be optimistic: don't remove security validations because the current part is only accessed by admins, the admin account maybe highjacked and used to control the whole system that is running your application.

10.   Be paranoid: always think the worst. The more your system is critical and you want it to be secure the more you must be paranoid. Always plan for the worst, for example consider if your servers got compromised so how are you going to protect your users confidential data? What if your servers got flooded or your connections were down? What if your users got hacked and there credentials were stolen? What if your network was penetrated and what if your traffic was filtered? You must always ask your self the worst questions while designing the security schemes of your application.
 

Tuesday, September 4, 2007

Transparent Toaster

http://www.engadget.com/2007/09/03/transparent-toaster-gives-you-clear-view-of-breads-crispiness/

Thursday, August 30, 2007

Going Up! 7 Pointers to Lift a Bad Mood

Going Up! 7 Pointers to Lift a Bad Mood

No one can live a long and healthy life without the will to go on; sometimes mood swings can make us feel that life is too much for us.

A bad mood not only gives you a gloomy outlook, it also lowers your immune function, leading the way to illness. Here are some suggestions to lift your mood, your spirit, and your health.

1. A Laughing Matter
"Laugh Therapy," pioneered by Norman Cousins, has turned out to have real substance. Research has discovered that laughter and joy boost immune functions, especially the production of the natural killer cells that help defend the body from illness and cancer.

Laughter also increases the release of endorphins - compounds that give you a sense of well-being  - in your brain. Without a doubt, joyful people liver longer and healthier lives. So read your favorite comics, watch your favorite comedies, and laugh it up!

2. Amino Acid for Restored Mindset
When an imbalance or deficiency is creating a bad mood, the Europeans use supplements of a natural compound found in human cells to regulate mood and restore a healthy mindset. SAMe (S-adenosyl-L-methionine) is produced from methionine, an amino acid that plays a role in the production of uplifting neurotransmitters like serotonin and dopamine.

One study indicated that SAMe worked on patients who had unsuccessful results with conventional antidepressants. To get a boost from SAMe, take a supplement combining it with vitamins B6 and B12.

3. Hands-On Healing
Human touch increases the production of endorphins, growth hormone, and DHEA, all of which lengthen your life span and lower the negative impact of stress. Studies have found that patients who are regularly touched recover faster than those who are not touched. So give someone a hug and feel both of your moods improve.

4. Boost Your "Youth Hormones"
You don't need pills to flood your body with a rejuvenating flood of growth hormones. Research has found that doing squats and leg presses will greatly increase your natural production of the "youth hormone". Increased growth hormone translates to an elevated mood, among other physical benefits. Keep it up with weight training, knee bends, push-ups, and rowing.

5. Take a Bracing Breath
Breathing correctly is important for dispelling the toxins and wastes from your body; in fact, it is estimated that we expel only about 30 percent of toxins in our bodies through the bowels and bladder-the rest is all respiratory. Breathing is also a great way to clear your mind, boost your energy, and improve your mood. Practice deep, slow, rhythmic, breathing daily with mind-body disciplines such as tai chi, yoga, qigong, and meditation.

6. Smell the Joy
Research has shown that smell has a definite impact on our bodies and minds. When you stimulate the olfactory nerves inside your nose, you activate the limbic system of your brain, which is associated with moods and memory. This concept is instrumental to aromatherapy, a natural  health tradition that makes use of the healing powers of plants with strong scents.

Aromatherapy recommends treating depression with jasmine, eucalyptus for exhilaration, and grapefruit to increase alertness and joy. Just put a dab of the essential oils from these plants on your temples, back of your neck, or acupressure points. Another option? Boil the herb in water and inhale the steam through your nose.

7. Feel Fine with Flowers
There is a reason that flowers are the traditional get-well gesture. Colorful flowers have a powerful influence on moods; they can uplift a patient's mood and even combat stress. One study found that during a five-minute typing assignment, people sitting next to a flowering bouquet were more relaxed than those who sat near foliage-only plants.

I hope these tips help the good feelings flow! I invite you to visit often and share your own personal health and longevity tips with me.

May you live long, live strong, and live happy!

-Dr. Mao

 

--
Regards,
Rajesh Prabhu. R

"There is no future in any job. The future lies in the man who holds the job." - George Crane
"A busy man has time for everything and a lazy man has time for nothing."

Wednesday, August 29, 2007

கிலோ கணக்கில் சேட்டலைட்கள்

நானோ டெக்னாலஜியின் உபயத்தால் பெரிது பெரிதாய் அரக்கத்தனமாய் இருந்தவையெல்லாம் இப்போது பொடியன்களாய் மாறி வருகின்றன.சேட்டிலைட்களெல்லாம் முன்பு டன் கணக்கில் பேசப்பட்டன.இப்போது கிலோ கிராம் கணக்கில் சேட்டிலைட்கள் தயாரிக்கப்படுகின்றன. சமீபத்தில் இஸ்ரேல் ஏவிய மினி உளவு சேட்டிலைட்டின் (Ofeq 7) எடை முன்னூறு கிலோ கிராம்களே.மினி சாட்டிலைட்டை அடுத்து இந்த வரிசையில் மைக்ரோ சாட்டிலைட்கள்,நானோ சாட்டிலைட்கள் என சீக்கிரத்தில் தயாரிக்கப்படலாம்.

இஸ்ரேல் நாடு இருக்கும் இடம் லாகவமாய் இல்லாத காரணத்தால் அந்நாட்டின் அடுத்த உளவு சாட்டிலைட்டான, 260 கிலோகிராம் எடைகளே கொண்ட TechSar இந்தியாவின் ஸ்ரிகரிகோட்டாவிலிருந்து செப்டம்பர் மாதத்தில் ஏவப்படுமாம். இஸ்ரேலின் Shavit எனப்படும் ராக்கெட் கடந்த 2004-ல் மத்திய தரைக்கடலில் விழுந்து தோல்வியில் முடிந்தது.இந்தியாவின் அடுத்தடுத்த வெற்றியாலும், இந்தியாவின் PSLV ராக்கெட் மேலுள்ள அதீத நம்பிக்கையாலும் அவர்கள் இந்தியாவின் உதவியை நாடியிருக்கிறார்களாம்.ஏதோ சில ராணுவ ஒப்பந்தங்கள் இருக்கலாம்.

இவ்வாறு சாட்டிலைட்களின் எடை சிறிதாகிக்கொண்டே வருவதால் சீக்கிரத்தில் Boeing 747 போன்ற சரக்கு விமானத்திலிருந்தோ அல்லது F-15 போன்ற போர் விமானத்தில் பறந்தவாறோ சேட்டிலைட்களை ஏவ முயன்று வருகின்றார்கள்.அது வெற்றிகரமாய் முடிந்தால் பெரிதாய் கவுண்டவுன்கள் எதுவும் இல்லாது சென்னையிலிருந்து டெல்லி போகும் வழியில் போகிற போக்கில் விமானத்தில் பறந்தவாறே நாலு சேட்டிலைட்கள் ஏவுவார்கள்.
 

You Know You Are Living in 2007 When......]

YOU KNOW YOU ARE LIVING IN 2007 when...

1. You accidentally enter your password on the microwave.


2. You haven't played solitaire with real cards in years.  

3. You have a list of 15 phone numbers to reach your family of 3.  

4. You e-mail the person who works at the desk next to you.


5. Your reason for not staying in touch with friends and family is that they don't have e-mail addresses.


6. You pull up in your own driveway and use your cell phone to see if anyone is home to help you carry in the groceries.


7. Every commercial on television has a web site at the bottom of the screen.


8. Leaving the house without your cell phone, which you didn't have the first 20 or 30 (or 60) years of your life, is now a cause for panic and you turn around to go and get it.


10. You get up in the morning and go on line before getting your
coffee.
 

11. You start tilting your head sideways to smile.


12. You're reading this and nodding and laughing.
 

13. Even worse, you know exactly to whom you are going to forward this message.


14. You are too busy to notice there was no #9 on this list.


15. You actually scrolled back up to check that there wasn't a #9 on this list


AND NOW  U R LAUGHING
at yourself.  

I know what you want to do now.

 

Tuesday, August 28, 2007

Interactions with American clients - Useful tips

Interactions with American clients - Useful tips

1. Do not write "the same" in an email - it makes little sense to
them.
Example - I will try to organize the project artifacts and
inform you of the same when it is done

This is somewhat an Indian construct. It is better written simply
as:
I will try to organize the project artifacts and inform you when
that is done

2. Do not write or say, "I have some doubts on this issue"
The term "Doubt" is used in the sense of doubting someone - we
use this term because in Indian languages (such as Tamil), the word
for a "doubt" and a "question" is the same.
The correct usage (for clients) is:
I have a few questions on this issue

3. The term "regard" is not used much in American English. They
usually do not say "regarding this issue" or "with regard to this".
Simply use, "about this issue".

4. Do not say "Pardon" when you want someone to repeat what they said
. The word "Pardon" is unusual for them and is somewhat formal.

5. Americans do not understand most of the Indian accent immediately
- They only understand 75% of what we speak and then interpret the
rest. Therefore try not to use shortcut terms such as "Can't"
or "Don't". Use the expanded "Cannot" or "Do not".

6. Do not use the term "screwed up" liberally. If a situation is not
good, it is better to say, "The situation is messed up". Do not use
words such as "shucks", or "pissed off".

7. As a general matter of form, Indians interrupt each other
constantly in meetings - DO NOT interrupt a client when they are
speaking. Over the phone, there could be delays - but wait for a
short time before responding.

8. When explaining some complex issue, stop occasionally and ask
"Does that make sense?". This is preferrable than "Do you understand
me?"

9. In email communications, use proper punctuation. To explain
something, without breaking your flow, use semicolons, hyphens or
paranthesis.
As an example:
You have entered a new bug (the popup not showing up) in the
defect tracking system; we could not reproduce it - although,
a screenshot would help.

Notice that a reference to the actual bug is added in paranthesis
so that the sentence flow is not broken. Break a long sentence
using such punctuation.

10. In American English, a mail is a posted letter. An email is
electronic mail. When you say
"I mailed the information to you"
, it means you sent an actual letter or package through the
postal system.
The correct usage is:
"I emailed the information to you"

11. To "prepone" an appointment is an Indian usage. There is no
actual word called prepone. You can "advance" an appointment.

12. In the term "N-tier Architecture" or "3-tier Architecture" , the
word "tier" is NOT pronounced as "Tire". I have seen many people
pronounce it this way. The correct pronunciation is "tea-yar". The
"ti" is pronounced as "tea".

13. The usages "September End", "Month End", "Day End" are not
understood well by Americans. They use these as "End of September",
"End of Month" or "End of Day".

14. Americans have weird conventions for time - when they say the
time is "Quarter Of One", they mean the time is 1:15. Better to ask
them the exact time.

15. Indians commonly use the terms "Today Evening", "Today Night".
These are not correct; "Today" means "This Day" where the Day stands
for Daytime. Therefore "Today Night" is confusing. The correct usages
are: "This Evening", "Tonight".
That applies for "Yesterday Night" and "Yesterday Evening". The
correct usages are: "Last Night" and "Last Evening".

16. When Americans want to know the time, it is usual for them to
say, "Do you have the time?". Which makes no sense to an indian.

17. There is no word called "Updation". You update somebody. You wait
for updates to happen to the database. Avoid saying "Updation".

18. When you talk with someone for the first time, refer to them as
they refer to you - in America, the first conversation usually starts
by using the first name. Therefore you can use the first name of a
client. Do not say "Sir". Do not call women "Madam".

19. It is usual convention in initial emails (particularly technical)
to expand abbreviations, this way:
We are planning to use the Java API For Registry (JAXR).

After mentioning the expanded form once, subsequently you can use the
abbreviation.

20. Make sure you always have a subject in your emails and that the
subject is relevant. Do not use a subject line such as HI .

21.Avoid using "Back" instead of "Back" Use "ago".Back is the worst
word for American.(for Days use "Ago",For hours use "before")

22.Avoid using "but" instead of "But" Use "However".

23.Avoid using "Yesterday" hereafter use "Last day".

24.Avoid using "Tomorrow" hereafter use "Next day".

 

Wednesday, August 22, 2007

18 Ways to Stay Focused at Work

  1. Write out a daily task list and plan your day. There's nothing like a task list sitting next to you to keep you focused. When you have a list of the things you need to accomplish in a day, having that close to you constantly reminding you of what needs to be done is a great way of keeping on track.
  2. Allocate time slots colleagues can interrupt you. In a busy work place, people are moving and talking all the time. If you play a role in a team where others need to interact with you, try allocating a time slot they can interrupt you. Instead of having people stop by your desk every 10 mins and asking you questions, let them know of a time in the day, say between 2-4pm you can be interrupted. At all other times, you can really get some work done.
  3. Apply time boxing. In a previous article, I wrote about the benefits of time boxing. Instead of working at something till it is done, try working on it for a limited period, say 30 mins. By that time, the task is either completed or you allocate another time slot, perhaps in another day, to pick it up again. This way, you keep your work fresh and engaging throughout the entire working day.
  4. Setup filters in your email. If you spend a lot of your time communicating and planning in front of your computer, chances are you deal with emails on a frequent basis. Setting up filters in your email client can be a great way of sorting out what's important and urgent from personal stuff which can wait. Instead of dealing with a single Inbox with hundreds of unread email, you only need to deal with smaller folders categorised by project, priority and context.
  5. Do not check personal email in the morning. Checking personal emails can be very distracting even with filters setup. This is especially true when your friends send you links to interesting articles, jokes or videos on YouTube. If you're not careful, you can get side tracked for hours. Instead of checking your personal email as soon as you get in, try starting work straight away. This will build up some momentum as you ease into your work day. You should check your personal email only after you have a few tasks completed or underway. Also, if you don't want to perpetuate a particular distracting email thread, just don't reply to it until after work.
  6. Set your IM status. If you use Instant Messenger, when you don't want to be disturbed, make use of the status and set yourself as being away or busy. Your friends and colleagues will honour that. They can either send you an email or look you up later when you aren't as busy.
  7. Listen to the right types of music. Music is a great way of settling into the working routine. In addition, having music can drown out office noises like printers and background chattering. Be careful though, depending on personal preference, some types of music are not particularly conducive to productive work. For me, I can't work when listening to songs with lots of lyrics because the words interrupt my thinking process.
  8. Use the headphones but leave the music off. Some people prefer to have absolute silence when working. I think that also depends on what kind of work you are doing. If you're doing some serious planning or something computational, having music blasting in your ears may not be the best thing for keeping focused. Try using headphones or ear plugs to block out the background noise but leave the music off.
  9. Fill up a water bottle. Keeping yourself hydrated is pretty important for all sorts of health reasons. Instead of going to the water cooler with your glass every hour, try filling up a water bottle at the start of the day. This does a couple of things - firstly, it limits the starts/stops associated every time you get up for water and secondly, it avoids being sucked into lengthy discussions around the water cooler.
  10. Find the best time to do repetitive and boring tasks. No matter how much you try to avoid it, you're going to have to face doing things which are either repetitive or boring. For these tasks, I find it is best to choose a time in the day to work on them. For example, I'm more alert at the start of the day, so it's better to work on things which require brain power early. Working on boring tasks that can be done via auto-pilot are better left towards the end of the day when I'm usually tired.
  11. Bring your lunch and have it at your desk. I'm not suggesting you do this every day, but if you really have to focus and are trying to meet a deadline, having your lunch at your desk really helps. The normal one hour lunch break can really interrupt any momentum you might have built up during the morning. I find when I'm eating lunch at my desk, my lunch breaks are shorter and I can get through a few emails while I'm eating. After I'm done, I'm straight back working on the next task.
  12. Don't make long personal calls. Most of us have a good separation between our working and personal lives (or a least try to). I think we can all agree we should avoid having work intrude on our personal time as much as possible. The reverse of this also applies. Try limiting the time you spend doing personal things during work as they can be distracting and draining on your motivation. For example, you do not really want to be thinking about your weekend away with your spouse when you really need to get things done.
  13. Clean up your desk. Some of you may have desks which can only be described as ordered chaos. That's not necessarily a bad thing as long as you can find what you need without too much digging around. However, if you can't, I suggest cleaning up your desk. That doesn't mean having an empty desk, it just means having neat stacks of paper, all filed in the correct location. It also helps tremendously having all the things you need easily within arms reach. For example, if you need a place to write, having your pen and notepad close by and easily accessible is incredibly useful.
  14. Get a good chair. If you sit for long hours at your desk and I'm sure some of you do, you might find it helpful to get a good chair. I find it's pretty hard to stay focused when my neck and back are sore because I have a bad setup at my desk. A good chair can eliminate this, allowing you to work for long stretches without breaks and physical distractions.
  15. Use shortcuts on your computer. If you find you do the same thing with your computer more than once throughout the day, you might find it helpful to look for ways in which you can do them without too much manual repetition. For example, if there's a project folder you access all the time, try adding a shortcut to your Explorer or Finder so you can get access to it with a single click, instead of expanding folder after folder in the tree panel.
  16. Close programs you're not using. As a software engineer, I use a lot of programs important to my work. However, in most cases, I only need a few applications open at the same time. Instead of Alt-Tabbing constantly and fighting the computer to locate the program you need, try only having the applications you need open. Close everything else. For example, if you have already located a file and no longer need a particular Explorer or Finder instance open, close it. There's no reason to leave it around at all.
  17. Limit time on Digg, Delicious, news sites and blogs. I don't think I need to say too much about this. There are so many sites on the Internet worth looking at, including this site ;) . Digg, Delicious, news and blogs are great from an interest perspective, but they can really take you away from the work you should be working on. Try to limit going to these sites during the working day. If you really have to, try doing it during your lunch time. No, you don't need to have your finger on the pulse every single minute of the day…
  18. Change your mindset and make work fun. For me, I find it difficult to stay focused on doing things I'm not by nature interested in doing. In most cases, there's probably nothing I can do about it. However, be mindful of the fact that your perception of work is something you can control. For my last tip here, I suggest you try changing your mindset or turning work into a game. An unfocused mind, is an unchallenged mind. So make things fun!

source from http://www.davecheong.com/2006/08/14/18-ways-to-stay-focused-at-work/

Logging Bugs: Do's and Don'ts

All software that is being developed WILL have bugs, sorry, but this IS a fact.  Now I know some people and companies don't like to call them glitches in software bugs.  They would rather call them issues or defects.  For all I care we can call them 'WizBangs', just call them something and LOG THEM.

However, logging 'WizBangs' (ok, I will call them bugs from here on) is not as simple as it may sound.  I would like to go over some of MY Do's and Don'ts in this post.  If you don't like my list, or would like to add to it, drop me a line.

When to log Items:

  • Do log everything.  Just because the bug may seem trivial or simple or only happen 'every now and again' does not mean that it should be ignored.  Even it you are not sure it is an issue, LOG IT.  Better to have close off an non-issue then fail to report a major bug in hiding
  • Don't assume that someone else is going to fix the issue.  Also, don't assume this issue is too trivial or minor to report.  Wouldn't it suck to find out after the application went lived that you failed to report a critical bug because you thought it was not a 'big deal'?

Providing information on the log:

  • Do provide detailed information about the bug.  Save yourself the headache later and provide as much information as you possible can.  This should include, but not limited to items such as Build Version, Environment, Platform, Short Description of issue, Severity, Detailed steps to reproduce.
  • Don't make provide a single sentence that says something like 'Unable to perform XYZ in the ABC process'.  This type of information will provide nothing of real value to the next guy.  Sure, this would be a great line for the title of the bug.  But by no means is this enough information to fix the bug.

What types of items to log:

  • Do Log Everything.  Enough said
  • Don't make assumptions

When to log bugs:

  • Do log them as soon as possible.
  • Don't put it off.  If you dont log the bug as soon as you find it you WILL forget something about what you did to cause it.  For the sake of your fellow co-workers log it now before you forget.
The plain and simple truth about logging bugs is, it sucks!!!!  However, it is a necessary part of most developers jobs.  If you take some time and put in a little effort, you will be rewarded with great riches.  Ok, maybe not great riches, but it will make fixing the bugs much easier.
 

Sunday, August 19, 2007

Online English Lessons

Some useful sites to learn english
 

Thursday, August 16, 2007

The wrong attitude of learning on the job

I can't tell you enough about how much surprised I was when some developers applying for senior .NET development position, when being interviewed by me, could not answer very fundamental questions about a specific technology or programming language as well as were not aware of any trends in the field. What I found out was that usually this had something to do with their attitude towards "learning on the job".

Some of them even told me that they consider questions like "what are the differences between value type and reference type", "when should you use interface instead of abstract class", "compare 'protected' and 'internal' accessibility levels" and so on (I listed some others here) are theoretical and not useful for the job. They went on saying that they never found themselves think about these when doing their jobs and yet they could still get their jobs done and even got promoted to the senior position. Some even went as far as saying that things like design patterns were impractical for real-world projects. Reasons like such went on.

Most of these folks have many years of experience in software development, but they have the experience of doing the same things over and over again. Besides, instead of trying explore many technological possibilities to pick the most suitable way of accomplishing things, they only learn enough to get the job done. These developers are confused between getting the software built and getting the software built the right way and yet they think they are perfect examples of those who learn on the job the right way - which can't be more far from the truth.

The sign of this type is that their knowledge and skills are no broader than what they have applied in their past projects and no deeper than what barely necessary to finish the tasks assigned (and they usually refer to anything beyond that as "theoretical" or "impractical"). For example, they know how to code a data access layer to map relational data to the object model, but they have never heard about NHibernate, iBATIS.NET or even the term ORM tools; they know how to implement ASP.NET pages, but having no knowledge about the page life cycle; they know how to code or use a collection class, but they have never learned to use generics; they design a new system based on the way they designed previous systems instead of based on project-specific trade-offs and design principles; they use C# 2.0 without knowing about anonymous delegate and iterator; if you ask them to apply logging to an existing system, they will open one thousand something methods to add the Console.WriteLine() (not even logger.Info()) to each of them; and if their bosses don't ask them to write unit test (chances that the bosses will never do so), they do not know what on earth NUnit is. The list goes on…

Obvious is it to see, software built by these developers usually are work of hacks (negative hacks) and under-perform in terms of reliability, maintainability, extensibility, cost-effectiveness and so forth. In fact, because of their lack of breadth and depth in knowledge they can only pick a solution out of their limited number of solution alternatives, and they will need a great deal of time to troubleshoot / debug code when something goes wrong behind the abstractions. But, their learning attitude alone, which often implies a lack of motivation or interest in their career, will already make them look very bad in the hirer's eyes.

I always hesitate to follow-up with these developers, even just to offer a junior or mid-level position. I don't care if they have the ability to quickly learn about new things or not, because it is the fact that their multi-year experience shows me that they did not spend the effort to learn how to do things more effectively and chances are that they might continue with that in the future.

After reading this article, I realised how much core technical knowledge I am having... :( I have to study a lot... Friends! how about you?

 

Thursday, August 9, 2007

It's Summer in Japan.

Hi guys,
 
Temperature is rising and the environment is getting cool for eyes.. :P
 
And its Summer vacation time. Official it 9 days holiday which I feel not enough and made it as 10 day  :)
 
Ya from tomorrow it is party time. I will be missing you all and your mails from Aug 10 to Aug 19. But you can always catch me on my mobile 00 81 90 66 68 64 40.
 
Meet you all after 10 days with a Very Good Morning mail.

--
Regards,
Rajesh Prabhu. R

"There is no future in any job. The future lies in the man who holds the job." - George Crane
"A busy man has time for everything and a lazy man has time for nothing."

Thursday, July 19, 2007

மென் பொருள் துறையில் தொழில் மற்றும் வேலை வாய்ப்புகள் - சில எண்ணங்கள்

'அப்படி என்னதான் செய்யறீங்க? இத்தனை ஆயிரம் கோடி ஏற்றுமதி என்கிறாங்க, இத்தனை லட்சம் படிச்ச பசங்க வேலை பார்க்கிறாங்க. இன்னும் பல ஆண்டுகளுக்கு இது வளர்ந்து கொண்டே போகும் என்கிறாங்க. மென் பொருள்னா என்னங்க?'

'பொதுவா ஒரு பொருளை, சேவையை உருவாக்கி ஒருத்தருக்குக் கொடுத்து காசு சம்பாதிக்கிறோம். மென்பொருள் துறையில் என்ன நடக்குது, இவ்வளவு வளர்ச்சி என்று புரியவில்லை'

என்று நண்பர் ஒருவர் கேட்டார். வேதித் தொழில் நுட்பம் படித்து வளைகுடா நாடு ஒன்றில் பெரிய வேலையில் இருக்கிறார்.

நாமெல்லாம் கையால், விலங்குகளின்் ஆற்றலால் செய்து வந்த வேலைகளை இயந்திரங்களால் செய்ய ஆரம்பித்தது தொழில் புரட்சி போல, மனித மூளையில் நடந்து வந்த வேலைகளை கணினிகளால் செய்து கொள்வது தகவல் தொழில் நுட்பப் புரட்சி. நாம் இப்போது இருப்பது அந்தப் புரட்சியின் ஆரம்பக் கட்டங்களில்.
 
  • எங்கெல்லாம் திரும்பத் திரும்ப நடக்கும் கணக்குகள் போட வேண்டுமோ,
  • எங்கெல்லாம் தகவல்களைத் திரட்டி வைத்துக் கொண்டு பின்னர் பயன்படுத்த வேண்டியிருக்கிறதோ,
  • எங்கெல்லாம் புதிய கருவிகளில் சிந்திக்கும் வேலை செய்ய வடிவமைக்க வேண்டுமோ
அங்கெல்லாம் மனித சிந்தனையை முழுமையாகவோ, பகுதியாகவோ மாற்றிக் கொள்ள கணினிகள் பயன்படுத்தப்படுகின்றன. கணினிகளை இயக்க தேவைப் படும் உயிர்ப் பொருள்தான் மென்பொருள்.

அதுக்கு ஏன் இவ்வளவு மதிப்பு?

ஒரு நிறுவன மேலாண்மையை எடுத்துக்குவோம். சின்னக் கடை என்று வைத்துக் கொள்வோம். மொத்தமாக நொறுக்குத் தீனிகள் வாங்கி சின்ன அளவில் பொதிந்து கடைகளுக்கு அனுப்பி வைக்கும் பணி. வேலை செய்ய ஆறு பேர், தின்பண்டங்களை வழங்குபவர்கள் 10-15 இடங்கள், வாடிக்கையாளராக சில்லறை விற்பனைக் கடைகளுக்கு வினியோகிக்கும் பணி செய்பவர்கள் 10-12 பேர்.

இந்தத் தொழிலில் கையாள வேண்டிய விபரங்கள்,
  • யாரிடமிருந்து என்ன விலைக்கு, எந்தப் பொருளை வாங்குகிறோம்,
  • அவருக்குப் பணம் கொடுக்க வேண்டிய கொடுத்த தகவல்கள்,
  • வேலை பார்ப்பவர்கள் தினமும் வந்த விபரம், விடுமுறை எடுத்த விபரம்,
  • போட்ட பொதிகளின் எண்ணிக்கை அளவு வாரியாக,
  • யார் எத்தனை பொதிகள் எடுத்துச் சென்றார்கள், யார் எவ்வளவு பணம் தர வேண்டும்,
  • கைவசம் விற்காமல் சரக்கு எவ்வளவு மீதி இருக்கிறது
என்று வரவு செலவு கணக்கு போட வேண்டும்.
  • எந்த விற்பனையாளரிடமிருந்து வாங்கிய பொருளில் குறைபாடுகள் தென்பட்டன,
  • எந்த பொருளுக்கு விற்பனை அதிகரிக்கிறது, எதற்குக் குறைகிறது.
  • புதிதாக என்ன விற்க ஆரம்பிக்க வேண்டும்
என்று எதிர்காலத் திட்டமிடல்களும் வேண்டும்.

கணினி காலத்துக்கு முன்பு இத்தகைய தொழிலில் உரிமையாளர் ஒரு சின்ன நோட்டுப் புத்தகத்தில் விபரங்களைத் தனக்குப் புரியும் படிக் குறித்து வைத்துக் கொள்ளலாம், பணம் வர வேண்டிய விபரம், கையிருப்பு இரண்டையும் பார்த்துக் கொண்டால் போதுமானது.

இன்னும் நுணுக்கமாக தகவல் சேகரிக்க, குறித்து வைக்க அதை அலசிப் பார்க்க ஆரம்பித்தால் அவருக்கு அதற்குத்தான் நேரம் சரியாக இருக்கும் அல்லது புதிதாக ஆள் போட வேண்டும். பெரிய நிறுவனங்களில் கணினிகள் வரும் முன்னரே இது போன்று தகவல் திரட்டுவதற்காக சிலரை வைத்திருப்பார்கள்.

ஆனாலும் மனித மூளையைப் பயன்படுத்தி சில வேலைகளை செய்வதில் அளவு இருக்கிறது. பெருவாரியான தகவல்களை சேமித்த வைத்தல், சிக்கலான கணக்குகளைப் போடுதல் போன்ற பணிகளுக்கு நமது மூளை அவ்வளவு திறமுடையது இல்லை. அந்த வேலைகளுக்கு மின்னணுக் கருவிகளைப் பயன்படுத்துவதுதான் கணினித் துறை.

நீராவி எந்திரத்தை மனித ஆற்றலுக்கும், கால்நடைகளின் உழைப்புக்கும் மாற்றாகப் பயன்படுத்த ஆரம்பித்த பிறகு அது வரை முடியாத பலப் பல சாத்தியங்கள் தோன்றின. தரையில் வேகமாகப் போக இயந்திரங்களை பயன்படுத்தும் போது, கிடைத்த கூடுதல் வேகத்தைப் பயன்படுத்தி பறக்கும் விமானங்களை உருவாக்க முடிந்தது. இதே போல நூற்றுக் கணக்கான, ஆயிரக் கணக்கான சிறிதும் பெரிதுமான கண்டுபிடிப்புகள் தோன்றி மனித வாழ்க்கையை மாற்றி அமைத்தன.

இவ்வளவு இருந்தாலும் 'இயந்திரம் என்ன வேலை செய்ய வேண்டும், எப்போது செய்ய வேண்டும்' என்று திட்டமிட்டு, தீர்மானித்து அதை இயக்குவது மனிதக் கைகளால்தான் நடந்தது.

அதே போல நமது மூளையால், முடிந்த வரை செய்து வந்த வேலையைக் கணினிகளுக்கு தள்ளி விட்டு வேகமாக துல்லியமாக முடிக்கும் வசதி உருவானவுடன் புதிய புதிய கண்டுபிடிப்புகளும் சாத்தியமாகின்றன.

எவ்வளவுதான் நடந்தாலும் கணினிகளைப் பயன்படுத்துவது, வடிவமைப்பது, இயக்குவது மனிதர்களாகத்தான் இருக்கிறது.

இப்படியாக வழக்கமான தொழில்களின் தகவல் திரட்டல், அலசுதல், பழைய கருவிகளை இயக்குதல், புதிய கண்டுபிடிப்புகளுக்கு உயிர் கொடுத்தல் என்று கணினிகள் பயன்படுத்தப்படும் எல்லா இடங்களிலும் மென்பொருட்கள் எனப்படும் கணினியின் உயிர்ப்பொருட்கள் பயன்படுகின்றன.

இத்தகைய மாற்றங்களில் பெரும் பகுதி அமெரிக்கா, ஐரோப்பா, ஜப்பான் போன்ற வளர்ந்த நாடுகளில்தான் நடக்கின்றன.

நம்ம ஊரில் ரயில்வே துறையில் பயண முன்பதிவு, வங்கிகளில் கணினி மயமாக்கம், தொலை தொடர்பு நிறுவனங்களில் கணினி மயமாக்கம் என்று இருப்பது போல ஒவ்வொரு துறையிலும் கணினிகளைப் பயன்படுத்த ஆரம்பித்து விட்ட முன்னேறிய நாடுகளில்தான் மென்பொருள் தேவை பெரிய அளவில் இருக்கிறது.
  • மருத்துவர் ஒருவர் தான் பார்த்த நோயாளியைப் பற்றிய விபரங்களைச் சேமிக்க கணினிகள் பயன்படுத்தப் படுகின்றன.
  • தொழில் நிறுவனங்கள் தமது வாங்கல், விற்றல், சரக்கு கையிருப்பு, ஊழியர்களை கையாளுதல் போன்றவற்றுக்குக் கணினிப் பயன்பாடுகளைப் பயன்படுத்துகின்றன.
  • புதிது புதிதாகக் கண்டுபிடிப்புகள் தோன்றி அவற்றை இயக்க மென்பொருட்கள் தேவைப் படுகின்றன.
நாம் மென்பொருள் துறையில் வல்லரசு, இந்தியாவை நம்பித்தான் மேலை நாடுகள் இயங்குகின்றன, இந்தியா ஒளிருகிறது என்று பேசிக் கொள்வதில் முற்றிலும் உண்மை இல்லை.

மென் பொருள் பயன்படுத்துவது, அதன் மூலம் வாழ்க்கைத் தரம் உயர்வது, புதிய கண்டுபிடிப்புகள் நடப்பது எல்லாம் வேறு இடங்களில்தான். அதனால் அங்கு இருக்கும் வல்லுநர்கள் என்ன மென்பொருள் தேவை, அது எப்படி வடிவமைக்கப்பட வேண்டும், அதற்கு என்ன செலவு செய்யலாம் என்று திட்டமிட்டு அதை உருவாக்கும், பராமரிக்கும் பணியை நம் பக்கம் தள்ளி விடுகிறார்கள். அதைத்தான் நமது இளைஞர்கள் மாய்ந்து மாய்ந்து செய்கிறோம்.

இந்த நமது பணிக்கு ஆண்டுக்கு 50,000 கோடி வருமானம் கிடைக்கிறது என்றால் இந்தப் பணியைப் பயன்படுத்தும் சமூகங்களுக்கு அதை விட இரண்டு மடங்காவது நன்மை கிடைக்கும் அல்லவா?

மென்பொருள் என்பது ஒரு வீடு கட்டவது போல என்று வைத்துக் கொள்ளலாம்.

ஒருவருக்கு வசிக்க வீடு வேண்டும். அந்தக் குடும்பத்தில் எத்தனை பேர், யார் யார் என்ன செய்கிறார்கள், எவ்வளவு பெரிதாக இருக்க வேண்டும், என்னென்ன வசதிகள் இருக்க வேண்டும் என்று அலசி ஆராய்வது முதல் படி.

இரண்டாவதாக இந்தத் தேவையை எப்படி செயல் படுத்த முடியும் என்று படம் வரைவது, தொழில் நுட்பச் சாத்தியங்கள், செலவுகள் முதலியவற்றைக் கருத்தில் கொண்டு திட்டம் ஒன்றை உருவாக்குவது இரண்டாவது படி.

அதை வாடிக்கையாளர் ஏற்றுக் கொண்டால், திட்டத்தை எப்படிச் செயல்படுத்துவது என்று நடைமுறை வேலைகளைப் பார்ப்பது மூன்றாவது படி.

இந்த மூன்றாவது படி வேலைகளைத்தான் வெளிநாடுகளுக்கு மென்பொருள் சேவையை ஏற்றுமதி செய்யும் இந்திய நிறுவனங்கள் செய்கின்றன. ஜாவா, டாட் நெட் என்ற படித்து விட்டு வேலைக்குச் சேர்ந்தால் செய்யும் பணி கட்டிடம் கட்டும் வேலையில் செங்கல் அடுக்குவது, சாந்து குழைப்பது போன்ற வேலைகள்தான்.

அடுத்த படியில் உருவாக்கிய மென்பொருளைப் பராமரித்தல், பயன்படுத்தும் போது ஏற்படும் குறைகளை நிவர்த்தித்தல், பயனர் புதிதாகக் கேட்கும் மேம்பாடுகளை உருவாக்குதல் என்று முடிவில்லாமல் பணிகள் உள்ளன. வீட்டை தினமும் கூட்டிப் பெருக்க வைக்க நேரமும், ஆட்களும் இல்லாத நாடுகள் தகவல் தொழில் நுட்பப் புரட்சியின் சாத்தியங்களால் அந்த வேலைகளை வெளிநாடுகளில் செய்து வாங்கிக் கொள்ள முடிகிறது.

வேலை வாய்ப்பு என்று பரவலாகக் கிடைப்பது மேலே விளக்கியது போன்ற குறைந்த மதிப்பிலான பணிகள்தாம். அதனால் அவற்றைக் குறைத்து மதிப்பிட வேண்டியதில்லை. மென்பொருள் துறை இந்தியாவில் வளர்ந்ததால் பல்லாயிரக் கணக்கான பேருக்கு முன்பு நினைத்துப் பார்க்க முடியாத அளவுக்கு வருமானம் கிடைக்கிறது. அந்தப் பணம் வரியாக அரசாங்கத்துக்குப் போய் நலப் பணிகளில் பயன்படுகிறது. மென்பொருள் துறையில் பணிபுரிபவர்களின் குடும்பங்களை தளைக்கின்றன. தொழில் வாய்ப்புகள் பெருகுகின்றன.

ஆனால், இவை எல்லாவற்றையும் விடப் பல மடங்கு மதிப்புள்ள சாத்தியங்கள் மென்பொருள் துறையில் உள்ளன. கணினிகளை நம் ஊர் பணிகளுக்கு செயல்படுத்தும் பெரும் பணி காத்திருக்கிறது. அதைச் செய்ய பெருமளவிலான முயற்சிகள் நடப்பதில்லை. பெரிய நிறுவனங்கள் கூட அமெரிக்க ஐரோப்பிய பணிகளை மட்டுமே எடுப்பது என்று கொள்கை முடிவுடன் இயங்குகின்றன.

வேலை வாய்ப்பு என்று சொன்னால், அத்தகைய நிறுவனங்களில் திறமையான, படித்த, பயிற்சி பெற்ற இளைஞர்களுக்கு வேலைக்குப் பஞ்சமே இல்லை.

ஆனால் பெரும் புதையல் காத்திருப்பது உள்ளூர் பொருளாதாரத்தில். பேருந்தில் போகும் போது சீட்டு கொடுத்த பிறகு ஒரு சின்ன அட்டையில் கணக்குகளை எழுதிக் கொள்கிறார் நடத்துனர், பெங்களூரூவில் இருப்பது போல ஒரு குட்டிக் கணினியைக் கையில் வைத்துக் கொண்டு, அதில் விபரங்களை ஒத்தி சீட்டு அச்செடுத்துக் கொடுத்தால் விபரங்கள் தானாகவே பதிவாகி பணி முடிந்ததும் மையக் கணினியில் ஒப்படைத்து விடலாம். நடத்துனரின் பணி பல மடங்கு எளிதாகி விடும்.

எந்த தடத்தில் எந்த நேரத்தில் எந்த பருவத்தில் கூட்டம் அதிகமாக வருகிறது என்று ஆராய்ந்து பார்க்க, அதிக முயற்சி இல்லாமல், கணினியில் பதிக்கப்பட்ட விபரங்களைப் பயன்படுத்தி அறிக்கை உருவாக்கிக் கொள்ளலாம். அதற்கு சில நிமிடங்கள்தான் பிடிக்கும். அதைப் பொறுத்து முடிவுகளை எடுத்து பயணிகளுக்கு சேவையை மேம்படுத்தலாம்.

வளர்ந்த நாடுகளில் இந்த வேலைகளைச் செய்ய போதுமான பணியாளர்கள் கிடைக்காததால் அவை இந்தியா போன்ற நாடுகளில் செய்து பெறப்படுகின்றன.