Monthly Archives: August 2016

Collecting Energy Price Data

I’m not sure why exactly, but I am particularly interested in fluctuating energy costs, particularly the costs associated with putting gas in my car.  I remember that Regular Unleaded Gas (or Petrol for you Europeans) was $.99 a gallon when I started driving around 1985 in the arid South West of San Antonio, TX.  Of course gas is more expensive today, but I’m often surprised how relatively cheap gas prices remain for a gallon of Regular Unleaded.  I feel fairly confident that it’s just a matter of time before all energy costs, Regular Unleaded Gas not excluded, will rapidly increase.  Energy is a limited resource yet the global population continues to grow.

Anyway, I wrote a python script (adapted from a Perl script I wrote to do the same a few years ago) to grab the current National Average Price for Regular Unleaded Gas.  My script runs automatically each morning to collect the daily price of Regular Unleaded Gas and dumps it into a MySQL database I have running on AWS.

Here’s a graph snapshot of the data I’ve collected so far (click to enlarge).

Graph the GasHere’s the table of the data I’ve collected so far:

+—-+———————+————+——–+——+——-+——+
| id | rec_create_dt | price_date | price | year | month | day |
+—-+———————+————+——–+——+——-+——+
| 1 | 2016-07-25 01:53:08 | 2016-07-24 | $2.165 | 2016 | 7 | 24 |
| 2 | 2016-07-25 09:46:16 | 2016-07-25 | $2.161 | 2016 | 7 | 25 |
| 7 | 2016-07-26 11:11:50 | 2016-07-26 | $2.154 | 2016 | 7 | 26 |
| 8 | 2016-07-27 06:00:16 | 2016-07-27 | $2.154 | 2016 | 7 | 27 |
| 9 | 2016-07-28 06:00:22 | 2016-07-28 | $2.148 | 2016 | 7 | 28 |
| 10 | 2016-07-29 06:00:21 | 2016-07-29 | $2.142 | 2016 | 7 | 29 |
| 11 | 2016-07-30 06:00:22 | 2016-07-30 | $2.139 | 2016 | 7 | 30 |
| 12 | 2016-07-31 09:30:22 | 2016-07-31 | $2.135 | 2016 | 7 | 31 |
| 13 | 2016-08-01 09:30:22 | 2016-08-01 | $2.132 | 2016 | 8 | 1 |
| 14 | 2016-08-02 09:30:23 | 2016-08-02 | $2.126 | 2016 | 8 | 2 |
| 15 | 2016-08-03 09:30:23 | 2016-08-03 | $2.120 | 2016 | 8 | 3 |
| 16 | 2016-08-04 09:30:23 | 2016-08-04 | $2.116 | 2016 | 8 | 4 |
| 17 | 2016-08-05 09:30:23 | 2016-08-05 | $2.120 | 2016 | 8 | 5 |
| 18 | 2016-08-06 09:30:23 | 2016-08-06 | $2.124 | 2016 | 8 | 6 |
| 19 | 2016-08-07 09:30:24 | 2016-08-07 | $2.123 | 2016 | 8 | 7 |
| 20 | 2016-08-08 09:30:23 | 2016-08-08 | $2.123 | 2016 | 8 | 8 |
| 21 | 2016-08-09 09:30:24 | 2016-08-09 | $2.124 | 2016 | 8 | 9 |
| 22 | 2016-08-10 09:30:24 | 2016-08-10 | $2.127 | 2016 | 8 | 10 |
| 23 | 2016-08-11 09:30:25 | 2016-08-11 | $2.130 | 2016 | 8 | 11 |
| 24 | 2016-08-12 09:30:25 | 2016-08-12 | $2.129 | 2016 | 8 | 12 |
| 25 | 2016-08-13 09:30:21 | 2016-08-13 | $2.127 | 2016 | 8 | 13 |
| 26 | 2016-08-14 09:30:26 | 2016-08-14 | $2.125 | 2016 | 8 | 14 |
| 27 | 2016-08-15 09:30:26 | 2016-08-15 | $2.124 | 2016 | 8 | 15 |
| 28 | 2016-08-16 09:30:26 | 2016-08-16 | $2.125 | 2016 | 8 | 16 |
| 29 | 2016-08-17 09:30:27 | 2016-08-17 | $2.132 | 2016 | 8 | 17 |
| 30 | 2016-08-18 09:30:26 | 2016-08-18 | $2.135 | 2016 | 8 | 18 |
| 31 | 2016-08-19 09:30:27 | 2016-08-19 | $2.141 | 2016 | 8 | 19 |
| 32 | 2016-08-20 09:30:23 | 2016-08-20 | $2.152 | 2016 | 8 | 20 |
| 33 | 2016-08-21 09:30:28 | 2016-08-21 | $2.158 | 2016 | 8 | 21 |
+—-+———————+————+——–+——+——-+——+

