The 7 Habits of Highly Effective People Summary

I could only go so long, on a blog devoted to books about self-improvement and personal effectiveness, without covering the quintessential modern tome on the subject. The 7 Habits of Highly Effective People has become so representative of increasing personal effectiveness that it has almost become a cliché, even to the point where it is derided as representative of the inauthenticity and shallowness of many who claim to practice it. I found myself oddly embarrassed to be seen reading this book on the subway – lest someone attribute that same character to me.

In truth, this book is more worthy of its acclaim than of its infamy. If you can push past the Buzzfeed-style clickbait titles to understand the truths behind them that were the impetus for people to later turn them into buzzwords, you will find enormous value in these pages.

The 7 Habits

In the pursuit of personal effectiveness, most people try to change one of two things: their behavior (“I’m going to try really hard at this!”) or their attitude (hence the popularity of self-help books and motivational speakers). If you’ve tried these approaches, you know them to be ineffective. The only solution for real change is the recognition and changing of your personal “paradigm,” or pattern of perception by which you view the world.

To sum up the seven habits at a high level, an effective person has learned to make the paradigm shift from outside-in to inside-out, progressing along the growth continuum from dependence to independence to interdependence. He has found the balance of being able to produce while also increasing his capacity to further produce.

That may sound like a bunch of gobbledygook, but it will become clear as you progress through the habits and make the paradigm shift the author writes about.

The first three habits are habits of self-mastery, or private victories. These habits must come first, after which come the second three habits of public victories. The last habit is one that is key to the proper functioning and renewal of the first six.

Habit 1: Be Proactive

Put aside the dictionary definition of the word “proactive” for a moment, as well as any meaning you’ve learned to attribute to it from your time in the workforce. You’ll have to do this with several of the upcoming habit titles in order to understand what Covey is saying.

The best way to understand what a paradigm is, as well as which paradigm an effective person possesses, is to first understand the three widely accepted paradigms that most people use to explain human behavior:

  1. Genetic determinism (you are who you are because of your genes)
  2. Psychic determinism (your childhood and upbringing shaped your personality), and
  3. Environmental determinism (the things around you make you who you are)

The prevailing viewpoint is that at our core, we are animals, compelled by a given stimulus to give a certain response. While there is certainly some truth to this, Covey quotes psychiatrist and Holocaust victim Victor Frankl: “Between stimulus and response, man has the freedom to choose.” (See Frankl’s book Man’s Search for Meaning7 Habits of Highly Effective People for his story.)

The author defines proactivity (and the paradigm shift that comes with it) as exercising your freedom to choose self-awareness, imagination, conscience, or independent will in between stimulus and response. If you’re unhappy, unsuccessful, etc., it’s because you chose to let something make you that way instead of choosing your own response. This is not to minimize the effect that genetics, upbringing, or environment have on who a person is; however, being an effective person requires that you recognize your responsibility to shape your response to those things.

This is not just positive thinking; being proactive means understanding the reality of a situation, but understanding the reality of a situation also means understanding the reality that you can choose your response to your circumstance. We all have a “circle of concern,” representing all the things that we care about. We can only influence a small portion of the things in our circle of concern, and many people spend their time and energy worrying or complaining about the things they can’t control. The more you focus on things outside your control, i.e. outside your “circle of influence,” the fewer things you’ll be able to control. Your circle of influence will shrink. In contrast, by focusing only on those things within your control, you will find that your circle of influence will grow.

To shift your focus to your circle of influence, stop saying the “haves” (if I only had a better job) and start saying the “be’s” (I can be more _).

Habit 2: Begin with the End in Mind

Everything is created twice: first in a mental creation, then as a result becoming a physical creation. If you don’t consciously choose to control the mental creation, the vicissitudes of your life are created by default, shaped by random circumstances and other people’s expectations and agendas. (Refer to the summary of Think and Grow Rich by Napoleon Hill to better understand what this means, and to learn how to shape your actions based on this principle.)

Said another way, Habit 1 is “You are the creator.” Habit 2 is the first creation.

Beginning with the end in mind means approaching any role you have in life with your values and directions clear. Because we are self-aware, we can realize when we are acting in a role that isn’t in harmony with our values or isn’t a result of our own proactive design.

Whatever is at the center of your life will be the source of your security (your sense of worth), guidance (your source of direction in life), wisdom (your perspective on life), and power (your capacity to act and accomplish).

