The Opinionated Bastardhttp://www.opinionatedbastard.com
My overly blunt opinions about technologyMon, 21 Jul 2014 17:16:01 +0000en-UShourly1http://wordpress.org/?v=4.1.1Best Career Advice I’ve Ever Receivedhttp://www.opinionatedbastard.com/2014/07/best-career-advice-ive-ever-received/
http://www.opinionatedbastard.com/2014/07/best-career-advice-ive-ever-received/#commentsMon, 21 Jul 2014 17:16:01 +0000http://www.opinionatedbastard.com/?p=68Read more →]]>In honor of Jeff Weiner, the CEO of LinkedIn coming to visit Chegg, I decided to write up a post for Linked In. It’s called The Best Career Advice I’ve Ever Received.
]]>http://www.opinionatedbastard.com/2014/07/best-career-advice-ive-ever-received/feed/0Books that have been Communication Power Upshttp://www.opinionatedbastard.com/2014/03/books-that-have-been-communication-power-ups/
http://www.opinionatedbastard.com/2014/03/books-that-have-been-communication-power-ups/#commentsTue, 18 Mar 2014 16:27:21 +0000http://www.opinionatedbastard.com/?p=65Read more →]]>Fixing my handwriting was a power up for me in that having handwriting that myself and others can actually read has been a huge win.

I’ve read two books recently that were business related that have also been power ups, so I thought I would share them.

As a visual person, this guide book on how to explain things visually in a business context was a huge powerup. My ability to explain things to people is easily four times better than it was, because I’m now embracing my visual side.

This book on Business Model Generation was great about breaking down the pieces of your business into definable parts. They talk about it as a strategy tool, but its really a visual communication tool, the strategy part is communicating with others in your company about your business model. They have a companion website and iPad app, but as an engineer moving up into the business realm, its given me great insights in how to think about the business.

Note that its not even handwriting, its printing. That’s because like most people, I gave up on handwriting.

Here’s the thing. Handwriting, or rather, connecting letters is faster than printing. That’s why it was invented. The problem though was that our educational system regularly innovates without actually seeing if its better. So they introduced ball and stick printing, coupled with cursive.

Cursive doesn’t work. If you were taught cursive and you have legible handwriting, you ignored the rules you were taught. For most of us, we just got used to having bad handwriting.

Recently, I decided to fix my handwriting, and I found out it was stupidly easy. So I decided to share what I did.

Here’s my handwriting after spending 15 minutes/day practicing italic handwriting. This is a note card I dashed off to hand to my employees with some action items I needed them to follow through as a hot potato. So it’s not even an example of a formal hand that I took time with but its legible enough I could hand it to others.

It was stupidly easy to fix my handwriting. Here’s what you have to do:

Buy a Lami Safari Fountain Pen

Strictly speaking, you don’t need a fountain pen to fix your handwriting. But they’re awesome. Fountain pens use the surface tension of the ink to pull the ink onto the page. Picture touching your finger to the surface of a glass of water until the water reaches up and grabs your finger. That’s how lightly you have to press with a fountain pen. Since you don’t have to make a ball roll via friction, you don’t have to cramp up your fingers. It was getting a fountain pen that motivated me to fix my handwriting.

Get “Fix it…Write”

Ok, this is the program I followed to fix my handwriting. I learned that there was no need for me to join all of my letters together, that’s not necessary. I also threw out all of the cursive letters that end up being illegible, like the cursive “r” that always ends up looking like an “n”. A lot of little tweaks like that made a big deal.

]]>http://www.opinionatedbastard.com/2013/08/you-can-fix-your-handwriting-in-4-hours/feed/2Engineering processes: How to bootstrap good process in your startuphttp://www.opinionatedbastard.com/2013/08/engineering-processes-how-to-bootstrap-good-process-in-your-startup/
http://www.opinionatedbastard.com/2013/08/engineering-processes-how-to-bootstrap-good-process-in-your-startup/#commentsSun, 04 Aug 2013 22:56:36 +0000http://www.opinionatedbastard.com/?p=50Read more →]]>Ok, so you’ve got a small technology company and you’ve hit that threshold of about 4 people where it becomes glaringly obvious that you need to institute some process. Or perhaps your engineering team is smaller than that, but you realize that if you don’t spent at least a minimal amount of time on planning your work, you’re going to spend a lot more time doing the wrong work, the less important work, or delivering the wrong thing.

This article will help you bootstrap some minimal processes that will enable you to be much more effective. It should be enough to carry you to the point that you have to split engineering into multiple groups at about 10-20 people.

Get Buy In for 5%

