Real Estate Analytics

It’s finally here! The startup I’ve been working on the last several months officially launches today. Think car fax for houses. Currently we’re focused just on the New York real estate market but will continue to expand in the coming months.

If you know anyone in NYC that is currently in the market for a new apartment send them to Revaluate to learn what it’s really like to live there.

Revaluate - Real Estate Insight

Thanks to all the support from friends and family during this adventure.


Vegan to Paleo

A good friend of mine asked about my change in diet and I wrote this reply and thought I’d post it here and keep track of my progress as I go.


Being some flavor of pescetarian/vegetarian/vegan/pescetarian for almost a decade now, I really thought I had the ideal diet figured out.  Over the last year or 2 I’ve started to question that.

Probably the first thing that’s had me wondering is recovery from exercise. Over the last couple years my legs just always feel tired. Not terrible, but never fully fresh. That hasn’t stopped me from doing a 200 mile bike ride or running some fast half marathons but I’ve been wondering for a while if it’s just because I’m getting older or if something else is going on.

I’ve also read some about the “vegan brain fog” that some former vegans write about. I have a terrible memory and have always attributed it to genetics since my mom has a bad memory. But maybe it’s diet related…

Probably the next thing has tipped me over the edge was the couple months I went gluten free. I kind of did it also as a test since I thought all the gluten free people were just trying to be weird.  I felt a lot better not eating any gluten. Never did meals make me feel terrible afterwards and I just felt better in general.

What I realized during this couple months was just how much of my diet was composed from wheat. It’s in all the fake meat products and tons of other snack products, clif bars, etc. It was pretty hard being vegetarian and gluten free.

I also read Wheat Belly prior to this couple months which was pretty interesting. It talked a lot about how the modern wheat we eat has been so drastically modified from what our great grand parents ate a hundred years ago. One acre of wheat produces 10 times as much yield as an acre did 100 years ago.  It’s been great in terms of feeding the billions of people on earth, I’m just starting to think it’s causing a lot of health problems.

Next, I’m not sure if it’s because there are a bunch of Paleo type people at SG or if it’s just really gaining popularity in Boulder over the last couple years, but being exposed to it all the time has made me wonder. For a long time, I thought it was a silly fad. I do think a lot of people focus way too much on meat and not enough on fruits and veggies which is also kind of why I thought it was dumb.

I started reading more about it and all the success stories people have had with reversing diseaseimproving performance, and losing weight. I’ve also realized that eating fat and cholesterol doesn’t make you fat with high cholesterol if you’re eating good fats (proper omega-3 to omega-6 ratio). This is a really interesting study of a ketogenic diet (mostly fat based, no carb) was used to make obese people lose weight and lower their cholesterol.

Probably the final reason I was vegetarian in the first place was for environmental reasons. Thinking more about what you said when eating that local bison at the brewery I was wondering if the environmental impacts of my fake meat products that are probably made from soy/wheat grown in Iowa with pesticides, then shipped to some processing plant in New York, then shipped back to Colorado is really less than a bison or cow raised naturally on a farm less than 100 miles from Boulder.

I also watched this Ted Talk which was pretty interesting in terms of using livestock to reverse climate change.

So anyway, I don’t know if this Paleo experiment will stick or not. I had a blood test done yesterday to check my before numbers and will do another one in a month or two. If either my numbers get worse, or my soreness in my legs and bad memory don’t get better I’ll either switch back or try something different.  Once I get the initial results back I’ll post them here.

Dirty Kanza 2013

Dirty What?

The Dirty Kanza is the premier gravel road bike race in Kansas and one of the more popular ones in the midwest.  It is based in the Flint Hills about halfway between Kansas City and Wichita.  I had crewed my brother Todd in 2012 when he made his first attempt at the grueling 200 mile course and decided it might be a fun race to try.

The 200 miles was 95% gravel roads and followed a loop from Emporia to Madison to Cassoday to Cottonwood Falls and back to Emporia. There were 3 checkpoints (at each of the towns above) where your crew could meet you and refill your supplies and look over your bike.  Other than that it is completely self supported. Use of a GPS devise is not allowed and you are given a map to navigate the course.  That said, they also mark the course very well so it’s fairly easy to navigate the course (in the daylight anyway).


Here is my Garmin’s recording of the ride which has the map, my speed, etc.



I completed the race in 15 hours and 28 minutes putting me at 98th place out of about 450 riders who started and 31st in my age group. The winning time by Dan Hughes was just over 12 hours for reference.  Not really having any idea how fast I’d be riding I rode most of the ride solo. Many people rode in groups taking advantage of drafting from other rides in the group.  This would have been nice on the second leg but other than that it was kind of nice to be able to focus on the ride.