Most people never take the time to align their values with their center. As a result, they have one or more of many possible alternative centers. People can be spouse centered, family centered, money centered, work centered, pleasure centered, friend or enemy centered, church centered, or self centered. You probably know someone who is an example of being centered around each one of these things, and if you’re honest with yourself, you’ll realize that there are probably times when you become centered around many of these things as well.

Many of these things are perfectly good in and of themselves, but it isn’t healthy for your security, guidance, wisdom, or power to depend on and be determined by any of them. Instead, to be an effective person we need to have a “principle” center – one that is based on timeless, unchanging values. The principle center will put all these other centers in perspective.

Covey puts it this way: “The personal power that comes from principle-centered living is the power of a self-aware, knowledgeable, proactive individual, unrestricted by the attitudes, behaviors, and actions of others or by many of the circumstances and environmental influences that limit other people.”

The best way to make sure your life is aligned with your principles (and the best way to track when you get off center) is to write a personal mission statement. Covey doesn’t present a cookie-cutter formula for doing so, but suggests approaching it from the perspective of roles and goals: who do you want to be, and what do you want to accomplish?

This principle is the same for families or organizations; as hokey as it might sound, an authentic mission statement is the first step in the process of being effective. You need to put in the time, thought, and effort in order to gain the right perspective, and in order to set yourself up for the next habit.

Habit 3: Put First Things First

Habit 3 is the second creation – the physical realization of Habits 1 and 2. Habits 1 and 2 are best characterized as “leadership,” which must come first, while Habit 3 is where we begin discussing “management.”

Effective management means putting first things first, and doing the things that other people don’t want to do. From Habits 1 and 2, you must have a burning “yes” inside you that allows you to say “no” to other things that don’t align with your principles and goals.

Covey describes four levels of time management:

  1. Notes and checklists (reducing your cognitive burden in the present).
  2. Calendars and appointment books (looking ahead to better arrange your future time).
  3. Daily planning, by means of goal-setting and prioritization. Most people never get beyond this level.
  4. Categorization of activities and purposeful focus on and/or exclusion of certain ones.

This fourth level is where the author asks us to operate. He borrows the tool for this categorization from none other than Dwight Eisenhower:

An effective time manager spends as much time as possible in quadrant II, doing things that are important before they become urgent: building relationships, long-term planning, preventative maintenance of all types, etc. The more time you spend in this quadrant, the less time you will have to spend in quadrant I. Delegate or otherwise cut out anything in quadrant III or IV.

In contrast, most people spend the majority of their time in quadrant I and III, doing urgent things that may or may not be important, and rarely allow you to be effective. Most of us try to get out of this vicious cycle by trying to be more disciplined; however, the author contends that your problem is probably not that you lack discipline. More likely, it is simply that your priorities have not been rooted in your values.

In order to become a quadrant II self-manager, Covey suggests a series of four steps:

1) Identifying roles. Write down a list of roles that you wish to devote time and energy to filling. Some examples are your role as an individual (for which you would devote time for self-improvement), your role as a family member (spouse, son, mother, etc.), and your role at work (which may be multiple things, any of which may not correspond to your official title).

2) Selecting goals. Write down one or two goals for each role that you want to accomplish over the next week. Since you’ve already gone through the process of establishing Habits 1 and 2, these goals should be tied into your larger purpose and long-term goals.

3) Scheduling. Take things a step beyond where most people get with their use of scheduling, sit down and plan out your schedule a week at a time. This allows you to match your goals with the best time to accomplish them. For example, peak productivity for most people is between 2 – 5 hours after waking. One use of this principle might be to schedule time 2 – 5 hours after waking on Saturday to do the most important quadrant II activities that your job won’t allow you to do during the week. The key is not prioritize your schedule, but schedule your priorities.

4) Daily adapting. Take a few minutes at the beginning of each day to review the schedule you put together and revisit the values that induced you to establish your goals for the day. In real life, things change, so it is important to allow your schedule to be fluid and adaptable while keeping your focus on your values and priorities.

Habit 4: Think Win/Win

This is another buzzword-type title that will require you to put aside your perception of the term in order to grasp Covey’s meaning. As opposed to some kind of unrealistically happy and friendly attitude, the author defines thinking win/win as a mindset that is always looking for a third alternative to the “me or you” decision. Most people live in one of the following four alternative paradigms:

  1. Win/lose (authoritarian or egotistical)
  2. Lose/win (being a pushover)
  3. Lose/lose (when two win/lose people interact)
  4. Win (focused solely on the results you get for yourself)