The first step is to discuss with the team the need for some minimal process. You’ll be surprised how easy this is, engineers like process because they like algorithms and they like solving problems but they hate rules. The key to all process is to make it organic and flexible which means getting buy in first that you’re going to need some process. At this point, get your team to agree to a time budget of 5%, then have them do the math and realize that means 2 hours week out of a 40 hour week. Those 2 hours/week are yours to spend.

Why: You’re going to spend more than this if you don’t devote time to being organized. Getting people to buy in and setting a boundary is a perfect start to planning anything, this is no exception.

Institute Pierce’s Check In process.

This is something they do for 10 minutes/day as part of their 5%, or 50 minutes a week. Now you know why you needed to get buy in for 2 hours. You’ve spent 50 minutes already!

2a. You start the day with an empty email titled: [CI] Pierce 08/02/2013
2b. Throughout the day, use that email as a work log. Did this, did that, this sucked, this was awesome. Make jokes! Bitch (but not about people in your company).
2c. At the end of the day, add a summary section to the top with the highlights.
2d. Send to all of your teammates or people you worked with on problems.

Why: It will actually be interesting to know what everyone is working on, and it will solve problems practically before they happen. That is, all process is really about communication. If you start the habit of having everyone on the team communicate with each other every day, you’re building a rock solid foundation for your entire company.

I do this every day, and send it to everyone relevant from my CI every day. Everyone reads them and knows what’s going on with me and my group. Its funny because people don’t like writing their CI, but they love reading other people’s.

Additional Manager-Fu is that its inescapable that I end up reviewing my day at the end of the day, and I can easily review my previous day and quickly catch anything I need to do today when I start my day. Besides writing stuff down, a key feature of all of the Time Management systems out there is reviewing your day.

Normally, its the managers job to oversee the process. But this doesn’t have to be a management role, this can be a “followup and through” role because ultimately, its about making sure people are following through on the processes that make everyones life easier. In the Navy, the lowest ranking person on the ship was often in charge of morale.

Why: Someone has to follow through and up, otherwise everyone assumes someone else will do it.

Project Charters

When you first started your company, it was obvious what you needed to do next, even if it was only order lunch. At some point though, you start to have multiple projects jostling for your time at all time. Everyone always does! But if your company is now at the point that you’re willing to read a blog post about good engineering processes, its time to institute project charters. Project Charters are simply a way of articulating clearly why you’re doing a project so that you can choose the correct projects to start first, so you know when a project is complete, and so you can communicate with your team and others about a project.

Why: The most important thing to know on anything you do is why you’re doing it, and what your barriers to success are.

Project Charters are simple to create. They are just a 1 page document you spend an hour on so you know why you’re doing the project before you start it. If it takes more than an hour to write a project charter you had to talk to people you needed to talk to anyways. You’ll see some immediate victories for process here:

Any project you choose not to start immediately because of some other more pressing project is a double win in terms of time and resources that both didn’t get spent on the less important project, and in terms of the same time and resources that you got to spend on the project that did win instead. It’s a two-fer-one.

If writing the charter forces you to talk to some other people in your company to figure out why you’re doing a project, imagine how much worse it would have been to start off in the wrong direction and flounder about figuring out what you needed to do? Haven’t you been on one of those projects? Didn’t it suck?

The project charter will enable you to stop early. Taking a project past its success criteria is going to consume resources you could spend on other projects. You don’t need to gild the lily.

A project charter should have the following short sections:

Vision: Why are we doing this?
Driver: Why are we doing this now or what’s the most important thing that has to get done?
Constraints and Floats: (Deadlines, resources, features, quality, what are we stuck with and what is flexible?)
Success Criteria: What does this project have to accomplish to be successful?
Stretch Goals: What would be nice if this project accomplished?
ROI (if appropriate): What will the company/engineering department gain if this project is completed?

See Manage It by Johanna Rothman for details on how to manage the process or you can read up on “Context Free Questions” for help. Note that I’m not advocating a formal requirements process, I’m advocating the only page of the requirements document anyone ever reads anyways, the part that says “what this project is about”.

Everyone has both operational tasks that tend to be interrupts, and development tasks where they need focus. Figure out some way to keep the operational load from overwhelming your development load. I do this by attempting to throttle the amount of time people spend on the operational functions either by slicing people’s time (including my own), or by allocating operational duties across people and rotating people into the hot seat.

Why: Customers are wonderful because they give you $. They also give you problems. If you don’t manage the interrupts, you can’t get the development done you need to get done to prevent the problems, which makes the problems worse, so you spend more time on them… Get in front of the problems, and life is easier. You don’t have to implement this process immediately, but monitor the time you spend on operational problems over development problems and keep the levels appropriate.

