Monday, August 27, 2007

Book Review: The Tipping Point


How Little Things Can Make a Big Difference

“A fascinating book that makes you see the world in a different way.” - Fortune

“The tipping point is that magic moment when an idea, trend, or social behavior crosses a threshold, tips, and spreads like wildfire.”




Here are my notes on the first three chapters:


Chapter 1 – The Three Rules of Epidemics

  1. Law of the Few

    • “When it comes to epidemics...a tiny percentage of people do the majority of the work.”

  1. The Stickiness Factor

    • “Unless you remember what I tell you, why would you ever change your behavior or buy my product or got to see my movie?”

  1. The Power of Context

    • “Human beings are a lot more sensitive to their environment than they may seem.”


Chapter 2 – The Law of the Few

In order to start an epidemic you need three types of people:

  1. Connectors

    • Connectors are people with a special gift for bringing the world together. We rely on them heavily to bridge social circles. Connectors know lots of people. “They are the kinds of people who know everyone.”

  1. Mavens

    • Mavens figure out how to get the best deal, and they want to tell you about it too. Mavens want to solve other peoples problems, generally by solving their own.

  1. Salesmen

    • “The essence of Salesmen is that, on some level, they cannot be resisted.”

Chapter 3 – The Stickiness Factor

This chapter was a huge case study on the differences between Blues Clues and Sesame Street. It was fascinating and well worth the read. It shows the importance of stickiness and how small changes can make all of the difference in the world. As an avid watcher of both Blues Clues and Sesame Street I loved the examples.

The rest of the focuses on “The Power of Context” and some case studies.

I would definitely recommend this book to anyone who is in sales, marketing, or is an entrepreneur.


Wednesday, August 08, 2007

Flow

Today I saw my favorite "away message" of all time:

Auto Response from anonymous person (11:29:54 AM): getting stuff done dnd

Which reminded me of a section of the Peopleware book that talked about "flow". Every developer knows when they are in the flow. They are hammering away tons of code, knocking things out, getting what would normally take days, done in hours. Flow basically means you are on a roll, watch out. Getting into flow can be tricky. Most developers would admit they are better at getting into a flow early in the morning, late at night, or on weekends. Why? Because during normal business hours small distractions happen all of the time and prevent you from getting into the flow.

Email is heavy during business hours, and we all try to keep up with the flurry of messages flying around, but it prevents flow. Hearing about John's night out on the town is fun, but it prevents flow. Collegehumor.com prevents flow. And the #1 thing I think prevents flow: Instant Messaging. "Hey Bob, check out this link...", "Did you see what Mary's wearing?", "Going out tonight?", "Lunch is here", "You see those sales figures?", "I bet I can do more pushups than you.", "The yankees kicked butt last night". I'm sure you get the point. People IM tons of stuff they wouldn't bother wasting time sending an email about. And these type of messages happen more frequently during business hours. That's why weekends are so productive, nobody is around to email, IM, text message, or call you.

I LOVE instant messaging because it's quick, you can see if someone is available, you know that you'll get feedback immediately, and I would never want to get rid of it. BUT it prevents flow. I'm glad to see someone else agrees with me and is trying to "get stuff done".

Friday, August 03, 2007

How much memory is free?

Using `top` to determine how much free physical memory a machine has available has always been confusing to me. It seems that you need a math degree and why doesn't it show values in MB instead of KB? I have found the `free -m` tool to be much easier to understand. In the image below I have circled the two numbers that really matter. The other numbers don't mean much unless you are a kernel developer. You want the number circled under the "free" column to be high and the number circled under the "used" column to be low. The first one is the amount of physical memory available. The second one is the amount of swap space used.


vmstat

Using the Unix`vmstat` tool can help you quickly figure out if a machine is using a lot of io wait time swapping memory to disk and back.





The 'swap' columns ('si', 'so') should almost always stay at zero. If those numbers are high, you are swapping and that will degrade performance dramatically.

MySQL Performance Tuning Tip

Set these values in my.cnf:

innodb_buffer_pool_size=128M
key_buffer_size=128M
query_cache_size=32M

I've seen big performance boosts by setting these values.

Outlook 2003 + Vista - Outlook 2007 Trial = DLL Hell

Installing Outlook 2003 on Windows Vista doesn't work if you have installed the Outlook 2007 trial, but here is a blog post with a fix that worked for me:

http://retrowebdev.blogspot.com/2007/06/windows-vista-and-outlook-2003.html

In case that blog ever goes away, here is the fix:
  • Locate the file MSMAPI32.DLL in Program Files\Common Files\System\MSMAPI\1033
  • Rename the file to something like MSMAPI32.XXX or MSMAPI32.OLD