To escape these unproductive mindsets, we must develop the three character traits essential to the win/win paradigm:

  1. Integrity (the value we place on ourselves)
  2. Maturity (the balance between courage and consideration)
  3. Abundance mentality (which comes from a sense of personal worth and security)

Try thinking about your relationships as an emotional bank account. By proactively making deposits, you ensure that the emotional funds will be there when the time comes to make a withdrawal. Win/win is often difficult, but is made much easier by the presence of a hefty emotional bank account.

So we can better understand what a win/win decision is and how it is structured, Covey provides the following characteristics:

  1. Clear identification of desired results
  2. Specified parameters within which to achieve those results
  3. Resources to be used to accomplish the results
  4. Accountability by means of specific standards of performance and times for evaluation
  5. Consequences of the results of the evaluation

You can find a more thorough presentation of this approach to effective negotiations in Getting to Yes by Roger Fisher and William Ury. The essence of Getting to Yes is to separate the person from the problem, focus on interests instead of positions, invent options for mutual gain, and insist on objective criteria.

The key to this chapter is that in most difficult situations, the problem is the system, not the people. By approaching those situations with the question of how we can change the system in order to make it work for all involved, many difficult problems can be resolved.

Habit 5: Seek First to Understand, Then to Be Understood

If you want to interact effectively with people and influence them, you must first understand them. It may be common sense, but it stands in direct contrast to most people’s modus operandi, which is to be first concerned with being understood.

Again, Covey breaks things down into a step-by-step framework that makes your own behavior easier to understand. Here are his four levels of listening:

  1. Ignoring
  2. Pretending to listen
  3. Attentive listening
  4. Empathic listening

The first three are self-explanatory, but you may not have heard the term “empathic listening” before. Empathic listening means getting inside someone else’s frame of reference by “listening” to their body language, tone, expression, and feelings. It’s a tremendous deposit in the emotional bank account.

In contrast to empathic listening, we tend to listen from our frame of reference (even if we are listening attentively) and have these “autobiographical responses”:

  1. Evaluate (agree or disagree)
  2. Probe (ask questions from our own frame of reference)
  3. Advise (give counsel based on our own experience)
  4. Interpret (explain people’s actions based on our own motivations)

By listening empathically instead of forcing our natural autobiographical responses onto each situation, we can get beyond a surface-level, transactional exchange and have a real impact. Needs stop motivating people once those needs are satisfied. Satisfy the need to be understood, and you can move on to being productive.

The other half of this habit, then, is being understood.

Covey refers to the Greek philosophy of ethos, pathos, logos – first character, then relationships, and only afterward the logic of what you’re saying. Most people try to skip straight to logos in every exchange, but it can’t be denied that someone must first trust you and understand where you’re coming from emotionally before they will understand how your logic fits into the overall picture of your perspective. Approach your communication through this framework, and you’ll be surprised at how much more easily you get your point across.

This habit is powerful because it is always in your circle of influence to seek first to understand, then to be understood. When people understand each other, the door is opened for third alternatives – win/win solutions.

Habit 6: Synergize

Despite being entitled with the business world’s most eminently cringeworthy king of buzzwords, this chapter offers enormous value if you can grasp the principle. Covey is not referring here to the type of “synergy” that occurs when two companies merge and become better together by cutting down on administration costs. He’s not even referring only to the simple act of working together to accomplish more than what you could accomplish on your own.

What the author means by synergy is something that may be impossible to understand unless you have experienced it. One way to describe it is when a group of people enter a simultaneous and cooperative state of flow – the “peak experience” of group interaction.

You may have had an experience playing sports where the team just gelled and the plays started clicking like you were moving as one body. Perhaps you’ve played in a musical group and found yourselves in a song where every note was perfect, every hook was tight, and you found yourself improvising riffs you didn’t even know you were capable of playing. You might have been in an emergency situation where a group of strangers came together to act with a degree of cooperation that seemed unprecedented.

Maybe you’ve had one of those conversations with a group of close friends where you were baring your souls about some deep, commonly held belief or commonly faced challenge, and each person’s words created thoughts in your own mind that you then perfectly expressed as insights you didn’t even know you had.

