Friday, December 26, 2008

[Windows Vista] Hidden Apps - Sticky Notes and Windows Journal

This tip is for you if you have a Windows Vista based PC/laptop. Enable the Tablet PC option (it is an optional component).
Once Tablet PC option is enabled, go to Start Menu and search for note or notes, and you have access to Sticky Notes application!
You can find it All Programs >> Accessories >> Tablet PC >> Sticky Notes.

This Sticky Notes does not have a very impressive appearance - black font color on yellow background color. Background/foreground color change option is not available. UI is very much non-Vista. However, it allows you to scribble your notes, and record your notes

If you search for Tablet, you will find another hidden app - Windows Journal!
It has a very book like appearance, and you can add images as well. And you can change the background and font color. And multiple pages. And option to save the Journal entries.
When you first run Windows Journal, it gives you option to install Journal Note Print Driver.

[Windows Vista] Have you found the snipper yet?

If you use Windows Vista OS, this tip may come handy for you as there is a hidden snipper tool available in Vista. All you need is to 'uncover' it.

Goto Start -> Control Panel -> Programs
Click on "Turn Windows Features on or off"
Scroll down to "Table PC Optional Components" and check it if unchecked.

Now, hit the start menu and type in "snip" to find and run the snipping tool.

You can use Snipping Tool to capture a screen shot, or snip, of any object on your screen, and then annotate, save, or share the image. Simply use a mouse or tablet pen to capture any of the following types of snips:
• Free-form Snip. Draw an irregular line, such as a circle or a triangle, around an object.
• Rectangular Snip. Draw a precise line by dragging the cursor around an object to form a rectangle.
• Window Snip. Select a window, such as a browser window or dialog box, that you want to capture.
• Full-screen Snip. Capture the entire screen when you select this type of snip.

After you capture a snip, it's automatically copied to the mark-up window, where you can annotate, save, or share the snip.

Links: Use Snipping Tool to capture screen shots

Monday, December 22, 2008

Download McAfee Antivirus for Free - till 12/31

A single license of McAfee VirusScan Plus 2009 costs around $40 but you may have it for free via this link. Enter coupon code VSPPROMOCF and click Checkout.

The code is valid through December 31, 2008. You will also receive free upgrades to McAfee software for the next one year.

This release of VirusScan Plus is available for download on Windows 2000, Windows XP and Windows Vista systems only.

Link: McAfee VirusScan Plus 2009

Saturday, November 15, 2008

Do you share Google Reader?

Do you share your Google Reader items? I have been doing so for quite some time, but, alas, none of my friends have been doing so. Do you share your Google Reader items. My Google Reader page is available here and feed here.


↑ Grab this Headline Animator

Tuesday, November 4, 2008

Introduction to AOP has started a new series aiming to introduce AOP - Aspects Oriented Programming. Check out the first article in the series.

Aspect Oriented Programming (AOP) is a programming paradigm that aims to promote desirable software characteristics that have been difficult to implement in the current OOP (Object Oriented Programming) technologies. Desirable software characteristics include the DRY principle (Don’t Repeat Yourself), 1:1 modularity, information hiding, and separation of cross-cutting concerns. Examples of cross-cutting concerns are logging, security, transactions, remoting, caching, lazy instantiation, and even business logic.

Core AOP (Part I): Introduction to AOP

Tuesday, October 21, 2008

What is Maven?

Maven is a popular open source build tool for Java projects, designed to make build process easy. It uses a declarative approach, where the project structure and contents are described. This approach differs from Ant's task-based approach and make files.

Maven follows some basic concepts -
- Same directory structure for all project contents so that once you are familiar with these standard/default locations, you will be able to navigate within any Maven project you build in the future with much ease,
- Your enterprise project can consists of multiple sub-project, each doing its own bit of activities, e.g. a web project, a number of java project, an ejb project - all of these may be the part of an enterprise project. So, you can create appropriate artifacts for each of the project - war file for web projects, jar for java and ejb projects. Then these artifacts can be clubbed using a standard Maven build to create an Ear for deployment.
- Standard naming conventions
- Another important concept to keep in mind is that everything accomplished in Maven is the result of a plugin executing. There is a plugin for every activity in Maven, be it compiling source code, creating JARs, creating Javadocs, running tests etc.