Manager Fu: It’s better to interrupt engineers before they start for the day, before the break for lunch, right after lunch, or at the end of the day. Anything else destroys their focus. Schedule your meetings appropriately when you can, and if you’re a manager, think about when you’re going to interrupt your people for a question.

Try to only shoot yourself in the foot once with Post Mortems

After you shoot yourself in the foot, write up a project charter for how to prevent it. Doesn’t mean you’re committing to do it, you’ll have to juggle that project with all the other projects. My rule of thumb is that you always have 20-30 things you could be doing, and resources/time/focus to do 3… But writing down the ROI and costs will make you aware and feed into future planning. This can be the output of a Post Mortem meeting where you discuss what went right and what went wrong. Work hard to avoid blame in that meeting.

Manager Fu: Focus on what’s right, people tend to focus on what’s wrong, but often the wrong is a side effect of the right that you have to live with. If the wrong isn’t a side effect of the right, prioritize that you should do more of the things that went well. That’s Manager-Fu because its easier to do more of the good things often than less of the bad things and definitely more fun.

Process is best when organic, evolving, and flexible.

Your processes are going to work best when you grow them to match an existing need. Remember that and have a regular process to review your processes and tweak them. The processes that make sense at 4 people may not make sense at 6, 12, or 60. The process you institute your first week won’t be the same process you have at week 10, 20, or 52. Grow, adapt, change and throw away.

You can find Johanna Rothman’s book on Amazon:

]]>http://www.opinionatedbastard.com/2013/08/engineering-processes-how-to-bootstrap-good-process-in-your-startup/feed/0The Volt At one year Oldhttp://www.opinionatedbastard.com/2013/06/the-volt-at-one-year-old/
http://www.opinionatedbastard.com/2013/06/the-volt-at-one-year-old/#commentsWed, 05 Jun 2013 04:44:48 +0000http://www.opinionatedbastard.com/?p=49Read more →]]>The Volt at one year old

My volt is the best car I’ve ever owned. I’ve had it for a year now. I that time I’ve driven 6800 miles, 5800 of which were pure electric. The 1000 non electric miles were from a trip to LA in December. My average MPG is 217.

I spent $0 on maintenance. Doesn’t need it, and oil changes are every two years.

The government gave me $9000 for driving the volt while my 0% interest payments were $7200. Basically, the government paid me $1800 to drive this car for a year.

Driving in the diamond lane saves me 20–40 minutes a day which means I had an extra 5000–10000 minutes of life back or 4 extra hours of free time in my week. Because its so quiet, my commute is a lot less stressful; I didn’t realize it before the volt but most of my commute stress was nose related.

It is incredibly automated. I just get in and drive it. Everything from de fogging to releasing the parking brake is done automatically.

Really good sound system. Which I can play at a reasonable volume because I don’t have to drown out the road noise.

At night, I feel like I’m driving the bat mobile because it feels like its gliding.

The electric motor gives it great pickup at all speeds.

]]>http://www.opinionatedbastard.com/2013/06/the-volt-at-one-year-old/feed/0New post on the Chegg Tech Bloghttp://www.opinionatedbastard.com/2013/05/new-post-on-the-chegg-tech-blog/
http://www.opinionatedbastard.com/2013/05/new-post-on-the-chegg-tech-blog/#commentsWed, 29 May 2013 09:13:28 +0000http://www.opinionatedbastard.com/?p=48Read more →]]>My latest post is about making sure you have enough states in your Service Oriented Architecture to make the system robust. You can check it out here.

]]>http://www.opinionatedbastard.com/2013/05/new-post-on-the-chegg-tech-blog/feed/0Why I don’t think MySQL is a good choice for the cloudhttp://www.opinionatedbastard.com/2013/04/why-i-dont-think-mysql-is-a-good-choice-for-the-cloud/
http://www.opinionatedbastard.com/2013/04/why-i-dont-think-mysql-is-a-good-choice-for-the-cloud/#commentsSat, 06 Apr 2013 18:16:40 +0000http://www.opinionatedbastard.com/?p=44Read more →]]>Databases are all about I/O speed. If you believe that 20% of the data is 80% of the queries, then any database over five times RAM is too large to be fast.

In most businesses data over a year old shouldn’t matter. It shouldn’t be part of the 20%.

For OLTP, that’s almost true except MySQL is a really crappy database. So the ratio is probably more like 2x RAM. Real databases allow you to organize the table by any column, so you can put data for the same foreign key together, or even just sort by creation date. InnoDB organizes by primary key, period.

For reporting, it’s table scans anyways with a good data mart, but the organization part is even more important there so the scan is sequential reads. Even in the cloud, bulk sequential reads are a sweet spot.