This is what the author means by synergy – a shared peak experience that can be created as the culmination of the first five habits. The key here is that synergy of this type doesn’t have to be a rare experience. We can create it in our everyday lives, beginning to live at a higher level by putting the first five habits into practice and adding a courageous amount of authenticity and openness. To be able to consistently operate at this level is to achieve the ability to be more effective than most people can even dream of being.

Habit 7: Sharpen the Saw

Remember, these are all intended to be habits, which means they have to be practiced repeatedly. In order to be able to practice these things, you need to take the time to renew yourself.

Covey recommends you carve out the time to do things to renew what he classifies as the four dimensions of human nature:

  1. Mental (reading, visualizing, planning, writing)
  2. Physical (exercise, nutrition, stress management)
  3. Emotional (service, empathy, synergy, intrinsic security)
  4. Spiritual (value clarification & commitment, study & meditation)

When you neglect any one area, you damage the rest – so commit at least one hour of every day to these practices.

Covey doesn’t spend enough time on any of these things to be the best “how-to” source for their implementation, and I don’t think that was his intention. His point is that an overall balance is necessary to support the other six habits. If done correctly, it leads to a virtuous cycle of continual personal growth.


In a twist of cruel irony, it seems that the 7 Habits of Highly Effective People has become the poster child for the very things it was written to help people overcome. The crux of the book is that to be effective, you must come from a place of authenticity, starting with your values and building with each successive habit. Unfortunately, it is human nature to imitate the form without delivering the authenticity.

The value of this book made it the victim of its own success when it was catapulted into becoming the business world’s favorite trend for a time. It seems that many people and organizations genuinely liked what they heard, but then tried to awkwardly force the habits onto their own lives or others’ (often cherrypicking the ones that sounded easier) without truly taking them to heart. An unlikely alliance of Covey-directed scorn was resulted between those who have had negative interactions with such people, and the small minds who couldn’t overcome their own scripts in order to understand Habit 1 and take responsibility for the results of their lives.

The disdain is truly undeserved. In reading the book, titles that at first reek of buzzword become epiphanies once you understand the truth of the principle. Reducing this particular book to a quick summary, which certainly has its uses, also has the effect of losing some of the meaning – of taking some powerful, emotion-filled lessons and reducing it to bullet points.

While it is certainly not a comprehensive framework for personal effectiveness, The 7 Habits of Highly Effective People gets many things right, and deserves its spot as the manifesto of personal effectiveness.

One thing this book is missing is the practical technique for managing the human mind to put new habits into practice. For that skill, refer to The Power of Habit by Charles Duhigg.

I’ve also found it useful to rephrase each buzzword title into an action point that more directly states the meaning of what the author had in mind. Once you’ve read the book you’ll have grasped the greater meaning and the nuances of his points, but it’s still useful to refresh your memory in this way:

1. Be proactive. Adopt a perspective of responsibility for your actions, reactions, and results.

2. Begin with the end in mind. Make sure your efforts start with establishment of your personal principles.

3. Put first things first. Spend your time on things that are important, not on things that are urgent.

4. Think Win/Win. Approach every interaction with the perspective of trying to fix the system, not the person, in order to find the solution that is best for all involved.

5. Seek First to Understand, Then to Be Understood. Meet people’s need to be understood, establish trust, and communicate your emotions; communicate your logic last.

6. Synergize. Combine the first five habits for an exponentially higher level of effective and cooperative daily interaction.

7. Sharpen the Saw. Take the time to maintain and renew your mind, body, emotions, and spirit.

Akin’s Laws of Spacecraft Design

1. Engineering is done with numbers. Analysis without numbers is only an opinion.

2. To design a spacecraft right takes an infinite amount of effort. This is why it’s a good idea to design them to operate when some things are

3. Design is an iterative process. The necessary number of iterations is one more than the number you have currently done. This is true at any point in time.

4. Your best design efforts will inevitably wind up being useless in the final design. Learn to live with the disappointment.

5. (Miller’s Law) Three points determine a curve.

6. (Mar’s Law) Everything is linear if plotted log-log with a fat magic marker.

7. At the start of any design effort, the person who most wants to be team leader is least likely to be capable of it.

8. In nature, the optimum is almost always in the middle somewhere. Distrust assertions that the optimum is at an extreme point.

9. Not having all the information you need is never a satisfactory excuse for not starting the analysis.

10. When in doubt, estimate. In an emergency, guess. But be sure to go back and clean up the mess when the real numbers come along.

11. Sometimes, the fastest way to get to the end is to throw everything out and start over.

