Tuesday, April 27, 2010

Einstein and the Special Theory of Relativity

Author :    Ajoy Ghatak
Published: 2010
Publisher: Viva Books
Paperback: 170 Pages
Buy from flipkart.com

Modern physics especially the Theory of Relativity  had  fascinated me in my high school, though I did not really understand it very well. And for quite some time I had been on  a lookout for an interesting and well written  book which could help me understand it without trivializing the subject too much . And this book by Prof. Ajoy Ghatak, of IIT Delhi, perfectly fitted my need.
Interestingly this book starts with a  summary chapter which explains in 10 pages the  concept of  Special Theory of Relativity (completely equation free !) with simple examples. For a layperson this is more than enough. And if one cannot grasp what is said in this chapter, one need not proceed further ! But having a Ph.D in Engineering which  made me capable to stomach a reasonable dose of mathematical equations  I dared to venture forward.
The main book consists of four chapters.
In the first chapter author has given a brief life sketch of Einstein and briefly discussed his numerous contributions. This is quite an interesting chapter which also gives some insights into the personal life of Einstein , how he collaborated with other scientists, the story and controversies surrounding his Nobel Prize.
Chapter two discusses the first principles of  relativity - Constant Speed of Light, Time Dilation and Length Contraction , supported by interesting narrations of Mu-Meson experiment, Michelson Morely experiment.
and the the Twin Paradox .
In chapter three the author derives Einstein's world famous equation E = mc**2 in a fairly easy to understand manner.
Derivations of Lorentz transformation equations are provided in chapter four.  In my opinion this chapter though dealing with a very important topic was rather unnecessary in the book of this kind. It sort of breaks the whole flow of the book and conveys a sense of abrupt ending to the book. Besides there is nothing in this chapter which adds to the understanding of the concepts so well explained in the previous chapter.
The book has lots of examples, illustrations, problems and references which will vet one's appetite to know more about the subject of Relativity.
A very interesting book for those interested in Physics and comfortable with moderate amount of Mathematics. It is somewhere between an academic tome and a popular science book.

Wednesday, April 21, 2010

Software Engineering Best Practices

Author:       Caper Jones
Published:   2009
Publisher:    Tata McGraw Hill
Paperback:   688 Pages

If software engineering has to be recognized as a true profession like other conventional engineering fields  it has to inculcate the discipline of better measurements, better benchmarks, better quality control, and better security  during the process of software development. Thus opines Caper Jones, the author of this book who is a well-respected authority in this field.

He also says that majority of the best-practice claims in software engineering fields are not based on solid measurements using valid metrics. In this book he attempts to remedy the situation by describing the best practices where the available quantitative data proves their effectiveness at least to some extent.

The book consists of nine chapters. I have summarized their key points below, heavily drawing upon author’s own summary in the introductory chapter. 
Detailed table of content is available at McGraw Hill website.

Chapter 1- Introduction and Definitions of Software Best Practices: The author proposes a rating on a ( -10 to +10 scale) , based on the measured   percentage productivity and quality improvement data collected by him and his team. He then ranks 200 practices ( which includes methodologies and results also) in software engineering which he has observed in 13,000 projects  ( all types and sizes)in 600 companies over a period of 20 years on this rating scale. Based on the ratings these practices are classified as Best Practices (rating > 7.5), Very Good Practices, Good Practices, Fair Practices, Neutral Practices, Unsafe Practices, and Worst Practices.   However also recognizing the fact that the best practices may vary depending upon the size and type of projects, the author also lists best practices of small projects (1000 Function points), large projects (10,000 function points), IT projects, embedded system  projects.
You can read this chapter online at McGraw Hill website.

Chapter 2- Overview of 50 Software Best Practices: This chapter deals with development best practices, maintenance best practices, management best practices, and sociological best practices such as those dealing with layoffs. Other best-practice areas include security control, quality control, risk analysis, governance, and renovation of legacy applications.