Luckily, there are some real databases that have skins so they can look like MySQL, so hopefully I can wean work off using it.

]]>http://www.opinionatedbastard.com/2013/04/why-i-dont-think-mysql-is-a-good-choice-for-the-cloud/feed/0Cupcakes instead of Layer Cakes and Mocks for Integration Testinghttp://www.opinionatedbastard.com/2012/09/cupcakes-instead-of-layer-cakes-and-mocks-for-integration-testing/
http://www.opinionatedbastard.com/2012/09/cupcakes-instead-of-layer-cakes-and-mocks-for-integration-testing/#commentsMon, 17 Sep 2012 16:41:06 +0000http://www.opinionatedbastard.com/?p=41Read more →]]>At every company I’ve ever worked at we needed more automated tests.

The problem is that you can only do so much with Unit Tests in Cloud/Enterprise development. You need “integration tests”, but those become a huge pain in the ass. Some people point to “Mocks” as the answer. Except Mocks don’t seem to work.

Recently I read a blog post from someone about what he called the “NoMock movement”. I’d like to make my own contribution, because I believe in Cupcake testing instead of Mocks. Let me explain what I mean by that.

So most cloud/enterprise applications look like this:

ViewLayer

BusinessLogic

Persistence Layer

Storage Layer/Database

Key ideas:

For debugging the persistence layer, pretty much if you can save your object once, you can save it most of the other times too. So debugging the Persistence and Storage Layers is interesting for the people working on those layers, is not that interesting otherwise. For the persistence/storage layers, you need unit tests, but you don’t need to include them in the integration tests for your application. You just need to temporarily record changes, which you can do in memory for the small amount of data you have to deal with in a test.

The ViewLayer -> BusinessLogic layer is 90% reads. So debugging the BusinessLogic loading from the Persistence Layer isn’t interesting to the ViewLayer testing. What you really want it to test View Layer -> Business Logic.

That leaves us with 2 types of tests to develop: Complex Business Logic tests, and View Layer -> Business Logic tests. These types of tests are much easier to develop, because we don’t have to bootstrap persistence and storage layers along with our other tests.

So you build “cupcake” tests as opposed to a integration “layer cake” test. Only two layers at a time, cake plus frosting!

Write unit tests for each object in the business logic.

Setup something that can load an object tree into memory from a YAML file. SnakeYAML makes this easy. You can then use that to write unit tests against the BusinessLogic that work with multiple objects at once.

Setup something that fakes out the PersistenceLayer by just using an in-memory copy of the object tree from #2. This is about the closest you get to a mock, but its a smarter kind of mock. It’s a mock persistence layer. You can’t use a Mock framework to do this, but if you’ve already done step #2, it will be pretty easy. You’ll need two implementations of your persistence layer, one that does this, one that does the real thing.

You can now write view layer tests. First step is make sure every page works which you can do without a browser. You can even do this as an automated test that just loads every page.

Setup Selinium tests that do more complicated stuff.

You’ve now tested all the layers individually and caught about 95% of the bugs. For extra credit, there’s a final step:

Write something that can walk an object tree and generate a YAML file for step #2. Again, easy with SnakeYAML. Add the appropriate links in your admin tools and you can now dump real data from production into a file and have a good set of stuff from production to use in testing. Have a bug? Train Customer Service to click the dump button.

That’s what the Cupcake testing model looks like. The key bit is writing the to/from bit via SnakeYAML, but that’s not too bad because SnakeYAML can already follow collections and dump arbitrary JavaBeans. The only catch is that you need to prevent SnakeYAML from dumping out the entire database given one object. You can follow a customer to an order, and from there to a list of lineitems, because the order owns the line items. You can follow the lineitem to the product, because the relationship is to-one and safe, and from product to vendor because that’s a to-one, but you shouldn’t follow vendor back to products because that will end up pulling in the entire database! To write the dump code so it pulls in all relevant pieces of data but not the entire database you just need to have the following rules:

By Default, follow all to-one relationships. It’s almost always safe to add one more objects to the pile of objects.

By Default, do not follow all to-many relationships. It’s the to-many relationships that are dangerous.

By Default, strip out any primary keys. That way your test cases are floating free as detached objects to start with and won’t conflict with other data. This is about a zillion times easier if your primary key columns all have the same name, i.e. “Id” or “uuid”, because you can just special case those in your SnakeYAML dumper.

Have a method of overriding the defaults on relationships. That’s easy to do by merely loading a config file via YAML in your SnakeYAML dumper class. All that config file needs is a class name and the properties you do and don’t want to follow. i.e. com.chegg.Order.lineitems should be follow from my example above.

In general, the follow rule is: follow relationships that imply ownership. Orders own lineitems, so its ok to follow them. This can end up finding problems in your data model because what you may find is that the ownership isn’t what you think. It’s natural to think of Vendors as owning their products, but actually, vendor is an attribute of a product; product owns vendor, vendors don’t own products. That seems counter intuitive, but that’s a topic for another day.