12. There is never a single right solution. There are always multiple wrong ones, though.

13. Design is based on requirements. There’s no justification for designing something one bit “better” than the requirements dictate.

14. (Edison’s Law) “Better” is the enemy of “good”.

15. (Shea’s Law) The ability to improve a design occurs primarily at the interfaces. This is also the prime location for screwing it up.

16. The previous people who did a similar analysis did not have a direct pipeline to the wisdom of the ages. There is therefore no reason to
believe their analysis over yours. There is especially no reason to present their analysis as yours.

17. The fact that an analysis appears in print has no relationship to the likelihood of its being correct.

18. Past experience is excellent for providing a reality check. Too much reality can doom an otherwise worthwhile design, though.

19. The odds are greatly against you being immensely smarter than everyone else in the field. If your analysis says your terminal velocity
is twice the speed of light, you may have invented warp drive, but the chances are a lot better that you’ve screwed up.

20. A bad design with a good presentation is doomed eventually. A good design with a bad presentation is doomed immediately.

21. (Larrabee’s Law) Half of everything you hear in a classroom is crap. Education is figuring out which half is which.

22. When in doubt, document. (Documentation requirements will reach a maximum shortly after the termination of a program.)

23. The schedule you develop will seem like a complete work of fiction up until the time your customer fires you for not meeting it.

24. It’s called a “Work Breakdown Structure” because the Work remaining will grow until you have a Breakdown, unless you enforce
some Structure on it.

25. (Bowden’s Law) Following a testing failure, it’s always possible to refine the analysis to show that you really had negative margins all along.

26. (Montemerlo’s Law) Don’t do nuthin’ dumb.

27. (Varsi’s Law) Schedules only move in one direction.

28. (Ranger’s Law) There ain’t no such thing as a free launch.

29. (von Tiesenhausen’s Law of Program Management) To get an accurate estimate of final program requirements, multiply the initial time estimates by pi, and slide the decimal point on the cost estimates one place to the right.

30. (von Tiesenhausen’s Law of Engineering Design) If you want to have a maximum effect on the design of a new engineering system, learn to draw. Engineers always wind up designing the vehicle to look like the initial artist’s concept.

31. (Mo’s Law of Evolutionary Development) You can’t get to the moon by climbing successively taller trees.

32. (Atkin’s Law of Demonstrations) When the hardware is working perfectly, the really important visitors don’t show up.

33. (Patton’s Law of Program Planning) A good plan violently executed now is better than a perfect plan next week.

34. (Roosevelt’s Law of Task Planning) Do what you can, where you are, with what you have.

35. (de Saint-Exupery’s Law of Design) A designer knows that he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away.

36. Any run-of-the-mill engineer can design something which is elegant. A good engineer designs systems to be efficient. A great
engineer designs them to be effective.

37. (Henshaw’s Law) One key to success in a mission is establishing clear lines of blame.

38. Capabilities drive requirements, regardless of what the systems engineering textbooks say.

39. Any exploration program which “just happens” to include a new launch vehicle is, de facto, a launch vehicle program.

39. (alternate formulation) The three keys to keeping a new human space program affordable and on schedule:
1)  No new launch vehicles.
2)  No new launch vehicles.
3)  Whatever you do, don’t develop any new launch vehicles.

40. (McBryan’s Law) You can’t make it better until you make it work.

41. There’s never enough time to do it right, but somehow, there’s always enough time to do it over.

42. Space is a completely unforgiving environment. If you screw up the engineering, somebody dies (and there’s no partial credit because most of the analysis was right…)

*I’ve been involved in spacecraft and space systems design and development for my entire career, including teaching the senior-level capstone
spacecraft design course, for ten years at MIT and now at the University of Maryland for more than two decades. These are some bits of wisdom that I have gleaned
during that time, some by picking up on the experience of others, but mostly by screwing up myself. I originally wrote these up and handed them out to my
senior design class, as a strong hint on how best to survive my design experience. Months later, I get a phone call from a friend in California complimenting me
on the Laws, which he saw on a “joke-of-the-day” listserve. Since then, I’m aware of half a dozen sites around the world that present various
editions of the Laws, and even one site which has converted them (without attribution, of course) to the Laws of Certified Public Accounting. (Don’t ask…) Anyone is welcome to link to
these, use them, post them, send me suggestions of additional laws, but I do maintain that this is the canonical set of Akin’s Laws…