and these results in a build life-cycle process that allows you to take your software development to the next level. It allows to set up a repository, thus allowing you to enforce company-wide development standards and reduces the time needed to write and maintain build scripts.

A Maven project depends on a pom file. A pom, or Project Object Model, file is an xml file and it resides in the project root directory as pom.xml. It contains the description of project, information about versioning and configuration management, dependencies, application and testing resources among others.
here is a part of such a pom file

<name>My Project :: Enterprise Application</name>
<description>My Project EAR</description>

This is an example of pom file used in an enterprise java project to create an ear file.
  • project - This is the top-level element in all Maven pom.xml files.
  • modelVersion - This required element indicates the version of the object model that the POM is using. The version of the model itself changes very infrequently, but it is mandatory in order to ensure stability when Maven introduces new features or other model changes.
  • groupId - This element indicates the unique identifier of the organization or group that created the project. The groupId is one of the key identifiers of a project and is typically based on the fully qualified domain name of your organization. For example org.apache.maven.plugins is the designated groupId for all Maven plugins.
  • artifactId - This element indicates the unique base name of the primary artifact being generated by this project. A typical artifact produced by Maven would have the form -. (for example, myapp-1.0.jar). Additional artifacts such as source bundles also use the artifactId as part of their file name.
  • packaging - This element indicates the package type to be used by this artifact (JAR, WAR, EAR, etc.). This not only means that the artifact produced is a JAR, WAR, or EAR, but also indicates a specific life cycle to use as part of the build process. The default value for the packaging element is jar.
  • version - This element indicates the version of the artifact generated by the project.
  • name - This element indicates the display name used for the project. This is often used in Maven's generated documentation, and during the build process for your project, or other projects that use it as a dependency.
  • description - This element provides a basic description of your project.
Maven Lifecycle
Just like software development lifecycle, Maven's build lifecycle consists of a series of phases where each phase can perform one or more actions. For example, the compile phase invokes a certain set of goals to compile a set of classes. Instead of invoking plug-ins, the Maven 2 developer invokes a lifecycle phase:
mvn compile.

Some of the more useful Maven 2 lifecycle phases are the following:
  • generate-sources: Generates any extra source code needed for the application, which is generally accomplished using the appropriate plug-ins
  • compile: Compiles the project source code
  • test-compile: Compiles the project unit tests
  • test: Runs the unit tests (typically using JUnit) in the src/test directory
  • package: Packages the compiled code in its distributable format (JAR, WAR, etc.)
  • integration-test: Processes and deploys the package if necessary into an environment where integration tests can be run
  • install: Installs the package into the local repository for use as a dependency in other projects on your local machine
  • deploy: Done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects
The lifecycle phase invokes the plug-ins it needs to do the job. Invoking a lifecycle phase automatically invokes any previous lifecycle phases as well.

Dependecies in Maven
In an enterprise application, you may not need to include all the dependencies in the deployed application. Some JARs are needed only for unit testing, while others will be provided at runtime by the application server. Thus using dependency scoping, Maven lets you use certain JARs only when you really need them and excludes them from the classpath when you don't.

When a dependency is declared within the context of your project, Maven tries to satisfy that dependency by looking in all of the remote repositories to which it has access, in order to find the artifacts that most closely match the dependency request. If a matching artifact is located, Maven transports it from that remote repository to your local repository for project use.
Maven has two types of repositories: local and remote.
Maven usually interacts with your local repository, but when a declared dependency is not present in your local repository Maven searches all the remote repositories to which it has access to find what’s missing.
Local Maven repository
When you install and run Maven for the first time, it will create your local repository and populate it with artifacts as a result of dependency requests. By default, Maven creates your local repository in ~/.m2/repository. You must have a local repository in order for Maven to work. Windows users can check in C:\Documents and Settings\userid\.m2\repository to verify local repository.

Amazon.comGet Technical Books from

Sunday, October 19, 2008 or