Well, that’s the Cupcake model. Let me know how it works for you.

]]>http://www.opinionatedbastard.com/2012/09/cupcakes-instead-of-layer-cakes-and-mocks-for-integration-testing/feed/0Your Mileage May Vary: Why I bought a Volthttp://www.opinionatedbastard.com/2012/06/your-mileage-may-vary-why-i-bought-a-volt/
http://www.opinionatedbastard.com/2012/06/your-mileage-may-vary-why-i-bought-a-volt/#commentsTue, 05 Jun 2012 23:16:31 +0000http://www.opinionatedbastard.com/?p=40Read more →]]>So it was time to replace my much loved Honda CR-V. I’d owned it almost 12 years, I’d put 141,000 miles on it, but it had reached that age where there was going to be a succession of little hassles with it. It was a great car for me when I lived in Flagstaff, AZ in the snow, but now I’d given up on the “I’m so awesome I don’t have to live in Silicon Valley” delusion, and embraced the reality of “I’m awesome, but if I’m actually in the same room as my employees I can make them awesome too”. So having a snow capable vehicle wasn’t a priority.

So I started looking around. The first thing I did was ask my friend Steve, “What kind of car should I get?”. He’s the one that turned me on to the CR-V in the first place, and he’s a car/tech buff. I’m a computer person, but I’m not really a car person. I told him:

I have an 8 mile commute that takes me 30-40 minutes, so I figure I’m spending 22-32 minutes sitting at lights. So what I really want is a car that’s comfortable for sitting at traffic lights.

He suggested a Leaf, a Volt, or some kind of electric car or hybrid. I wasn’t totally surprised by this, because I knew that Steve already owned a Leaf. He actually pushed me more towards a Volt than a Leaf though.

So I started looking into it. The first thing I found was sticker shock. MSRP for a Volt is $40,000. I think that’s where most people stop. “I could get a BMW for that!” they think, and move on. But like many things about a Volt, its more complicated than you might think. I ended up figuring out that the Volt seems expensive but its cheaper in the long run.

The first thing to consider is the state and federal tax credits. In California, a Volt costs about $9,000 less, because the Federal Government will kick in $7,500 and the state will kick in $1,500. It’s in the form of a tax credit so you have to wait until tax time, but that drops the price down to $31,000. Before you bleed for California and their budget problems, remember that the state still collects Sales Tax of about 8.5% on the vehicle.

So at $31,000 we’re now out of BMW territory. In fact, we’re pretty close to the $27,000 it would cost me to replace my CR-V with a CR-V-EX.

To make it even more interesting, GM was offering 0% financing for 72 months on the Volt.

So now I’m looking at a car that would:

Save me money every month on gas.

Wouldn’t cost me anything to finance.

Suddenly, the Volt went from being expensive to being competitive, on price. It got better from there.

So then I started looking into how much I would save on gas each month. This is where it really started to get interesting. Your Mileage May Vary, is very much true with the Volt. The Volt is one of the few cars on the road that actually typically gets better numbers than the EPA or GM estimates. For everything about the Volt, the answer is “it depends”. It depends on how you drive, it depends on the temperature outside, it depends on the terrain you’re driving over. Neither the EPA or GM have any idea of how to estimate anything about the car, so all the numbers they report are just guesses.

A digression on how the Volt works: In essence, its like a Prius or other type of hybrid with a larger battery. It’s battery is large enough that most of your mileage, your commute and local errands, will use the battery. When I get home, I plug it into the wall (literally, the charger that comes with it is a standard plug), and while I’m sleeping, the battery recharges. Where it gets interesting, and what makes the Volt different from the Leaf or other all-electric cars, is that after the battery is empty, there’s a gas engine that kicks in giving you similar mileage to a hybrid. So your mileage will vary because it depends on the mix of pure-electric to electric+gas miles. If that weren’t enough, because batteries are based on chemistry they work best in moderate temperatures. The key takeaway is that the Volt is a Hybrid Plus. You will always get at least as good of mileage as a hybrid, with any pure electric miles being gravy.

So if the EPA and GM can’t estimate how well the Volt will actually do, who can? That led me to two sites: gm-volt.com and voltstats.net. The first site is the unofficial site for Volt owners, and I was able to find tons of information about the Volt, both good and bad. The second site is a collection of statistics about Volt mileage and performance from real Volt owners. Chevy has an official site, myvolt.com that does the same thing but its kind of lame, websites aren’t exactly GM’s thing.