The Lean Startup

Angular versus ReactLinux versus WindowsJava versus Python?

WHO CARES?!?!?

The important technical question is whether or not your software is something people are willing to pay for.  If no one is buying your software product, then your Technology Stack is irrelevant.  People don’t typically buy a software product because it’s written in C++ or NodeJS.  People buy software products because it solves a problem, whether that problem is boredom, financial, security or something else.  This is one reason why I really enjoyed reading Eric Ries’ book, ‘The Lean Startup’.

This book is packed with wisdom focused on how to discover the value of your entrepreneurial software idea through ‘Build, Measure and Learn’ iterative development cycles.  Eric’s Lean Startup ideas borrow heavily from the Japanese product development processes at Toyota and beyond.

Here are some things I took away from this book and the Lean Startup Movement in general:

  • Everyone can and should be an entrepreneur.  It’s ok to be an entrepreneur inside of a well-established organization; in fact, it’s beneficial.
  • Lack of innovation is death in business.  [I want to read ‘The Innovator’s Dilemma‘ in reference to this point.]
  • Build, Measure, Learn feedback cycles should be used to collect data from your target market.  Ask the hard questions of how you are doing from your customers.
  • If your product fails to grow, consider the concept of a ‘Pivot‘ to find greater acceptance and use of your product.
  • Four key questions to keep asking:
    • Do consumers recognize that they have the problem you are trying to solve?
    • If there was a solution, would they buy it?
    • Would they buy it from us?
    • Can we build a solution for that problem?
  • Genchi Gembutsu – Go see for yourself.  Trust but verify.
  • Build your MVP quickly to see if you are heading in the right direction.
  • Experiment.  A/B Testing.  Customer testing.  Collect Data.
  • Taiichi Ohno and the Five Why’s
    • At the root of every seemingly technical problem is a human mistake.
    • Five Whys helps to get to the root of the technical problem.
  • Time to Build not important.  Time to Measure not important. Time to Learn not important.  What’s important is the time it takes to get through the whole process.

“Our society needs the creativity and vision of entrepreneurs more than ever.  In fact, it is precisely because these are such precious resources that we cannot afford to waste them.” Eric Ries, ‘The Lean Startup’, pg. 278

 

 

 

Dreaming Big Dreams Is Hard

“You can do anything you put your mind to.” — Pat Caple

It’s hard to believe it’s August 2016 already.  It’s hard to believe that I’ve been living in a strange house in Silver Spring, Maryland, for the last month-and-a-half, since renting my house was the only way to cost-effectively set off on our ocean rowing adventure.  It’s hard to believe that my girlfriend, Cindy, and I planned to be completing a row across the North Atlantic Ocean about this time…somewhere in Ireland.  It’s hard to believe we failed to accomplish this, and failed in such a big way.  Our row only lasted three days and two nights at sea.  Epic fail.  You can read more about our plans to row across the North Atlantic this summer on our website.