Floating Point Arithmetic

Floating-point numbers are represented in computer hardware as base 2 (binary)
fractions. For example, the decimal fraction


has value 1/10 + 2/100 + 5/1000, and in the same way the binary fraction


has value 0/2 + 0/4 + 1/8. These two fractions have identical values, the only
real difference being that the first is written in base 10 fractional notation,
and the second in base 2.

Unfortunately, most decimal fractions cannot be represented exactly as binary
fractions. A consequence is that, in general, the decimal floating-point
numbers you enter are only approximated by the binary floating-point numbers
actually stored in the machine.

The problem is easier to understand at first in base 10. Consider the fraction
1/3. You can approximate that as a base 10 fraction:


or, better,


or, better,


and so on. No matter how many digits you’re willing to write down, the result
will never be exactly 1/3, but will be an increasingly better approximation of

In the same way, no matter how many base 2 digits you’re willing to use, the
decimal value 0.1 cannot be represented exactly as a base 2 fraction. In base
2, 1/10 is the infinitely repeating fraction


Stop at any finite number of bits, and you get an approximation. On most
machines today, floats are approximated using a binary fraction with
the numerator using the first 53 bits starting with the most significant bit and
with the denominator as a power of two. In the case of 1/10, the binary fraction
is 3602879701896397 / 2 ** 55 which is close to but not exactly
equal to the true value of 1/10.

Many users are not aware of the approximation because of the way values are
displayed. Python only prints a decimal approximation to the true decimal
value of the binary approximation stored by the machine. On most machines, if
Python were to print the true decimal value of the binary approximation stored
for 0.1, it would have to display


>>> 0.1

That is more digits than most people find useful, so Python keeps the number
of digits manageable by displaying a rounded value instead


>>> 1 / 10

Just remember, even though the printed result looks like the exact value
of 1/10, the actual stored value is the nearest representable binary fraction.

Interestingly, there are many different decimal numbers that share the same
nearest approximate binary fraction. For example, the numbers 0.1 and
0.10000000000000001 and
0.1000000000000000055511151231257827021181583404541015625 are all
approximated by 3602879701896397 / 2 ** 55. Since all of these decimal
values share the same approximation, any one of them could be displayed
while still preserving the invariant eval(repr(x)) == x.

Historically, the Python prompt and built-in repr() function would choose
the one with 17 significant digits, 0.10000000000000001. Starting with
Python 3.1, Python (on most systems) is now able to choose the shortest of
these and simply display 0.1.

Note that this is in the very nature of binary floating-point: this is not a bug
in Python, and it is not a bug in your code either. You’ll see the same kind of
thing in all languages that support your hardware’s floating-point arithmetic
(although some languages may not display the difference by default, or in all
output modes).

For more pleasant output, you may wish to use string formatting to produce a limited number of significant digits:


>>> format(math.pi, '.12g')  # give 12 significant digits

>>> format(math.pi, '.2f')   # give 2 digits after the point

>>> repr(math.pi)

It’s important to realize that this is, in a real sense, an illusion: you’re
simply rounding the display of the true machine value.

One illusion may beget another. For example, since 0.1 is not exactly 1/10,
summing three values of 0.1 may not yield exactly 0.3, either:


>>> .1 + .1 + .1 == .3

Also, since the 0.1 cannot get any closer to the exact value of 1/10 and
0.3 cannot get any closer to the exact value of 3/10, then pre-rounding with
round() function cannot help:


>>> round(.1, 1) + round(.1, 1) + round(.1, 1) == round(.3, 1)

Though the numbers cannot be made closer to their intended exact values,
the round() function can be useful for post-rounding so that results
with inexact values become comparable to one another:


>>> round(.1 + .1 + .1, 10) == round(.3, 10)

Binary floating-point arithmetic holds many surprises like this. The problem
with “0.1” is explained in precise detail below, in the “Representation Error”
section. See The Perils of Floating Point
for a more complete account of other common surprises.

As that says near the end, “there are no easy answers.” Still, don’t be unduly
wary of floating-point! The errors in Python float operations are inherited
from the floating-point hardware, and on most machines are on the order of no
more than 1 part in 2**53 per operation. That’s more than adequate for most
tasks, but you do need to keep in mind that it’s not decimal arithmetic and
that every float operation can suffer a new rounding error.