I tried reaching Google Adsense via in Google Chrome, and I was prompted with the this message :)

Amazon.comGet Technical Books from

Sunday, October 12, 2008

[Pic] Stone (40,000 BC) Vs IPhone (2008)

Amazon.comGet Technical Books from

Saturday, October 11, 2008

[Pic] 1 Billion Strong India in 1 Picture

Amazon.comGet Technical Books from

Saturday, September 20, 2008

You're fired: What it costs to sack a worker

After years of fat profits and bonuses, cost-cutting is once again at the top of the corporate agenda. For companies wanting to chop out middle-management dead wood or sack factory workers, costs can vary enormously across the world. America, New Zealand and Tonga are among the most company-friendly countries, requiring no penalties or compensation to fire a full-time employee of 20 years. By contrast, a business in Zimbabwe must shell out well over eight years' worth of pay to sack a worker. But companies in Venezuela and Bolivia are even more tied—workers there cannot be fired at all.
Source - economist

Amazon.comGet Technical Books from

Monday, September 15, 2008

NASA Remembers 9/11

"The world changed today. What I say or do is very minor compared to the significance of what happened to our country today when it was attacked." So said Expedition 3 Commander Frank L. Culbertson, upon learning of the Sept. 11, 2001, attack on the World Trade Center.

This image is one of a series taken that day of metropolitan New York City by the International Space Station's Expedition 3 crew that shows a plume of smoke rising from the Manhattan skyline.

Upon further reflection, Commander Culbertson said, "It's horrible to see smoke pouring from wounds in your own country from such a fantastic vantage point. The dichotomy of being on a spacecraft dedicated to improving life on the earth and watching life being destroyed by such willful, terrible acts is jolting to the psyche, no matter who you are."
Source: NASA Get Technical Books from

Monday, September 8, 2008

How to Block Ads in Google Chrome

There has been a tremendous response to Google Chrome (at least from the Techie community), however, people are still holding from using Chrome for the simple reason - it cannot stop those ads being served to you. Now, there is a 'fix' to avoid that. At Geekzone forums, Master Geek wmoore explains how to block 'em without an extension.
  1. Download and install Privoxy.
  2. Click on the Wrench icon in Chrome in the upper right corner.
  3. Choose options>Under The Hood>Change proxy settings.
  4. In the Internet Properties dialog's Connections tab, click on the LAN settings button.
  5. Check off "Proxy settings" and in the address setting add and in the port 8118.
  6. If you have the option, you can also check off "Bypass proxy for local settings".
  7. Click "Ok", close Chrome and restart it.

Geekzone - Adblock for Chrome

Amazon.comGet Technical Books from

Friday, September 5, 2008

Some Basic Linux And Unix Commands

cat - Lets you view the contents of a file. Many linux commands can use the redirection symbol > to redirect the output of the command. For example, use the redirection symbol with the cat command to copy a file: cat /etc/shells > newfile ( the contents of the shells file are written to newfile ).
cd - Changes the directory.
chmod - This command changes the attributes assigned to a file.
clear - Clears the screen. This command is useful when the screen has become cluttered with commands and data that you no longer need to view.
cp - Used to copy a file.
date - Entered alone, this command displays the current system date settings. Entered in the format date , this command sete the system date.
echo - Displays information on the screen.
fdisk - Creates or makes changes to a hard drive partition table.
grep - Searches for a specific pattern in a file or in multiple files.
hostname - Displays a server's FQDN.
ifconfig - Used to troubleshoot problems with network connections under TCP/IP, this command can disable and enable network cards and release and renew the IP address assigned to these cards.
kill - Kills a process instead of waiting for the process to terminate.
ls - This command is similar to the DOS Dir command, which displays a list of directories and files.
man - Displays the online help manual, called man pages.
mkdir - This command makes a new directory.
more - Appended to a command to display the results of the command on the screen one page at a time.
mv - Moves a file or renames it, if the source and destination are the same directory.
nestat - Shows statistics and status information for network connections and routing tables.
nslookup - Queries doman name servers to look up domain names.
ping - Used to test network connections by sending a request packet to a host. If a connection is successful, the host will return a response packet.
ps - Displays the process table so that you can identify process ID's for currently running processes.
pwd - Shows the name of the present working directory.
rm - Removes the file or files that are specified.
rmdir - Removes a directory.
route - Entered alone, this command shows the current configuration of the IP routing table. Entered in the following format, it configures the IP routing table: route
vi - Launches a full screen editor that can be used to edit a file.
whatis - Displays a brief overview of a command.

