Sunday, December 30, 2007

Blink: The Power of Thinking without Thinking

I read blink on the plane ride to San Antonio and back this month. It's a page-turner that made the flight go by super fast. My favorite parts of the book are related to racism. The book talks about a great study being conducted by Harvard researchers. There is a test online that is fun to take that will provide a lot of insight into your own personal racism:

Race ('Black - White' IAT). This IAT requires the ability to distinguish faces of European and African origin. It indicates that most Americans have an automatic preference for white over black.

Racism is just one of several interesting topics covered in blink. If you liked "The Tipping Point" you'll love this book.

Book Review: Now, Discover Your Strengths

I actually read this one a long time ago. Every book comes with a code to take a test to discover and learn all about your strengths.

Here are my signature themes:

Achiever: People strong in the Achiever theme have a great deal of
stamina and work hard. They take great satisfaction from being busy and
productive.

Maximizer: People strong in the Maximizer theme focus on strengths as a
way to stimulate personal and group excellence. They seek to transform
something strong into something superb.

Arranger: People strong in the Arranger theme can organize, but they also have a flexibility that complements this ability. They like to figure out how all of the pieces and resources can be arranged for maximum productivity.

Relator: People who are strong in the Relator theme enjoy close relationships with others. They find deep satisfaction in working hard with friends to achieve a goal.

Learner: People strong in the Learner theme have a great desire to learn and want to continuously improve. In particular, the process of learning, rather than the outcome, excites them.


How closely do you think they describe me?

Sunday, November 25, 2007

Worst Thanksgiving Ever

I was looking forward to a full 5 days of getting things done...and then I was hit hard by a stomach bug that is just now clearing up. Thanksgiving and I can't eat?!? Terrible. I had plenty of time to think of random things though:

My new Blackberry 8830 kicks butt. I love it. If you need 24x7 access to your email, get one. Sprint is my new provider and I'm just as happy with them as I was with Verizon.

The Apple iPhone is for real (Velvet has one), a really great phone thanks to the awesome browser and zoom capabilities. I like the real keyboard on the Blackberry though.

I've been on Facebook for about a month now. I can see why they are so successful...automated emails. Their core is picture sharing, tagging, and commenting; all of the other stuff is just fluff.

I've been running Vista on my desktop at work for months now. I still get asked frequently "How do you like it?" I have to say that there's not one feature in Vista that is so awesome that would make me recommend upgrading from XP. But, it's not a bad OS. It doesn't crash, but all of the security pop-ups are quite annoying.

On the other hand, the latest version of Office is awesome. I highly recommend dumping Open Office or anything web-based.

And finally, we won the fall softball co-ed league C championship this year. If you remember last year's end of season blog post, I had a few suggestions on how we could get better. Well, we implemented all of those suggestions and we kicked butt. OK, maybe it wasn't my suggestions that took us over the top, but whatever it was we did awesome. We only lost 1 game all year, and we won almost every game by run-rule. It's amazing how far everyone has come and we'll be back in the B league starting next spring. We had a great time celebrating our wins at Buffalo Wild Wings after each game.



Sunday, October 21, 2007

Antennas Direct

One of the annoying things about DirecTV is that local channels (NBC, CBS, FOX) are not available in HD. You have to receive them over the air with yet another antenna. You can either buy an indoor antenna that looks like the old rabbit ears and the signal rarely comes in reliably. Or you can buy an outdoor antenna and climb on the roof, install it, ground it, kill yourself, etc....a real pain, something I haven't been willing to take the time to do.

But, after helping my brother install his HD antenna I realized that the antenna he bought actually works really well indoors. We went ahead and installed his outdoors, but last week I bought one for myself to stick in my attic. As I'm sitting here watching football on FOX in HD I would have to say it works really well. The antenna wasn't hard to put together and is now completely hidden from view both inside and outside. I'm really pleased with the reception on all channels.

If anyone else is interested, I bought the "DB2" bundle found here:

http://www.antennasdirect.com/bundles.html

I can't wait for the Red Sox game tonight in HD!

Why Zappos is kicking butt