Via Voltstats.net my car comes with its own website. Here it is. As I write this, Volt Stats is reporting that my MPG is 209. In the last week, my MPG has been 1000+, because I haven’t used any gas. When I am using gas I’m getting about 40 MPG, i.e. typical hybrid mileage. The only reason I’m not above 209 MPG lifetime with the Volt is because I haven’t owned it long enough! The dealer had not been able to charge my Volt before I picked it up, so I had to use .6 Gallons to get home so every time I drive somewhere I’m making my average better.

Like I said, Your Mileage May Vary, but from the above sites I found out that I should be able to easily exceed the numbers provided by GM and the EPA. That made the Volt seem even more attractive.

Meanwhile, at current gas prices, I was putting $50 in my CRV once a week, or $200/month. That’s $2,400 a year. Even though I’d be replacing that with $7.50 worth of electricity, an electric vehicle was suddenly seeming like the cheaper option long term. With the right rate plan from PG&E, I might be replacing that with $1.50 worth of electricity. $200/month in gas savings would make a substantial part of the car payment.

That’s when I started looking at the 5-year-cost-of-ownership numbers from kbb.com (Kelley Blue Book) and Edmunds.com. Their numbers were off for the Volt because of the 0% financing, their gasoline costs were just a wild ass guess because of the EPA/GM problem. Gas in CA is running me $4.25, not $3.80. After correcting for those, it came out that the Volt was going to essentially cost me the same as the MSRP over 5 years.

Meanwhile, the costs for every other car I looked at were about $10,000 more because of gas ($200/month for 60 months adds up), and $5,000 more because of something I hadn’t considered. Maintenance. Maintenance on the Volt is much cheaper because it works via electricity, as opposed to a gasoline engine which works by exploding things. In the first 30,000 miles/2 years, the only maintenance on the Volt is to change the oil. You’re not changing the oil because its worn out, you’re changing the oil because its stale. Oil gets stale! Most of the maintenance later on in the schedule relates to the gasoline engine/generator that is part of the volt, but that’s pretty light because unlike in a regular car, the gasoline generator runs at a constant speed and its simpler than in a car.

The $15,000 extra that a regular car would cost me hit like a brick. We’ve reached a tipping point, where the cost of gas and maintenance for a car over 5 years can exceed the cost of the car. Suddenly, the Volt went from being cost competitive with a CR-V to being cost competitive with cars that were about $10,000 less and not nearly as nice in the interior. Going through kbb.com and edmunds.com, I had to line up cars like the Ford Fusion, the Hyundai Sonata, the Ford Focus, and the Mazda 3 to beat the Volt on cost, and of those, few of them had a very nice interior.

The Volt was now winning on several fronts:

I would save significantly on gas, even over a different kind of hybrid. I was currently spending $2,400/year in gas, based on 4 fill-ups/month at $50 each.

It wouldn’t cost me anything to finance.

Maintenance was another savings.

The $9,000 tax credit meant the government was going to pay me to drive it the first year, because the first year of payments were less than the tax credits.

Remember, I started all this looking for a car that was “nice to sit in at traffic lights”.

So at this point, I was leaning pretty seriously towards the Volt. It would save me money in the long run, I could stick it OPEC, and the interior looked nice. My friend Steve told me about a Hybrids and Hot Rods show that was sponsored by the Mercury News, so he and I went to the show and I got to actually sit in a Volt. Though I couldn’t test drive one, I was also able to look at various other hybrids, and I eliminated everything but the Hyundai Sonata based on crappy interior quality. Most of them were like rental cars.

From the show I also found out that while Volts weren’t selling well elsewhere in the country in California and specifically in Silicon Valley they were selling really well. Especially because the newest California Volts qualified for the HOV lane. For my commute, driving in the HOV lane would save me 10-15 minutes each way. That’s an hour/week of extra time in my life. So dealers were selling them before they arrived on the lot. So I was going to end up paying MSRP.

Since I could get MSRP anywhere, in a way, that made shopping for the Volt easier. But at MSRP, I was going to be super picky about the options I wanted. Basically, that boiled down to my deciding that I didn’t want the Nav system at an incremental cost of $2,000. Between my iPhone, and the turn by turn directions provided by OnStar (3 years free with the Volt), it wasn’t going to be that useful. After that, I wanted the rear-view camera for backing up, and I talked myself into the speaker upgrade. Via Gm-volt.com I found out that the reader seat divider thing was also worthwhile.

Via GM’s inventory website, I found a dealer who had a Volt with the set of options I wanted on the way, if not on the lot, in the color I wanted. That was a challenge because most of the dealers were order Volts either loaded or with nothing. I wanted something squarely in the middle, what I called the “iPhone mix”. It was time for a test drive.

From asking around, and the above websites, I’d learned a couple of things in preparation for the test drive.