Amazon.comGet Technical Books from

Geek 2.0: Are you a geek? Think again!

In this digital era that we’re all living in, a lot of people who think they aren’t geeks actually are. Just look at the following illustration by David Armano and you’ll understand right away.

Tuesday, September 2, 2008

Here comes Google Chrome...

On the heels of launch of Firefox 3 and IE 8 Beta launch, comes the news of Google's own browser - Google Chrome. Google has used altogether a different strategy to announce the launch - it released a comic book for the same. Certainly Google want to show that it is a fun tool, and there is still room for it in the browser space (despite the furious battle between Microsoft IE and Mozilla Firefox).
Chrome seems to have a fresh approach to browsing tools, and a new set of features. With the IE 8 in beta, and Firefox 3 going strong, it looks to be a good season for innovation on the Web.

Amazon.comGet Technical Books from

Wednesday, July 30, 2008

Have u tried photofunia?

Came across this Russina site which gives interesting twists to photographs. You dont need to be a member to do so. Give it a try...u will surely like it.
Limitation - You can upload pix of upto 500kb only :(
Posted by Picasa

Monday, June 23, 2008

21 Laws of Computer Programming

As any experienced computer programmer knows, there are unwritten laws that govern software development. However there are no penalties for breaking these laws; rather, there is often a reward. Following are 21 Laws of Computer Programming:
  1. Any given program, once deployed, is already obsolete.
  2. It is easier to change the specification to fit the program than vice versa.
  3. If a program is useful, it will have to be changed.
  4. If a program is useless, it will have to be documented.
  5. Only ten percent of the code in any given program will ever execute.
  6. Software expands to consume all available resources.
  7. Any non-trivial program contains at least one error.
  8. The probability of a flawless demo is inversely proportional to the number of people watching, raised to the power of the amount of money involved.
  9. Not until a program has been in production for at least six months will its most harmful error be discovered.
  10. Undetectable errors are infinite in variety, in contrast to detectable errors, which by definition are limited.
  11. The effort required to correct an error increases exponentially with time.
  12. Program complexity grows until it exceeds the capabilities of the programmer who must maintain it.
  13. Any code of your own that you haven't looked at in months might as well have been written by someone else.
  14. Inside every small program is a large program struggling to get out.
  15. The sooner you start coding a program, the longer it will take.
  16. A carelessly planned project takes three times longer to complete than expected; a carefully planned project takes only twice as long.
  17. Adding programmers to a late project makes it later.
  18. A program is never less than 90% complete, and never more than 95% complete.
  19. If you automate a mess, you get an automated mess.
  20. Build a program that even a fool can use, and only a fool will want to use it.
  21. Users truly don't know what they want in a program until they use it.
[Received in an email]

AdvertisementGet great discounts on Textbooks

Monday, June 16, 2008

25 things that are not what they seem

  1. A firefly is not a fly - it is a beetle
  2. A prairie dog is not a dog - it is a rodent
  3. India ink is not from India - it is from China and Egypt
  4. A horned toad is not a toad - it is a lizard
  5. A lead pencil does not contain lead - it contains graphite
  6. A douglas fir is not a fir - it is a pine
  7. A silkworm is not a worm - it is a caterpillar
  8. A peanut is not a nut - it is a legume
  9. A panda bear is not a bear - it is a relative of the raccoon
  10. An English horn is not English and it isn’t a horn - it is a French alto oboe
  11. A guinea pig is not from guinea and it is not a pig - it is a rodent from South America
  12. Shortbread is not a bread - it is a thick cookie
  13. Dresden China is not from Dresden - it is from Meissen
  14. A shooting star is not a star - it is a metorite
  15. A funny bone is not a bone - it is the spot where the ulnar nerve touches the humerus
  16. Chop suey is not a native Chinese dish - it was invented by Chinese immigrants in California
  17. A bald eagle is not bald - it has flat white feathers on its head and neck when mature, and dark feathers when young
  18. A banana tree is not a tree - it is a herb
  19. A cucumber is not a vegetable - it is a fruit
  20. A jackrabbit is not a rabbit - it is a hare
  21. A piece of catgut is not from a cat - it is usually made from sheep intestines
  22. A Mexican jumping bean is not a bean - it is a seed with a larva inside
  23. A Turkish bath is not Turkish - it is Roman
  24. A koala bear is not a bear - it is a marsupial
  25. A sweetbread is not a bread - it is the pancreas or thymus gland from a calf or lamb

[Received in an email]

AdvertisementGet great discounts on Textbooks

Monday, May 12, 2008

Google Maps Street View comes to Phoenix

Google Maps Street View is now partially covering Phoenix, Az. I was looking for the nearest bank of America ATM close to my place, and then on Google Maps, I find the Street View option.

AdvertisementGet great discounts on Textbooks

[Slide Show] Viva Las Vegas!

Recently, we visited Las Vegas with friends. Here is a slide show of few of the pics.

Shot with Canon 870IS.

AdvertisementGet great discounts on Textbooks

[Pic] In Grand Canyon

In Grand Canyon
Originally uploaded by rgarg

I was in Grand Canyon recently with family and friends. Shot with Canon 870IS.

Sunday, May 11, 2008

Monday, May 5, 2008

Bellagio Musical Water Fountains

Here is the famous Musical Fountains at Bellagio, Las Vegas.
I was not carrying my handycam with me, but I had my Canon 870IS digital camera with me. With optical zoom of 3.8, it was not-at-all bad shot :)

