Search This Blog

Friday, February 19, 2010

Coming back from Sir Harold Kroto, Nobel Laureate's speech

I'm just coming back from the Sir Harold Kroto's speech at University of West Georgia, Carrollton, GA. He's one of the three recipients to share 1996 Nobel prize in Chemistry. I feel that he's a down-to-earth humble person and presentation was a very fun-filled speech. He gave a very clear message to the young generations that Science is not a boring subject. Usually, whenever somebody portrays a picture of a scientist, it'll be old person with a long gray hair, and beard. But, in his presentation he presented pictures of young and energetic Einstein, Maxwell, and himself to show that scientists are not boring people.

He asked young Engineers and Scientists to keep themselves away from working on devices which destroy the world.

Are you a programmer? Then worth reading it:

I was thinking about the lessons I have learned from my professional and academic experience and following is the result of it :

Quick tips on coding :

1. Write organized and readable code.

2. If you have time, put descriptions for classes and methods to generate javadocs.

3. If you're duplicating code in multiple places and multiple files, then it's a red flag to indicate that you're not doing correct. Always it's good to have a specific functionality in one class or in method and then reuse it in multiple places. Always try Object Oriented Programming principles.

4. when you're developing web pages, don't put business logic or any kind of code into your actual web pages. Always try to follow MVC (Model View Controller ) pattern. If you want to add any logical functionality try to use tag libraries.

5. If you're working with javascript, don't put the code directly into web pages. It looks messy and it's not re-usable in multiple places. Save it in a file and include those .js files in your web pages. That way, it is easy to re-use and manage.

6. In case of java web apps don't deploy WAR (Web Application Archive) files directly into the web server. Place it somewhere on the machine and refer to them using context files in the server. That way, if you have to make any changes you don't have to re-start the server and managing will be more easy.

7. If you have to work with multi-threaded applications, please think carefully before using static, synchronized.

8. When working with database queries, don't combine your code with queries. Always keep them separate in some helpers or Data Access Objects.

9. For new projects, always try to use openly available persistence frameworks like Hibernate to keep the data accessing part clean.

10. Please never use System.out.println statements for debugging in applications. If you want to log something and debug, use logging frameworks like log4j.

Saturday, February 13, 2010

Wonderful TED talk on healthy food movement in schools

Ted Talk from Jamie Oliver, a British Chef on how to fight the obesity in America with healthy food movement. Worth watching it:

Friday, February 12, 2010

How to pursue a big idea.

This is an interesting article I found on "Startups and Entrepreneurs Get Funded" group on LinkedIn.

Worth reading it:

Click here for the article

Thursday, February 11, 2010

How to manage a IT project efficienty?

I was thinking about a check list or things to-do and not to-do when I get into management, start my own projects or in my own company or personal projects. Then, I started thinking about my own experiences from Internship, as a research assistant, and finally from my professional experiences and came up with the following rules which will help in making a IT project successful.

1. Web is all about user interface. If you're considering developing any kind of web application, it is very important to have nice, simple and user friendly user interface.

2. Simple to understand presentation of data or information to user is one of the success factors for a website.

3. Always hire professionals for the job. Don't use back-end developer / engineer to design your web pages with CSS and HTML coding.

4. Get the templates designed by web designers.

5. Hire solid back-end developers who have solid understanding of design principles. Don't encourage coding without design.

6. Don't use developers / engineers for database administration until and unless they've demonstrated DBA skills. In most of the applications data is like a heart. So, don't play with data.

7. Hire a solid DBA and systems admin who can administer your database and as well your systems and servers.

8. Use available and open source tools to reduce the development time. Don't try to develop everything within your team. There may be some ready to use solution outside in open-source community. In this collaborative information age, think application development as a mash-up of different small applications. Don't try to develop everything and make it hard for the team and the company.

9. Research before the start of any project. There's so much of information outside. In the current world, information is the king. Whoever has the information, they're the leaders.

10. Don't under-estimate your juniors by age and your experience.

11. Encourage new ideas. Give room for innovation. Allow your team members to present their ideas.

12. Provide ways for your team members to relax and enjoy the work place.

13. Don't make work place a hell for the team members.

14. Never use technical jargon in-front of end users or in management meetings.

15. Try to make long-lasting impact from whatever you do.

16 Stop micro-management. Instead, guide and direct everybody in your team by making right decisions.

17. Never do any estimates in haste or on the fly. Analysis is good for any kind of decision making.