Chapter 3- A Preview of Software Development and Maintenance in 2049: This chapter envisions the software engineering scenario in 2049. It looks ahead to specific technical topics such as role of data mining in gathering requirements and the possible availability of substantial libraries of certified reusable material. Also possible are intelligent agents and search-bots that will accumulate and even analyze information on critical topics. In author’s view significant improvements are needed in security, quality, and reusability to keep pace with hardware and network evolution by 2049.

Chapter 4- How Software Personnel Learn New Skills:  Seventeen channels  - for e.g. paper books, e-books, software journals, e-journals, blogs, wiki sites, commercial education, in-house education, academic education, live conferences, on-line conferences and webinars -  available for transmitting and learning new software engineering information are evaluated in terms of their learning effectiveness,  cost-effectiveness and  long term evolution.
This chapter also suggests curricula for software engineers, software quality assurance personnel, software testers, software project office personnel, and software managers. The author highlights the lack of strong focus on topics like sizing, estimating, planning, metrics, security, quality control, maintenance, renovation, and software engineering economics in the academic curricula.

Chapter 5- Software Team Organization and Specialization:  This chapter shows the results of many different kinds of organization structures, including pair programming, small Agile teams, hierarchical organizations, matrix organizations, and geographically dispersed virtual organizations. It also shows the most effective ways of organizing specialists like software quality assurance, testing, technical documentation, and project offices.

Chapter 6- Project Management and Software Engineering:  Critical management functions that can cause software engineering failures if not done properly – like sizing, planning, estimating, progress tracking, resource tracking, benchmarks and change management – are dealt in this chapter. Author suggests that any software project of non-trivial size should collect both quality and productivity data that can be used for baselines and benchmarks. He argues strongly that failure to do so is a signal that “software engineering” is not yet a true engineering discipline.

Chapter 7- Requirements, Business Analysis, Architecture, Enterprise Architecture, and Design:  This chapter discusses the most widely used methods (including Agile methods, UML) of dealing with requirements and design issues and shows the classes and types of applications for which they are best suited.

Chapter 8- Programming and Code Development:  As of 2009, there are about 2500 programming languages and dialects. In this chapter the author discusses the maintenance nightmare created due to such plethora of languages. He suggests having a National Programming Translation Center that would record the syntax of all known languages and assist in converting applications written in dead languages into modern languages.
Information on the kinds of bugs found in source code, and the most effective “personal” methods of defect prevention and defect removal that are carried out by software engineers prior to public activities such as function and regression testing are included in this chapter.
This chapter also discusses methods of measuring programming productivity and quality levels. It challenges the traditional “lines of code” (LOC) metric since it penalizes high-level languages and distorts economic analysis.  Besides LOC metric does not take into account the non-coding activities like requirements, design, screen, or documentation which constitute more than 60 percent of total development expenses. The alternative is slow and expensive functional metrics which can handle all such activities. However new high-speed functional metrics are starting to appear.

Chapter 9- Software Quality: The Key to Successful Software Engineering: This chapter attempts to cover all major factors that influence software quality, including both defect prevention methods and defect removal methods. It discusses the strengths and weaknesses of formal inspections, static analysis, and 17 different kinds of testing. In addition, the chapter deals with various troublesome metrics those degrade understanding software quality – for e.g. the popular “cost per defect” metric which actually penalizes quality and achieves the lowest cost for the buggiest applications.
The main theme of the chapter is that quality is the driving force that has more influence on software costs, schedules, and success than any other but poor measurement practices have made it difficult to carry out valid software engineering economic studies.
This chapter also challenges two common definitions of quality. The definition that quality means “conformance to requirements” is challenged on the grounds that many requirements are harmful or “toxic” and should not be implemented. The definition that quality means conformance to a list of words ending in “ility,” such as “portability”, is also challenged on the grounds that these terms can neither be predicted nor measured.
The chapter concludes that an activity that cannot measure its own results is not a true engineering discipline and so it is time for software engineering to study critical topics such as defect potentials and defect removal efficiency levels. Otherwise “software engineering” is a misnomer, and software development is only a craft and not a true profession.