Hope u enjoy it as much!

Sunday, May 4, 2008

How to be a Programmer: A Short, Comprehensive, and Personal Summary

A very good and detailed description about what it takes to be a good programmer, seen from a holistic point of view. Robert L Read describes the big picture and takes into account all factors that...

Link: (via Stumble, thanks to braahm)

AdvertisementGet great discounts on Textbooks

Monday, April 28, 2008

Engineer Vs Manager

A man in a hot air balloon realized he was lost. He reduced altitude and spotted a woman below. He descended a bit more and shouted, "Excuse me, can you help me? I promised a friend I would meet him an hour ago, but I don't know where I am."
The woman below replied, "You're in a hot air balloon hovering approximately 30 feet above the ground. You're between 40 and 41 degrees north latitude and between 59 and 60 degrees west longitude."
"You must be an engineer," said the balloonist.
"I am," replied the woman, "How did you know?"
"Well," answered the balloonist, "everything you told me is technically correct, but I've no idea what to make of your information, and the fact is I'm still lost. Frankly, you've not been much help at all. If anything, you've delayed my trip."
The woman below responded, "You must be in Management."
"I am," replied the balloonist, "but how did you know?"
"Well," said the woman, "you don't know where you are or where you're going. You have risen to where you are due to a large quantity of hot air. You made a promise, which you've no idea how to keep, and you expect people beneath you to solve your problems. The fact is you are in exactly the same position you were in before we met, but now, somehow, it's my fault."

AdvertisementGet great discounts on Textbooks

Monday, April 14, 2008

Back after a while

Its been a while that I appeared here. I have been much occupied with my project work off lately. Things seems ok now, and in control too :)
I am currently in Phoenix, Az, working on a travel related product for a big US Corporate, and we have been doing some good work in GWT, Spring, Struts, DB2 based Application. Application is interacting with a Vendor Application. Web Services are employed; both consumer and provider.
I dont know how long I would stay here, but would like to enjoy my stay here. Wife and kid are here with me. Phoenix is notorious for the summers, however, being from Delhi should help as both cities face extreme summers.


AdvertisementGet great discounts on Textbooks

Saturday, February 9, 2008


Popular Posts (Last 30 days)

This is a personal blog and I do not speak for my employer.