While pathological cases do exist, for most casual use of floating-point
arithmetic you’ll see the result you expect in the end if you simply round the
display of your final results to the number of decimal digits you expect.
str() usually suffices, and for finer control see the str.format()
method’s format specifiers in Format String Syntax.

For use cases which require exact decimal representation, try using the
decimal module which implements decimal arithmetic suitable for
accounting applications and high-precision applications.

Another form of exact arithmetic is supported by the fractions module
which implements arithmetic based on rational numbers (so the numbers like
1/3 can be represented exactly).

If you are a heavy user of floating point operations you should take a look
at the Numerical Python package and many other packages for mathematical and
statistical operations supplied by the SciPy project. See <>.

Python provides tools that may help on those rare occasions when you really
do want to know the exact value of a float. The
float.as_integer_ratio() method expresses the value of a float as a


>>> x = 3.14159
>>> x.as_integer_ratio()
(3537115888337719, 1125899906842624)

Since the ratio is exact, it can be used to losslessly recreate the
original value:


>>> x == 3537115888337719 / 1125899906842624

The float.hex() method expresses a float in hexadecimal (base
16), again giving the exact value stored by your computer:


>>> x.hex()

This precise hexadecimal representation can be used to reconstruct
the float value exactly:


>>> x == float.fromhex('0x1.921f9f01b866ep+1')

Since the representation is exact, it is useful for reliably porting values
across different versions of Python (platform independence) and exchanging
data with other languages that support the same format (such as Java and C99).

Another helpful tool is the math.fsum() function which helps mitigate
loss-of-precision during summation. It tracks “lost digits” as values are
added onto a running total. That can make a difference in overall accuracy
so that the errors do not accumulate to the point where they affect the
final total:


>>> sum([0.1] * 10) == 1.0
>>> math.fsum([0.1] * 10) == 1.0

Drop Support for Older IE

Internet Explorer

  • Not secure
  • Slow and buggy
  • It takes a lot of time and resources to maintain websites for old IE. It does not worth it because only for few percents of users use old versions of IE.

Internet Explorer / Edge versions:

  • IE8 was released in 2009 – not supported by Microsoft anymore
  • IE9 was released in 2011 – not supported by Microsoft anymore
  • IE10 was released in 2012 – not supported by Microsoft anymore
  • IE11 was released in 2015
  • Edge (aka IE12) was released in 2016

Microsoft drop support IE10 and below.

Support for older versions of Internet Explorer ended on January 12th, 2016

What is end of support?

Beginning January 12, 2016, only the most current version of Internet Explorer available for a supported operating system will receive technical supports and security updates. Internet Explorer 11 is the last version of Internet Explorer, and will continue to receive security updates, compatibility fixes, and technical support on Windows 7, Windows 8.1, and Windows 10.

Internet Explorer 11 offers improved security, increased performance, better backward compatibility, and support for the web standards that power today’s websites and services. Microsoft encourages customers to upgrade and stay up-to-date on the latest browser for a faster, more secure browsing experience.

What does this mean?

It means you should take action. After January 12, 2016, Microsoft will no longer provide security updates or technical support for older versions of Internet Explorer. Security updates patch vulnerabilities that may be exploited by malware, helping to keep users and their data safer. Regular security updates help protect computers from malicious attacks, so upgrading and staying current is important.

Google Search Statistics

Google now processes about 1.2 trillion searches per year worldwide. Its about 100 billion searches per month or 3.5 billion searches per day or over 40,000 search queries every second.

Curious facts

  • In 1999, it took Google one month to crawl and build an index of about 50 million pages.
    In 2012, the same task was accomplished in less than one minute.
  • 16% to 20% of queries that get asked every day have never been asked before.
  • Every query has to travel on average 1,500 miles to a data center and back to return the answer to the user.
  • A single Google query uses 1,000 computers in 0.2 seconds to retrieve an answer.


Internet Users

There are over 3.4 billion internet users on the world wide web today.

Around 40% of the world population has an internet connection today. In 1995, it was less than 1%.
The number of internet users has increased tenfold from 1999 to 2013.
The first billion was reached in 2005. The second billion in 2010. The third billion in 2014.

The chart and table below show the number of global internet users per year since 1993:


Year Internet Users** Penetration
(% of Pop)
1Y User
1Y User
World Pop.
2016* 3,424,971,237

46.1 % 7,432,663,275 4,007,692,038 7.5 % 238,975,082 1.13 %
2015* 3,185,996,155

