Search This Blog

Friday, November 19, 2010

My Notes after listening to: "Where Good Ideas come from"- By Steven Johnson

After watching a TED presentation of Steven Johnson's "Where Good Ideas come from", I got interested in the book and bought an audio book. I came across some cool interesting facts and points while listening to this book and made some random notes. I believe in Steve Jobs saying- "Dots in life can only be connected going backward." So, I think this notes will help me in some way in future where I can connect back.

1. It seems as per some scientific and IQ studies: the more disorganized your brain is, the smarter you're.

2. Reading books from different fields give us opportunity to find new ideas.

3. Steven Johnson takes example of Gutenberg's printing technology. Gutenberg takes the screw press mechanism used in the agricultural production to press the grapes and olive oil seeds to design the printing device. It is described in the book as Exaptation. Exaptation - taking ideas from one box and applying to problems in another box.

4. Google is a "Serendipitous engine" - realized after reading this book. That appears to be true for me. As a programmer, whenever I try to do some research on some new technology or technique to use in my projects I always get something more to learn.

5. Brainstorming opens the hunches and new ideas.

6. Connecting hunches is important.

7. Idea exchange places are important. We need to create a environment to connect and nurture the hunches.

8. "Being wrong forces you to explore."

9. "Good ideas are identified welcomed because the Signal-to-noise ratio is high."

10. "People who have broad social networks are very creative which are diverse."

11. Keeping the spark alive throughout the development process of a project or idea is important.

12. Urban life is good for new ideas.

13. When we don't have to ask for permission, innovation thrives.

14. " Good ideas spill over. They stand against the giants that come against them."

15. "More than one formula exists for innovation."

If I used any phrase from the book, I tried to put them under quotes. This summary is from "Where good Ideas come from" - By Steven Johnson.

Thursday, September 23, 2010

Future of mobile phone technology

Future of mobile phone technology. It's really interesting to see where it can go.

Saturday, June 26, 2010

Qualities of a Flat world professional ...

After listening to World is Flat audio book I prepared short list of things which can make up a Flat world professional.

1. Curiosity Quotient. Always curious to learn and understand new subjects.

2. Adapt quickly to new technologies.

3. Always having burning fire inside to create or build new things.

4. Searching for new problems to be solved and finding efficient and scalable solutions.

5. Being a synthesizer. Understanding a real world problem and able to define a solution by synthesizing techniques or concepts from multiple disciplines.

6. Look beyond what you know, what you have studied, and try to get a grasp of new subjects.

7. Excellent communicators. Ability to define a business problem correctly, communicating it to the team, and getting it implemented with the help of a team.

8. Play as a global citizen.

9. Ability to mingle with people from different cultures.

10. Able to collaborate and co-create.

11. Being a big-picture person and having vision to foresee the implications of a particular problem or solution.

Resource : This is based on some phrases or words used in World is Flat by Thomas L. Friedman.

I found that book to be very interesting and helped in redefining my understanding of the engineering profession.

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.