Crew My crew consisted of my wife Erica, brothers Todd and Austin, my sister-in-law Angela, my dad Jerry, my uncle Sam and his girlfriend Simone. They met me at each checkpoint on the course and had all my extra food, drinks, bike tools, etc. At each stop they lubed the chain on my bike, checked tire pressure, refilled my water bottles, filled my food, re-applied sunscreen, and cooked me grilled cheese sandwiches later in the race. I wouldn’t have made it without my awesome crew.


Below is a little more information about the ride broken down by each leg of the course:

Leg 1 (Emporia to Madison)

The race started at 6am in downtown Emporia. When it started everyone started out pretty fast and it was very crowded.  I had a couple near collisions with other bikers over the first 10 miles or so.  There were a few crashes in other groups from people riding so close together. After the initial congestion, the course opened up.

We mostly had a tailwind for the first 50 miles so it was very fast and there were few big hills on this section. There were several muddy sections of the course where people had to get off their bikes and carry them through the ditch to avoid the muddy road.  There was also one creek crossing just before Madison that ended up being about 3 feet deep due to recent rains. I just carried my bike over my shoulder and crossed without issue.

I arrived in Madison in exactly 3 hours which was about 30 minutes faster than planned. My crew filled me up and I was on my way within 5 or 6 minutes.


Leg 2 (Madison to Cassoday)

This leg was the worst of all of them.  Feeling great after the first 50 miles, the course then turned to the west. There was a 20 mph wind out of the WNW which made this leg tough. The course went straight into this headwind, on a much rockier road, and slightly uphill for about the next 10-15 miles.

Once we finally got a break and turned to the south, it was time to climb Texaco Hill, one of the biggest climbs in all of the Flint Hills. There were several more steep hills on this leg, one of which I had to walk a short distance on because my bike wasn’t getting a grip on the steep gravel. This was the only spot I had to walk (other than the mud and river crossings) on the course.

I finally arrived in Cassoday about 1:26pm, 26 minutes behind where I’d hoped to be. I was pretty tired at this point. Erica made me a grilled cheese and I took about a 10 minute break at this point.


Leg 3 (Cassoday to Cottonwood Falls)

This leg started out with a 10 mile ride straight into the east so the wind was at my back and I was able to make up a little lost ground. After that first 10 miles though, the course then turned to the NW again so the wind was back (though not as bad) and the roads we were on got quite a bit rockier again.

I had my only mechanical issue at about 115 miles when my seat came loose.  I stopped for a couple minutes and tightened it up though I didn’t get it adjusted quite right so it wasn’t as comfortable until I made it to the last checkpoint and Todd adjusted it for me.

The rest of this leg was pretty uneventful and I finally rolled into the last checkpoint at Cottonwood Falls at 5:46pm. I was still pretty tired at this point but almost felt better than after the previous leg. I took a break for about 10 minutes or so and had another half of grilled cheese sandwich and restocked all the supplies.


Leg 4 (Cottonwood Falls to Emporia)

The last leg started out heading north for about 20 miles which wasn’t too bad. The wind had died down quite a bit and the roads were in pretty good shape for most of this. When then turned east and finally south and the last 20 miles or so I averaged about 17 mph pushing hard to make it back to Emporia in good time.

I had to turn on my light with about 10 miles to go meaning I missed my stretch goal of getting done before sunset but I was happy to know that barring some sort of breakdown I’d be finishing the race in a decent time.  I rode that last 20 miles with a guy I met out there named Don from Lebanon, MO. As we headed towards downtown Emporia there were hundreds of people lined up along the street cheering for every racer that came through the finish. My crew was there cheering as well. It was quite a rush to finish the race like that.


After the race, they had a shower set up at the theater for racers so I cleaned up and then had a well earned DK Rye ale that Free State Brewery here in Lawrence brought down for the race.  We hung out for a while and watched more racers come in then eventually headed back to the hotel to sleep.


The next morning was the awards ceremony and breakfast. The breakfast was terrible if you were a vegetarian (PB and biscuits?) but on the bright side, I won the largest raffle prize of the day which was a new bike rack!



I rode a Felt FX4 carbon fiber cyclocross bike on the ride. I rode Panasonic Panaracer T-Serv tires which performed great. They were a brand new set I put on before the race and had my old ones in the crew vehicle just in case.

For hydration I carried 4 insulated Camelbak water bottles on the bike. Since it wasn’t too hot I didn’t use more than about 2.5 bottles for each 50 mile leg.


