Review: The Hard Thing About Hard Things

Ben Horowitz’s book, “The Hard Thing About Hard Things“, takes you from his start with Marc Andreessen in the 90s to the present day with his successful VC firm.

My main takeaway was: being a CEO is really, really hard.  It’s easy to share successes, and Ben has plenty.  But he chose to share the much more valuable stories of his inner turmoil and struggles.  I don’t know if the lessons he shared are something you can necessarily avoid yourself.  It’s entirely possible that they’re the kind of thing you can only learn from hard experience.  But I’m still grateful he shared them.

I had a different view of the Opsware / HP story than the typical reader.  As a software engineer at HP, I joined the Opsware team after the acquisition.  I worked extensively on the code base in different project areas, from the back end server management, to the front end and even on the client code deployed to each server.  I was impressed with both the architecture and the architects.  The developers and managers I was fortunate enough to work with were competent and helpful.

I believe the quality of a company is directly tied to the quality of the employees.  In the book, Ben explains his method of hiring great people.  After seeing the results firsthand, his methods worked quite well.

Shortly before he left HP, he called a meeting of maybe 20 random people out of the thousands he managed.  I was fortunate enough to be one of the attendees.  What impressed me the most about Ben was his authenticity.  I can tell when people are being genuine, and Ben was 100% authentic.  This is a rarity, especially in the corporate world, and it made him stand out.

If you haven’t had a chance to read the book, I highly recommend it.

Chrome Tab Position Customizer 2

When I middle-click to open a link in Chrome, I like the tab to show up right next to the tab I’m on, not all the way at the end of the row of tabs. The Tab Position Customizer extension worked great, then it disappeared from the Chrome Web Store. For the past few months I’ve been using the development version of the extension that I salvaged. But it’s gotten annoying to have a pop up window asking if I’m sure I want to use the development extension every time I start Chrome.

Install it here

Tab Position Customizer 2 extension for Chrome

So I published it in the Chrome web store for all to use. I only use the open tab on the right option. I have no idea if the rest of the options work as advertised. If you want to make any changes, the code is on on Github.

Our Car Maintenance Costs Over Time

I was reviewing the repair records for cars, and was interested to find how similar they were.

My Maxima

My car is a 1997 Nissan Maxima SE with a little under 150K miles. I bought it in September 2000. Since then, I’ve spent $7,275.29 on maintenance, including all repairs and oil changes.

That works out to $520/year, or $43/month. I’ve only kept track of my gas mileage and cost since 2008. It has varied quite a bit with the cost of gas over those years, but the average annual cost has been $939, or $78.25/month.

My wife’s car is a 2004 Honda Odyssey with around 120K miles. We bought it in May 2007 and have spent $3,945.69 on repairs and oil changes. I haven’t kept track of the gas mileage, but maintenance has cost us $563/year, or $47/month over the course of the 7 years we’ve owned it.

What surprised me most was how similar the monthly costs have been between the two cars. I’m curious to hear what other real world vehicles have cost over the long run. It’s helpful for budgeting to know we should set aside $50/month for each vehicle.

How to Get an A+ on SSL Labs Report

As a follow up to my post on cheap SSL certificates, I learned that the certificate wasn’t the reason I was getting an A- on the Qualys SSL Labs test. But after a few configuration changes, I achieved the coveted A+ grade.

A+ on Qualys SSL Labs report

First, find out your current grade by entering your web site here. If it’s an A+, congratulations! If not, continue reading.

This is the NGINX configuration I’m using (in the server block):

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    ssl_session_cache  builtin:1000  shared:SSL:10m;

    ssl_stapling on;
    ssl_stapling_verify on;
    resolver valid=300s;
    resolver_timeout 10s;

    add_header Strict-Transport-Security max-age=63072000;
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;

The only browser this doesn’t support is IE 6 on Windows XP, but I’m okay with that. Windows XP is no longer supported and IE 6 is just about dead (thank goodness). If you’re daring, use the above configuration or the configs at and hope for the best. I opted for the legacy support option (click on the “Yes, give me a ciphersuite that works with legacy / old software.” link). And has example configurations for Apache and Lighttpd.

If you want to learn more about what each of the options do, I found these two tutorials helpful:

  1. Configuring Apache, Nginx, and OpenSSL for Forward Secrecy
  2. Strong SSL security

Blank New Tab in Chrome

Chrome keeps changing the layout of the new tab page, but I just want a blank page that loads quickly. The Empty New Tab extension almost did what I wanted, but I didn’t like the blank titles. It was like staring into soulless eyes.

So I created a new extension, dubbed Quick New Tab. It’s based off of Empty New Tab but creates new blank tabs with the title “New Tab”.

Quick New Tab screenshot

It’s free, it requires no permissions, and I already love it.

The source code is on github.

I also learned it is surprisingly easy to create a Chrome extension.

Number of readers
- home
news links
other links

about me
blog archives
funny lists
web designs
webmaster help

Become a Patron

Most Popular Pages

Sign up
Enter your email address to be notified of new blog posts

Search blog archives

October 2014
« Aug  
Recent comments
Dan: Interesting, I hadn’t thought about the sum of their ages being even.

V: You also forgot that the sum of their ages must be even, because we have an integer problem here.

Shaz: Thanks Dan! Very happy now I’ll be able to do it :) Have a great day, Shaz

Dan: Here’s a solution from the FreeCell solver: Numbers = column number, letters = 4 free cells (a-d) and h =...

Shaz: Okay, I’m not at the skill level or competence of you guys, but I’ve been stuck on 6911962 and just...

Random quote
A life spent making mistakes is more useful than a life spent doing nothing. -- George Bernard Shaw

(See all the quotes)

Say hi on

(?) Choose theme:  X X X X X X
Page loaded in 0.0367 seconds