Velvet sent me this the other day...

http://www.zazlamarr.com/blog/?p=240

Amazing customer service. Word of mouth marketing at it's best.

Tuesday, September 25, 2007

Book Review: Differentiate or Die

Of the three Trout books I have read, this one is my least favorite. It's a good book, but if you have read "The 22 Immutable Laws of Marketing" and "Trout on Strategy", this book very much reads like a broken record. If you haven't read the other two books, I think you will like this one immensely. Perhaps part of what makes Trout so good is that he is very consistent in his messaging.

My favorite chapters:

Chapter 4. Quality and Customer Orientation are Rarely Differentiating Ideas

"You can indeed use this as a strategy. But only if your competition is dumb enough to let you."

Chapter 6. Price is Rarely a Differentiating Idea

"But when price becomes the focus of a message or a company's marketing activities, you are beginning to undermine the chances to being perceived as unique."

Chapter 9. Differentiation Takes Place In the Mind

"First, the specialist can focus on one product, one benefit, and one message. This focus enables the marketer to put a sharp point on the message that quickly drives it into the mind."

Chapter 11. Attribute Ownership Is a Way to Differentiate

"Attribute ownership is probably the number one way to differentiate a product or service."

Chapter 12. Leadership Is a Way to Differentiate

"Leadership is the most powerful way to differentiate a brand."

Chapter 14. Market Specialty Is a Differentiating Idea

"People are impressed with those who concentrate on a specific activity or product. They perceive them as experts."

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

Saturday, July 28, 2007

Book Review: Trout on Strategy

From the same author that helped bring us the classic “The 22 Immutable Laws of Marketing”, Jack Trout provides another amazing book, this time focusing on strategy. As he puts it:


“It's all about having the right strategy. That's because strategy sets the competitive direction, strategy dictates product planning, strategy tells you how to communicate internally and externally, strategy tells you on what to focus.”


Wednesday, July 18, 2007

Book Review: Peopleware


This book is simply a classic and demonstrates that most software development issues are people issues, not technical issues. I should of read this book years ago.


It is the one thing every software manager needs to read . . . not just once, but once a year.”

--Joel Spolsky





It's easier to manage technological issues than it is to manage sociological issues.


Getting a new disk drive installed is positively trivial compared to figuring out why Horace is in a blue funk or why Susan is dissatisfied with the company after on a few months. Human interactions are complicated and never very crisp and clean in their effects, but they matter more than any other aspect of the work.”


Personally, I'd much rather help someone work through a tough algorithm than help them deal with their personal issues. The reality is that over the last seven years of managing developers I have come to realize that personal issues come up as often, if not more often than any technological challenges. This is very much the same topic covered in “First, Break All the Rules.” Care about your people and their personal issues. Help them where you can, but most importantly, just listen. It's just as important as helping them with the technological challenges they face.


Some Great Quotes From The Book:

  • There Ain't No Such Thing as Overtime

  • People under pressure don't work better; they just work faster.

  • A policy of “Quality - If Time Permits” will assure that no quality at all sneaks into the project.

  • The manager's function is not to make people work, but to make it possible for people to work.

  • It's not the quantity of hours that are important, it's the quality. (paraphrased a bit)

  • The final outcome of any effort is more of a function of who does the work than how the work is done.

  • Get the right people, make them so happy they won't want to leave, turn them loose.

  • Sociology matters more than technology or even money. It's suppose to be productive, satisfying fun to work.

  • Process improvement programs don't work because they entice the play-it-safe behavior of low-risk, and therefore low-benefit, projects. (paraphrased a bit)

  • Companies of knowledge-workers have to realize that it is their investment in human capital that matters most.

  • A real working meeting is called when there is a real reason for all the people invited to think through some matter.

  • And my personal favorite: The ultimate management sin is wasting people's time.


Office Space

The second part of the book focuses on office space:

  • Quiet work environments = More Productivity = Higher Quality

  • More square feet per worker = More Productivity = Higher Quality

  • Stealth Development Offices are Great

  • Walls and doors are good things.

  • Appearance is not important, functionality is important.