43.4 % 7,349,472,099 4,163,475,944 7.8 % 229,610,586 1.15 %
2014 2,956,385,569

40.7 % 7,265,785,946 4,309,400,377 8.4 % 227,957,462 1.17 %
2013 2,728,428,107

38 % 7,181,715,139 4,453,287,032 9.4 % 233,691,859 1.19 %
2012 2,494,736,248

35.1 % 7,097,500,453 4,602,764,205 11.8 % 262,778,889 1.2 %
2011 2,231,957,359

31.8 % 7,013,427,052 4,781,469,693 10.3 % 208,754,385 1.21 %
2010 2,023,202,974

29.2 % 6,929,725,043 4,906,522,069 14.5 % 256,799,160 1.22 %
2009 1,766,403,814

25.8 % 6,846,479,521 5,080,075,707 12.1 % 191,336,294 1.22 %
2008 1,575,067,520

23.3 % 6,763,732,879 5,188,665,359 14.7 % 201,840,532 1.23 %
2007 1,373,226,988

20.6 % 6,681,607,320 5,308,380,332 18.1 % 210,310,170 1.23 %
2006 1,162,916,818

17.6 % 6,600,220,247 5,437,303,429 12.9 % 132,815,529 1.24 %
2005 1,030,101,289

15.8 % 6,519,635,850 5,489,534,561 12.8 % 116,773,518 1.24 %
2004 913,327,771

14.2 % 6,439,842,408 5,526,514,637 16.9 % 131,891,788 1.24 %
2003 781,435,983

12.3 % 6,360,764,684 5,579,328,701 17.5 % 116,370,969 1.25 %
2002 665,065,014

10.6 % 6,282,301,767 5,617,236,753 32.4 % 162,772,769 1.26 %
2001 502,292,245

8.1 % 6,204,310,739 5,702,018,494 21.1 % 87,497,288 1.27 %
2000 414,794,957

6.8 % 6,126,622,121 5,711,827,164 47.3 % 133,257,305 1.28 %

Internet Users by Region


In 2014, nearly 75% (2.1 billion) of all internet users in the world (2.8 billion) live in the top 20 countries.
The remaining 25% (0.7 billion) is distributed among the other 178 countries, each representing less than 1% of total users.
China, the country with most users (642 million in 2014), represents nearly 22% of total, and has more users than the next three countries combined (United States, India, and Japan). Among the top 20 countries, India is the one with the lowest penetration: 19% and the highest yearly growth rate. At the opposite end of the range, United States, Germany, France, U.K., and Canada have the highest penetration: over 80% of population in these countries has an internet connection.


Total number of Websites

There are over 1 billion websites on the world wide web today.


By “Website” it means unique hostname (a name which can be resolved, using a name server, into an IP Address).
Around 75% of websites today are not active, but parked domains or similar.

Websites Change Internet Users Users per
Websites launched
2015 863,105,652 -11% 3,185,996,155* 3.7
2014 968,882,453 44% 2,925,249,355 3.0
2013 672,985,183 -3% 2,756,198,420 4.1
2012 697,089,489 101% 2,518,453,530 3.6
2011 346,004,403 67% 2,282,955,130 6.6
2010 206,956,723 -13% 2,045,865,660 9.9 Pinterest
2009 238,027,855 38% 1,766,206,240 7.4
2008 172,338,726 41% 1,571,601,630 9.1 Dropbox
2007 121,892,559 43% 1,373,327,790 11.3 Tumblr
2006 85,507,314 32% 1,160,335,280 13.6 Twttr
2005 64,780,617 26% 1,027,580,990 16 YouTube, Reddit
2004 51,611,646 26% 910,060,180 18 Thefacebook, Flickr
2003 40,912,332 6% 778,555,680 19 WordPress, LinkedIn
2002 38,760,373 32% 662,663,600 17
2001 29,254,370 71% 500,609,240 17 Wikipedia
2000 17,087,182 438% 413,425,190 24 Baidu
1999 3,177,453 32% 280,866,670 88 PayPal
1998 2,410,067 116% 188,023,930 78 Google
1997 1,117,255 334% 120,758,310 108 Yandex
1996 257,601 996% 77,433,860 301
1995 23,500 758% 44,838,900 1,908 Altavista, Amazon, AuctionWeb
1994 2,738 2006% 25,454,590 9,297 Yahoo
1993 130 1200% 14,161,570 108,935
1992 10 900%
Aug. 1991 1 World Wide Web Project