This book is a result of extensive research by Caper Jones and provides lots of data and information.  However there are several instances of repetitive information (for e.g. project taxonomy description) in this book, which could have been avoided. Also I felt that Chapter 3 (A Preview of Software Development and Maintenance in 2049) was rather unnecessary.  These have increased the bulk (and the price??) of the book .

The book serves more as a pointer to best practices rather than providing in-depth understanding and know-how of implementing them.  I was expecting more case studies in the book of this type. Besides  I came across very few best practices which I was not earlier aware of.

On the whole a good reference book, especially if you need to do some research or need some facts and figures for arguing the case of a best practice. But I don’t otherwise consider it as a MUST Read book.

Wednesday, April 14, 2010

Laughter is the Best Medicine

Publisher:   Reader's Digest
Published:  2006
Hardback: 416 pages

Seeing the lighter side of things and laughing away your troubles is the one of the crucial ingredients to a happy  life. Picking up this book when you are in dumps and randomly reading any page (of course you can read it cover-to-cover too) from it will drive your blues away. This is one of the best anthology of humorous pieces I have read in recent times.

There are more than 1000 cartoons, jokes, one-liners, poems and prose extracts, plus dozens of  classic TV and radio script extracts - from The Office, Fawlty Towers, Dad's Army and other comedy shows.
These humorous pieces embrace a wide variety of topics - The Ages of Man, The Body, Food, Booze & Smokes, Love & Sex, People & Places, Money Matters, Transports , War & Peace, Law & Order, Games & Sports, Arts & Entertainment, The Political World, Home Life, Work Life, Pets & Other Animals & Spiritual Life.

You can  find quotes by some of the wittiest people like Ronnie Barker, John Cleese, Tommy Cooper, Les Dawson, W.C. Fields, Dawn French, Jennifer Saunders, Ricky Gervais, Tony Hancock, Edward Lear, Groucho Marx, Spike Milligan, P.G. Wodehouse, Victoria Wood and many more (over 200 humorists). There is a  also a section with brief biographies about these laughter makers.

Browse a few pages of this book at Amazon site.

Just one minor downside to this book - the humor in about  5-10 % of the selections  may not make sense for those who are outside UK. At least it went above my head for me. But what the heck ! Enjoy the rest 90 % !

Strongly recommend it for anybody's bookshelf. Unfortunately it can't be in mine. The copy I read was borrowed from the library which I must return tomorrow. However I have noted down some of my favorite pieces. I was half tempted to post at least a few of those here. But I feel rather lazy to do so. Besides my sense of humor  may not match yours. So just get hold of the book by hook or crook and enjoy !

Friday, April 9, 2010

Gut Feelings - Short Cuts to Better Decision Making

Author:                   Gerd Gigerenzer
Published:               2007
Publisher:                Penguin Group
Paperback:             288 pages
Buy from Amazon: Click Here
Readers in India:     
Buy from flipkart.com 

Have you  read Malcolm Gladwell's bestseller Blink ? I have not read it yet, but I think this book Gut Feelings which I  just finished reading more than makes up for it.  Because a critical source for Malcolm Gladwell's Blink was the breakthrough research on intuitive thinking carried out by Gerd Gigerenzer who is the author of this book.
This book  warns you from getting stuck in analysis paralysis mode and strongly advocates the necessity and urgency to take decisions based on your intuitive gut feelings given the limited information and time you have at your disposal. Such decisions, the author argues , are generally as good as if not better than the decisions taken with tonnes of data and information.
According to the author gut feelings (aka intuition, hunch) refers to a judgment
  1. that appears quickly in consciousness,
  2. whose underlying reasons we are not fully aware of, and
  3. is strong enough to act upon
The rationale behind working of gut feelings consists of  two components
  1.  simple rules of thumb (heuristic), which takes advantage of
  2. evolved capacities of the brain.