If you manage software developers, you need to read this book.

Monday, July 16, 2007

MySQL Proxy

I stumbled upon MySQL Proxy today. It's in Alpha stages right now, but it looks like it's going to be great. Thanks to the keepalived project we have been able to load balance and fail over MySQL read queries for a long time now.

But this software has some cool new features:
  • Query Analysis
  • Query Filtering
  • Query Modification
And they've even built in support for the Lua language. I first heard of Lua from Lighty and I'm even more fascinated now that MySQL Proxy has support for it too. Basically, you can add hooks at any of these stages:

  • connect_server
  • read_query
  • read_query_result
to modify, rewrite, track, or do practically anything you want. Awesome stuff. Here are some example scripts.

Wednesday, July 11, 2007

'watch' Linux Command

Today I learned a new Linux command called 'watch'. watch repeatedly runs a command at a specified interval, showing the output of the command in full screen. The '-d' option is nice because it will highlight differences between each run. Looks like this little command was written in 1991 and updated in 1999.


watch -n 2 uptime

Friday, June 08, 2007

New Linux Command (tcpdump)

From the man page:

Tcpdump prints out the headers of packets on a network interface that match the boolean expression.

Example:

tcpdump -i eth0 -n dst port 389 and not src host 192.168.1.50

Dumps all traffic to port 389 that is not from ip 192.168.150

Awesome.

Tuesday, June 05, 2007

Book Review: The Pragmatic Programmer


This is one of the best books I've ever read on being a "Professional Programmer." My two favorite parts of the books are the "Goals" section in Chapter 1, and the final paragraph of the book.

Goals
-----
* Learn at least one new language every year.
* Read a technical book each quarter.
* Read nontechnical books, too.
* Take classes (or go to trade shows)
* Participate in local user groups.
* Experiment with different environments.
* Stay current. (Read magazines / journals)
* Get Wired. (RSS Feeds, News Groups)

The final paragraph sums up what the book is all about:

We want to see pride of ownership. "I wrote this, and I stand behind my work." Your signature should come to be recognized as an indicator of quality. People should see your name on a piece of code and expect it to be solid, well written, tested, and documented. A really professional job. Written by a real professional. A Pragmatic Programmer.

Thursday, May 24, 2007

Vista Ultimate

My beta for Vista is finally expiring at the end of this month, so I decided to re-install my OS this week. I decided to install Vista Ultimate. Although my fellow geeks were pushing me towards Ubuntu I just couldn't make the switch.

First, an operating system is only as good as the applications that are made to run on it. Windows still dominates in this area. The applications made for Windows are just better, period. Don't argue with me, you know you are wrong.

Anything I've ever needed to do on a Linux machine can almost always be done via SSH. So I have no compelling reason to make the switch. I don't have some burning desire to see Microsoft lose the OS war. I think they will continue to dominate for a long time because of my first point above.

And let's not even get into the whole driver issue. Everything just works on Windows (OK, except for my old wireless card), but at least I don't have to install a new video card and I can print in color.