I’ve had more epic failures in my life than successes.  Successes seem really hard to come by.  Is Michael Phelps human?  Am I a sub-human?  I wanted to be an Olympic Sculler in the 1996 Olympics.  While attending Graduate School in Germany in the early 1990’s, I decided to take a long weekend to see the rowing events in the Barcelona ’92 Games.  I totally missed the rowing events, but was able to see some of the Basketball and Waterpolo events.  I was smitten with the idea of being in the Olympics one day.  I bought an Atlanta Braves Ball Cap in the Atlanta Airport on my way home from Stuttgart Germany, where I had just completed Grad School in 1992, as I came back to the United States to pursue my Atlanta ’96 Olympic Dreams.  I moved to Virginia and found my way down to the Occoquan River where the National Sculling Team trained.  I found Igor Grinko, the National Team Sculling Coach, and I asked him what I needed to do to make the team.  He said: ‘row…alot’.  I did a 2k erg test for him.  He said his women rowed faster than me.  But I didn’t quit…at least not for another two years or so.  My son was born in 1997, and that is when I decided to quit.  Ok, so my son off-set my Olympic Dream failure quite handsomely…and then my two daughters.

Looking back, I have realized that alot of my biggest dreams, and failures, have been centered around the sport of rowing.  Maybe that’s because I love the sport and camaraderie so much.  I listen to the Olympics taking place in Rio on the TV, but I can’t watch.  It reminds me too much of broken dreams.  I wish I was competing in the 4x sculling competition in Rio this year, or arriving in Dingle, Ireland, as one of the first American Pairs Boat Crew to ever row across the North Atlantic.  Damn dreams…Maybe I need to have more children to help offset this failure.

The athletes you are watching on TV now, who are competing in the Rio Olympics, have already achieved an amazing feat, regardless of whether they win a medal in the games.  It’s just an amazing accomplishment to even make the Olympic Team and to win the privilege to compete at that level.  Truly incredible!  These athletes have athletic powers well exceeding what might otherwise be attained from 10,000 hours of repetitive practice.

But forget sports.  I’m putting my mind to a new dream.  My new dream is to become Financially Free, Independently Wealthy, and to be able to ‘retire’ well before Social Security is *supposed* to kick in.  I may fail in achieving most (if not all) of my dreams, but I never want to be known as someone who quit dreaming because of failures, or never dared to dream big dreams in the first place.  Plus, this dream has nothing to do with rowing or sports, so maybe now I have a chance of reaching it.

Now, who’s got my money?

 

Building Great Software Teams

‘The whole is greater than the sum of it’s parts.’  — Aristotle

Where I went to High School, the members of the Football Team often wore T-Shirts that said, ‘There’s No I In Team’.  At the time, I thought it was strange how obvious this was and that maybe the football team was just feeling proud of their newly found spelling skills.  ha ha.  Now that I am older and a bit wiser, I am starting to better understand the profundity of this statement: “There’s no I in Team”.

Over the course of my professional career as a Software Engineer, I have had the pleasure of working in some amazing Software Engineering Teams…and some not-so amazing ones.  In the amazing teams, I often wished we could stay together, forever, or at least the duration of our careers, so we could continue working hard and having fun building great things.  But being part of a great team never seems to last very long.  Engineers get bored, Companies get sold, go public, people get hired away…  The stability of great software teams just never seems to last very long.  It’s really too bad, because great software is built by great teams, not individuals.  It’s just like the sport of football.

One of my new favorite TV shows is ‘Ballers‘, with The Rock.  I’m struck by how similar the recruiting process is for key technical talent and football players, albeit on a much smaller scale of grandeur for most software engineers.  I wish Company X would recruit me for $10 million over 3 years…But all this focus on the individual talent would seem to detract from the most important thing a Company or Football Franchise is trying to build: Great Teams.  A $10 million dollar Running Back may gel great with the players in Miami, and not gel so well with the players in New Orleans, for example.  Building the right team is hard and often just happens out of dumb luck.

What if companies/organizations hired teams instead of individuals; or, what if software engineers who enjoyed working together and gelled well marketed themselves as a Team to Corporate Recruiters instead of as individuals?  I still haven’t figured out how that would work logistically or practically, but it’s an interesting idea I think.