First, the Volt has 5 driving modes. There’s “D” and “L”, which are “drive like a gas car” and “drive like an electric car”, and then you can mix in “Normal”, “Sport”, and “Mountain” on top of that. Generally, I drive in Sport and L.

Normal drives like a Cadillac. It accelerates gradually, its mellow and relaxing, but slightly boring. Most of my co-workers who had driven a Volt had driven it Normal, and found it kind of poky. Which is strange, because unlike a gas car, an electric car has all of its torque instantly available. Touch the gas, well, ok, I’ll speed up. IN the Volt if you stomp the gas in normal, zoom, but you have to know it does that.

Sport mode drives like a Camaro. I owned a Camaro, driving in Sport reminds me of driving the Camaro. Touch the gas, zoom. Electric Car zoom, which in many ways is zoomier than my Camaro. My Camaro had 280 HP to the Volts 143, but the Volt has 143 HP at all speeds. The Camaro only had 280 HP in its sweet spot, when you stomped the gas, there was always a fraction of a second for it to adjust to the new gas.

The Volt is a lot more fun in Sport mode, though if you have a heavy foot, you won’t notice much difference. It doesn’t top out at 140 MPH like my Camaro, more like 100, but I only could ever get the Camaro up to 140 about twice in the whole time I owned it.

D/L is a little more complicated. The drivers manual that comes with the Volt will tell you that L extends the electric vehicle range by causing it to regenerate electricity instead of coasting, so its better in the city. While that’s true, I’m going to describe it differently. I’m going to describe how it feels to drive in L.

In a regular gas car, the “accelerator” accelerates. If you want to go faster, you push down from where you are. If you want to slow, you let up on the gas, and the air friction will slow you down, at which point you have to adjust the gas position again. If you’re going up a hill, more gas. If you’re going down a hill, less gas. Driving a car is a series of constant adjustments to the gas pedal even when maintaining the same speed. When driving the Volt in D, the Volt behaves the same way.

In L, the accelerator pedal acts more like a velocity pedal. Want to be going a certain speed? Push your foot down that far, and the Volt will accelerate or decelerate to match. It feels like cruise control tied to a pedal. It takes a moment to get used to, but barely a moment, then it feels like the most natural thing in the world. You can drive around the city using mostly just one pedal; I use the brake only for stopping that last 5 feet. After you’ve experienced it, L actually feels more natural than D, and its much easier to drive in.

So armed with all that, it was off to the dealer for a test drive.

Driving a Volt, or any other electric car is very different, in a good way. You know how driving the little golf carts is the best part of golfing? Now imagine a golf cart that can go 100 miles an hour. They’re that much fun to drive. Having 100% of the torque available at any speed makes it very fun to drive. Zoom.

Then you notice something that isn’t there: the engine noise. Electric cars make so little noise when moving and zero noise when stopped. It’s a unique experience. It’s very easy to get going very fast without realizing it because you’re used to the engine noise telling you how fast you’re going. During the freeway part of my test drive, the Volt was up above 80+ before I noticed that the outside had gotten a bit blurry. Kind of like when they kick in the hyperdrive in Star Wars. No noise, quick acceleration, Zoom.

Meanwhile, the Volt was also comfortable.

I was sold. It was comfortable, fun to drive in sport, comfortable to drive in normal, and quiet which I hadn’t realized would be such a big deal. So I pulled out the VIN for the Volt with the color and options I wanted which was literally on a train somewhere between Ohio and California, and the Dealer sold it to me. He told me it would take about 20 days to arrive, it took about 14. So on May 24th, I drove it home from the dealer.

At this point, I’ve had my Volt about 2 weeks, but I’ve only been able to drive it 1 week, because I was out of town on vacation. I love it. I don’t have my thoughts organized about why, but here are some points:

Remember what I said above about how quiet the Volt is? What I’ve discovered is that a large part of the stress of my commute is the noise. Much like traveling in an airplane, you don’t realize it, but the engine makes noise, so you turn up the radio slightly louder, or you talk louder, or you just live with the noise. But all of that noise is stress. My commute feels shorter. It’s just me, and my thoughts for 30-40 minutes. It’s almost relaxing to commute now. It’s me time.

The sound system is better than what I have in my house and better than any other car I’ve ever been in. Bose did an incredible job of equalizing the sound in the Volt. A car is a weird environment for sound reproduction with its mix of glass, steel, leather, and plastic, but you wouldn’t know in the Volt. The music is clear and crisp. Add that to how quiet the car is when moving around, and its amazing.