Thus far, I've installed the following applications:
1. Putty (SSH), have to have, it's awesome, I wish it had tabs though
2. AIM (the real one, not GAIM) The latest version is awesome. I even figured out how to turn off those annoying exploding smileys.
3. Firefox (it's just faster and better than IE)
4. Microsoft Office Trial, MS Office kicks butt compared to Open Office (don't argue with me, you know you are wrong), plus I need to test Outlook 2007.
5. Programmer's Notepad, after all these years Microsoft still has the worst text editor out there.
6. Paint.NET, I use it for cropping images

And finally, I think Windows is every bit as stable as any other OS out there. I've never had problems. I think people that do have problems usually have some other type of issue such as hardware or bad drivers and they don't know how to investigate it properly.

So, for all you Mac and Ubuntu users, give me reasons that your OS is BETTER than (not "as good as") mine, and maybe I'll consider not activating this copy of Vista. I doubt you can do it. ;)

Friday, May 11, 2007

Adding Using awk

Today I had a need to take a file that was formatted like:

40.00
34.00
100.50
...
3902.00
50.00

and add up all the numbers. The file was huge so I didn't feel like opening it with Open Office. I knew there had to be an easy way to do this without leaving my shell in Linux. So after about 5 seconds of Googling I found this little gem:

awk '{x+=$1} END{print x}'

Works like a champ:

13300.8

Tuesday, April 24, 2007

How important is email?

I saw this fact on ClarkHoward.com today:

According to Information Week, three-quarters of people say that e-mail is essential to their lives. When asked what that means, 40-50% say they prefer e-mail to chocolate, coffee and TV. And, 60% spend more time sending e-mails than they do on the phone. 15% say they would rather lose their spouse than not have access to e-mail.

I guess I'm in the right business. :) But seriously, give up your spouse? Now that's pretty bad!

For me, checking my email is usually the first thing I do when I wake up, the first thing I do when I get to work, the first thing I do when I get home, the last thing I do before I leave work, the last thing I do before I go to sleep.

If I'm on a trip it's the last thing I do before the plane takes off, the first thing I do when the plane lands, the first thing I do when I get to the hotel, the last thing I do before I check out, and I'm constantly checking my email on my handheld.

And I know I'm not alone, I would even say that my spouse is worse than me. ;)

Book Review: Summer of '49


Pulitzer prize winning author David Halberstam passed away on Monday. I've only read one of David's books but it was fantastic. I'd like to read more because Summer of '49 was an amazing book that any Red Sox / Yankee fan must read.

More on his work can be found here:

http://www.amazon.com/gp/blog/post/PLNK2LRO9IXJLGKO6

Wednesday, March 21, 2007

PHP Performance

We've been working hard the last few days to squeeze every ounce of performance out of our PHP code. This article from Linux Journal was especially helpful:

http://www.linuxjournal.com/article/7213

Also, if you haven't seen George's slides on PHP performance, check them out:

http://www.schlossnagle.org/~george/talks/ZendPerf.pdf

Tuesday, March 13, 2007

Life Insurance 101

Making sure my family is taken care of if I kick the bucket unexpectedly is important to me. Keeping my life insurance policy updated is one of the major steps I can take to make sure this happens. But I'm never sure which type of policy (term vs whole), the amount, or the length of a policy I should buy. I trust my life insurance agent, but I like to do a ton of research on my own. So I find consulting my financial advisor very helpful. His advice on life insurance can be found here, very useful stuff, highly recommended.

Wednesday, March 07, 2007

Book Review: The Ultimate Question


French fries or baked potato?

Khakis or Jeans?

Do I really need to do sit-ups today?

These are all questions I struggle with on a daily basis but none of them are “The Ultimate Question.” The Ultimate Question is a powerful, yet simplistic approach to achieving profitable growth. The book does a great job explaining why customer satisfaction and loyalty is so important and how it will ultimately lead to true growth. Definitely a book the entire organization should read.

Monday, March 05, 2007

Open Files

lsof -p process_id | wc -l

is just way too slow sometimes, I finally figured out a faster (and more accurate) way to quickly get a count (or list) of open files.

ls -l /proc/process_id/fd/ | wc -l

Thanks to http://www.netadmintools.com/art295.html

Saturday, February 24, 2007

Running Version 2

I finished my 10 week running plan over a month ago. I've been slacking since then, but today I'm going to pick it up again. I'm going to start training for that 5K I have to run at some point this year. My 10 week plan worked out great. It wasn't too hard, I had more mental issues than physical. Here is the plan for the next 6 weeks:

Week M T W H F S S Total
1
2
2
2
6
2
2.5
2.5
2.5
7.5
3
3
3
2.5 2 10.5
4
3.5
3.5
3 2 12
5
4 2 3.5
3.5 2 15
6
4
2
2
8

Monday, February 19, 2007

Book Review: Inside Intuit


This book is one of the most fascinating, intriguing, and entertaining books I've ever read. Every entrepreneur should get a copy of this book. Intuit went through all of the stages a startup company might imagine including an epic battle with Microsoft. Software developers will love all of the great stories about the challenges and hard work that it took to make Quicken and the other Intuit products so successful. Service oriented companies will love to hear about how this company truly valued their customer's and their feedback. Management will love to hear how they acquired companies, raised money, and were almost acquired by Microsoft. A truly amazing story about a startup who beat all odds.

Wednesday, February 14, 2007

Why Code Reviews Are So Important

Yesterday I spent five hours participating in a hard core code review / bug fix session. The code we were reviewing was rather small, but there were a lot of cases to test. Code reviews can be structured in many different ways, but we took the following approach:

1. Review the functional specification to understand the goals of the project
2. Run a few preliminary test cases to make sure the product met the goals
3. Compare every screen to the designs to make sure they were 100% correct (right fonts, colors, wording)
4. Fix bugs on the spot. This was the most time consuming part, but I'm glad we did this right away, avoiding having to hold another session the following day.
5. This project was primarily modifying existing code to add additional functionality. This means that we can use trac in combination with svn to review only the changes made to each file. This makes the code review process very thorough and very fast. Trac does a great job color coding differences and we were able to find a dozen or so typos and bugs simply from looking at the trac diffs. We fixed the bugs right away, committed the code, and repeated the process.
6. After we finished fixing all of the bugs we went through a more thorough testing of the entire application to make sure we didn't break anything and that all of the bugs discovered were indeed fixed.

Overall I was very pleased with the results. The code review not only produced many bug fixes, but it emphasizes the importance of good coding, documenting your code, and being able to work with others.

Wednesday, January 17, 2007

Book Review: Blue Ocean Strategy


I'm posting this one rapidly in hopes that I can cover up my last post before anyone sees it. :) "Blue Ocean Strategy" is a very thought provoking book that puts structure behind strategic planning. It reminds me a lot of "Purple Cow" type of thinking and is definitely worth a read. My only real complaint is the authors don't make the book all that exciting or entertaining. It did a good job putting me asleep on more than one occasion.

The sub-title of the book is "How to Create Uncontested Market Space and Make Competition Irrelevant." The focus of the majority of the book is strategies for discovering your Blue Ocean. I liked their ideas on how to put a process around strategic thinking.

Damn, too late, AMartin is already on my case for the Martha post.... :)

So, what is a Blue Ocean? Just think about how instead of one-upping your competition with the next big feature, how can you make the competition irrelevant by creating a new market space where there is no competition. For example, "Curves for Women" created a new type of health club aimed at the millions of women who hated working out at home, but also hated spending hours at a high priced, intimidating health club. Typical health clubs want you to spend a lot of time there, spend a lot of money, and use equipment that is complicated. On top of that, there are a ton of bulky guys there starring. Curves created a new environment that had equipment that was easy to use and didn't require a lot of time to workout. Curves made regular health clubs and home workout equipment irrelevant by moving into this uncontested market space.

Damn, second comment on my blog, I can tell I'm in trouble so I'll go ahead and post this one!

Book Review: Martha Stewart's Homekeeping Handbook


The sub-title of this book is "The Essential Guide to Caring for Everything in Your Home". I think the key word in that statement is "Everything". This book is huge and covers every topic you could ever imagine with regards to caring for your home.

I'm sure I will get a hard time from some of my co-workers for even picking up this book, much less reading it from cover to cover, but I am definitely a huge Martha fan after reading this book.

A word of warning though, this book reads like an encyclopedia. Martha has a lot of talents, but don't expect her to crack a joke or two when discussing the proper way to clean your sink.

You can see why Martha has been so successful in her life (going to jail aside), she doesn't do anything unless she does it 100%. Anything worth doing is worth doing right, even if it is cleaning a toilet, you should know the right way to clean it. Another lesson from the book that can be applied to any area of life is being organized. It's amazing how much better you feel after you clean and organize a room in your home. Over Christmas break I spent almost a full day with Velvet organizing our garage. It's gone from being an eye-sore to my favorite room in the house.

Being a home owner (well, the bank technically owns it, but in 26 more years it will be all mine) I want to do everything I can to maintain my home and make it a place where I enjoy returning to after a long days work. I learned a lot from reading this book and I would recommend it to anyone.