For hydration, I stuck mostly to Nuun while on the bike. I spent a ridiculous amount of money at The Merc on things like nuts, dried fruits, chips, pretzels, hummus, etc. not knowing what I’d feel like eating after that many hours of riding.  For the most part on the bike I ate Clif Shots and Clif Blocks.

At each checkpoint, I drank some coconut water, a vegan protein shake, and a fruit smoothie drink. I never drank all of these but consumed some of each since they worked well for recovery on all my training rides.

Probably the food that saved me the most is a vegan beef jerky product called Primal Strips. There were a couple points where I started to feel gross from all the sugar I was consuming and these brought me back to a balance and allowed me to keep pushing on.  I highly recommend them!


It was a great race, in a really unique and beautiful part of our state. It was hard but probably not as hard as I expected. I’m sure if it were 20 degrees warmer as it had been in previous years it would be way more difficult.  Maybe I’ll get a chance to find out next year…



Homeward Bound

You’re Doing Wha?

So now that some of the dust has settled and we’re in the final stages of packing up I thought I’d make a formal announcement that we’re moving back to Kansas. It’s something we’ve talked about since Josie was born 4 years ago. Both of our families are largely still in Kansas and it’s hard to raise a child away from grandparents, cousins, aunts, and uncles.


We’d been more seriously considering it for the last 3 months or so.  We were both sitting at about 50/50 for a long time between Boulder and Lawrence.  It’s impossible to draw up a pro/con list between the two because Boulder wins every time for most things but it’s hard to put a weight on friends and family.

We had decided that we’d make a final decision about the move next summer after Josie’s surgery to remove her spleen for her blood disorder.  Her hematologist is at Children’s Hospital in Denver and we don’t want to change any of that. My wife Erica is a librarian in Broomfield and just happened to be looking at the Lawrence Public Library website and saw there was a job opening in the collection development department specifically doing development for the young adult section.  This is an ideal role for her and involves no nights or weekends which is an added bonus.

I figured with libraries being cut as much as they are she’d have a hard time finding a job even in Kansas City let alone Lawrence so I told her to apply for it and we’d see what happened. The posting closed the next day so she stayed up until midnight and filled out all the paperwork and updated her resume. They called her for an interview the next week and offered her the job the week after that. We still hadn’t decided for sure if we wanted to move so we went out to dinner at Free State Brewery and decided to make the leap.

Work and School

So obviously this put me in a bit of a bind since I’d just started a job I love at SendGrid about six months ago.  After much discussion we reached and agreement where I’m going to continue my job working remotely.  I’m going to travel to the Boulder office one week out of every four to spend with the rest of the team.  I’m so excited I get to keep my awesome job while still doing what we feel we need to do for our family. Have I mentioned we’re hiring?!?

Josie will hopefully have a pretty smooth transition since she’ll be going from Mapleton Montessori in Boulder to Raintree Montessori in Lawrence.

Timing You Ask?

So right now we’re in the process of packing up part of the house and have been remodeling our kitchen a bit to get it ready to put on the market. Erica starts her job on 9/10 so we’re moving her and Josie into an apartment there this coming weekend.  I’m going to come back and work another week here while I wrap up things on the house. I’ll move back on 9/14. We’ll be living in an apartment until our house sells here and we find a new one in Lawrence.

Well, that’s about it.  Boulder is an amazing place and will always hold a special place in our hearts.  We were married on Flagstaff Mountain and Josie was born in Boulder Community Hospital. We’ve had an amazing time but just decided we’ve had our time in the bubble and it was time to let someone else in for a turn.


WeatherHop is Live!

I’m excited to announce that WeatherHop is now fully up and running. I built this site over the last few months as a way to try and help improve notifications for severe weather events. Whether it’s a tornado, severe thunderstorm, flood, or winter storm warning, you can configure the type of alerts you want to receive for each.

The Basic and above plans allow for voice calls and SMS provided by Twilio as well as emails provided by SendGrid. The free plan offers notifications via Facebook and Twitter posts. In addition, the Pro plan allows for up to 3 locations to be configured and there is also an enterprise plan which is targeted towards larger companies.

Severe Weather Alerts

Notification Settings For Tornado Warning

Please check it out and let me know of any feedback you have!


Don’t “Good to Great” Your Dev Team

Leadership books can provide a lot of great information about how to run companies.  I’ve read a lot of great ones, some not so great ones, and some shitty ones.  The problem with most of them is they were not written by software developers, for software developers. Trying to manage a development team using the techniques in these books is a good way to end up with a team of unhappy, unmotivated developers.

The Level 5 Leader

If you’re trying to find or develop Level 5 leaders on your dev team you’re at best wasting your time, at worst mortally wounding the moral of your team.  While the Level 5 leader makes a lot of sense for the type of person you want to running your company, trying to get everyone to aspire to that or think in that mindset is a mistake.