No gas, no gas station. Every day, I come home, plug in my car on the way into the house, and say “Take that, OPEC, Hah!” I’ve only used .9 gallons of gas, .6 of which was driving home from the dealer, .3 of which was a long trip that wasn’t quite enough to do completely electric after we diverted to another town for a drink. Because I had a Volt I didn’t have to worry about it, and the only reason I knew it had switched from pure electric to hybrid was because the gauge switched from being an “electric gauge” to being a “gas gauge”. The only reason my wife knew was because I told her “Hey, we just switched to gas”.

The Turn by Turn navigation from OnStar works great, even in the model without the map navigation. It knows where you are, it prompts you at appropriate intervals, it shows you giant arrows indicating what you have to do, the only thing it doesn’t have is a map. Oh, and I can send it the destination from my iPhone and it downloads into the Volt.

The iPod integration works great. I didn’t think I would use the Sirius radio that much, but I just discovered they have a Comedy channel I think I’ll use, especially if its been a hard day at work.

Everything seems like its automatic. As I walk away from the car, it locks itself. When I want to get in, I touch the door handle, and it unlocks. Air conditioning/heat and so on is fully automatic. In my CR-V it seemed like I was constantly adjusting the Fan, setting the blowers, switching between heat and cold, turning on the air conditioning, turning off the air conditioning. None of that in the Volt.

Driving seems more like gliding. It seems like the Volt glides from place to place, partially because of the quiet, partially because electric motors just drive like that. My wife and I call the Volt the Blue Ninja, because its blue, and its so quiet.

It’s not perfect, but its one of the best cars I’ve owned. Driving a Volt is like driving the future.

The Volt isn’t for everyone. It’s a little confusing, because you’re driving the future, and all the modes and options can get a bit complicated. It’s still a little “engineery”, kind of like most cell phones were prior to the iPhone. That wasn’t a problem for me, because I’m an engineer, but it might bother you. They’ll smooth that out in the years to come, and GM assigns everyone a “Volt Advisor” when they buy a Volt to help them through it. That’s the main reason I think they aren’t jumping off the dealer lots yet, there’s too many questions people have where the answer is “it depends”. GM also needs to pick one simple thing about the Volt, and push that in each ad. It’s basic marketing. GM’s current slogan “It’s more Car than Electric” is a head scratcher, and I own a Volt!

At the Hot Rods and Hybrids show a lady came up to the Volt salesman and said wanted a hybrid but she didn’t want a Volt because she “didn’t want to have to plug it in”. Based on that, I would sell the Volt via this slogan: “Going to the Gas Station Should Be Optional”.

As far as the complexity goes though, I would say that about half of the “it depends” are my fault though. I think most people would be perfectly happy driving the Volt around. Set everything to Auto, pick a radio station, call OnStar and have them set your destination in the Nav, and you’re ready to go. You’ll use less gas, you’ll be comfortable, and you’ll have less stress as you drive around. Its my tendency to optimize everything that both led me to the Volt, and made me dive into the 5 different driving modes. But that’s the stuff that’s fun for me. It’s the stuff that’s not fun, like going to the gas station once/week, getting the car maintained every 3-6 months, that’s the stuff that’s not fun for me, and that’s the stuff I that made me buy a Volt so I don’t have to do it!

If a Volt makes sense for your commute, you should seriously consider buying one.

]]>http://www.opinionatedbastard.com/2012/06/your-mileage-may-vary-why-i-bought-a-volt/feed/5Apple should offer a public cloudhttp://www.opinionatedbastard.com/2012/03/apple-should-offer-a-public-cloud/
http://www.opinionatedbastard.com/2012/03/apple-should-offer-a-public-cloud/#commentsSat, 03 Mar 2012 17:09:42 +0000http://www.opinionatedbastard.com/?p=38Read more →]]> Apple needs to become a public cloud provider. This will be an ambitious undertaking because frankly, they’re very far behind Amazon.

But if they did so, it would be hugely successful. Because these days, every app you see ends up being backed by a server somewhere and that server is in a cloud somewhere. People want and expect their data to be everywhere, which means you need servers in the cloud.

Which means that every app you see is really two apps, the iOS app and the cloud app.

Right now, what everyone does is write both apps on MacOSX and then port the cloud apps to some flavor of Linux. So the immediate win for Apple developers is that the cloud apps would run on the same flavor of system they were developed on.

The immediate win for Apple is that all of the energy those developers spend on their server apps would be spent on MacOSX instead.

That’s just the win on day one. If at the same time Apple rolls out a suite of services that their cloud provides along with OS support for talking to those services that would mean that all of the energy their developers currently spend writing server code could instead be spent on their apps.

The resulting combined ecosystem of devices, software, services and cloud would be nearly unbeatable.

Apple has already started down this path with iCloud. But they need to go farther. Because right now, every app I design in my head has a server component that requires the cloud.