As per the author the goal of this book is to first explain the hidden rules of thumb underlying the intuition and then to understand when the intuitions are likely to succeed or fail.

Some  such  rules of thumb behind intuitive decision making are:
  • If a person looks at one alternative (longer than at others), it is likely the one the person desires.
  • In an uncertain environment, good intuitions must ignore information.
  • Recognition heuristic - If you recognize one object but not the other, then infer that the recognized object has higher value.
  • Health care heuristics - If you see a white coat, trust it. Don't ask your doctors what they recommend. Ask them what they would do if it were their mother.
  • Default Rule - If there is default, do nothing about it
  • Social instinct heuristics - Do what the majority of your peers do. Do what a successful person does.
 Such common sense heuristics and many more are discussed with convincing examples and case studies throughout the book.

Overall a very interesting read, though at certain places it tends to be  somewhat repetitive.

Tuesday, April 6, 2010

The CV Book

Author:        James Innes
Published:    2009
Publisher:    Pearson Education Ltd.
Paperback: 264 pages
Readers in India

As and when the current recession scenario improves, the prospective employers and recruiting agencies will start shortlisting candidates for interview from thousands of CVs in their database. 
What do you need to do to make your CV stand out and catch their eye and  get you called for an interview ? This is precisely what James Innes, MD of one of UK's leading CV consulting firm tries to answer through this book.

This extremely well laid out and highly readable book has 9 parts.

Part 1 tells you how to get the basics of your CV right - its presentation style, its content and its structure.

In Part 2, the author provides guidance on writing each of the section expected in a CV - the professional profile, objective, educational qualifications, career history, key skills, achievements, other interests and activities.

The 15 most common mistakes people commit while writing a CV and the tips on how to avoid them are provided in Part 3.

Part 4 is probably what may set this book from other similar books on CV writing. It has a very useful chapter where the author advises you how to tackle in a CV the issues like not having relevant work experience, having breaks in the career, too frequent job changes, being overqualified, being over age etc. This part also tells us how CVs for different professions like medical, academic, legal, engineering, design, performing arts, military services can differ from the standard boiler-plate CVs.
This book is mainly caters to writing CVs for UK based jobs. However one of the chapters in Part 4, provides general guidance on how to modify your CV if you are applying for jobs in other European countries, USA, Canada, Australia, New Zealand and South Africa.

Part 5 very briefly tells you how to tailor your CV to the job vacancy that has been advertised for. As per the author the best technique is to subtly repeat back in the CV , the key words which is found in the recruitment ad for that job.

Part 6 discusses the the key points you should keep in mind while e-mailing your CV . For e.g. specifying job title in the subject field, placing contents of the cover letter in the body of the e-mail instead of sending it as an attachment, giving meaningful and clearly identifiable name for the file which contains your CV.

Part 7 has a couple of chapters on how to write cover letters and on how to fill in the application form provided by the company where you are applying for job. Also there are two short chapters devoted to hunting for jobs and facing interviews. These in my opinion are more of teasers to entice readers to visit the author's company website and buy his book on interviews. Nothing wrong about it, though I feel these chapters were not really necessary in this book.

Part 8 has a selection of  about 20 odd sample CVs covering a wide range of industry and seniority levels. These can also be downloaded free from  http://www.ineedacv.co.uk/freetemplates.

In Part 9 the author  summarizes  all the important principles of CV writing covered in this book by discussing the following five top tips to make your CV stand out:
  1. Maximize readability
  2. Include a Professional Profile and Objective
  3. Include Achievements where possible
  4. Keep your CV concise and to-the-point
  5. Target/tailor your CV
The book is written with a great sense of humor supported by examples of CV bloopers encountered by the author in real life.

A must read for every job seeker !
I also recommend visiting the website of the author's firm The CV Centre (http://www.ineedacv.co.uk) for useful resources. You can even get a very high-level review of your CV done free there.