It’s not to say developers don’t need mentorship and coaching but the one-size-fits-all approach of most leadership books can be damaging when applied to developers.  I’ve seen too many happy developers/engineers/designers/etc become frustrated due to the type of management that from the outside looks to be “textbook”.

Why is it Wrong?

With the occasional exception, most developers want to get their shit done.  Asking for status updates, commitments to deadlines, meetings to discuss progress, conference calls to discuss known issues, etc. is counterproductive.  This is especially true for your top developers that know the process, requirements, expectations, etc.

Project Leadership

Below is a simple formula for leading a development team from a project perspective.

  • Make sure your team knows what is expected up front
  • Make sure your team knows you can help them track down any questions
  • Make sure your team knows you’ll address any blocking issues

So the key here in case you couldn’t tell is clearing the path for your team.  They know what needs to be done, help them do it.

Career Leadership

“So where do you see yourself in 5 years?” Everyone’s favorite question right?  While I hate the question, the point of it is valid. You need to make sure you know you’re doing what you need to in order to support your team in their career goals.  The problem is this shouldn’t be a question you ask every 6 months in a formal review.  You should know the members of your team better than that.

You should know their strengths and weaknesses and know the direction they’re heading. You should have the conversation when it appropriate and makes sense, not when the HR department says it’s time to.


To sum all this up, your development team needs to know you have their back.  They’re going to bust their ass for you if you just let them.  So go forth and don’t be an obstruction to your team.


Continuous Delivery vs. Continuous Integration

While these two topics are often discussed in the same context, they are in many ways, opposing ideas. Continuous Delivery requires a path to production for any code that is ready to be released but Continuous Integration says you should be integrating all of your latest code together multiple times per day. This makes releasing a certain feature that is ready difficult because it has been integrated with other code that may not be ready for prime-time.

In this post I’ll talk through a couple of techniques to find the balance of continually integrating your latest code while also being able to do on-demand releases of any work that is ready.

Branch By Feature

While this has typically been frowned upon by the CI crowd, there are some benefits to this approach. The perceived negatives of this approach are:

  • * It promotes long running feature branches where the code isn’t integrated with other work until it is pushed into the trunk.
  • * Branching has a lot of overhead.
  • * It causes developers to work in a silo where they are not in touch with the rest of the team.


While these can be negatives, there are some techniques that can be applied to get around these. GitHub branches by feature successfully by pulling down latest from master for any feature branch that runs longer than a few days and utilizing pull requests to move code between branches. They also are able to run their test suite on any branch. A few things that can make branching by feature work better:

  • * Keep your work items small. Small work items or stories can be completed in a couple days or less which should immediately be merged into master and released once they are completed and have passed all automated tests. Feature toggles may be required in order to hide incomplete features.
  • * Merging down from master allows you to keep your branch in sync with anything that’s been released to production.


Integrated Feature Branches

I first read about this from a post from Adam Dymitruk as I was investigating a similar solution for my company. It basically starts out like the above flow from GitHub but adds in a CI branch.  Each feature is developed in isolation but regular checkins and merges are made to an integration branch where tests are run and you verify that all of the in-progress code plays nice.

The key to making this work with CD is to only merge up to the CI branch and never merge down.  By merging down you lose the ability to deploy your code in isolation so this should be avoided.

In the event you want to use some code someone has written in another branch you can cherry pick it from that branch directly without talking to the integration branch.  Some other benefits of this approach are:

  • * It keeps the ability to release code to production in isolation.
  • * Code is still integrated constantly to ensure developers aren’t breaking each other’s code and not knowing for days or weeks.
  • * It also allows for more rapid development since you are able to focus solely on your code in isolation.
  • * When using Git on another DVCS you can still collaborate with other developers on a single feature branch.



Obviously tooling becomes very important for branching by feature to work.  Using something old school like SVN or TFS will have obvious issues with all of the branching and merging but in theory it would still work.  More modern systems like Git or Mercurial makes this much easier among other things.

Now go forth and branch, integrate, and ship your code!


Twister Tracker Beta

I officially opened up the site I’ve been working on this morning to new users.  You can signup for free at www.twistertracker.com and start tracking severe storms and tornadoes as they happen.


Ruby Version Manager (RVM)

So I’ve been struggling lately after trying to update my native/macport installation of Ruby/RubyGems/Rails to 1.9.2 and Rails3.  After tons and tons of errors I decided to try RVM. Worked like a champ!  I was up and running in less than 10 minutes. I’d highly recommend it if you are having configuration issues on OS X.


Twitter Weekly Updates for 2010-11-07

Pages ... 1 2 3