• Five dysfunctions of a team

    by Patrick M. Lencioni

    This book tells a story about a fictional organization where the CEO was recently replaced. The new CEO observes many behaviors associated with unhealthy team dynamics. The CEO then leads several offsites to tackle these problems head-on. Members of the executive team are pushed, some beyond their breaking point. The story ends with some members having left and others taking on new roles. All remaining members have a much stronger commitment to the team on which they are playing.

    Read on →

  • Chunked JSON responses from Rails

    In my time as a Rails developer at Cisco Meraki, we built many API endpoints that could return 10-100 MB of data. A naive approach would be to construct the JSON response in a controller and attempt to render that. Depending on the response size this could result in an out-of-memory error. We used several patterns over the years to avoid this.

    Read on →

  • SF/LA AIDS LifeCycle

    June 2nd through 8th I will be riding from San Francisco to Los Angeles as a cyclist in the AIDS LifeCycle ride. The route will be 545 miles. I am mostly doing this ride for the challenge but I also think it is a great cause. If you are interested in donating to this great cause please visit my LifeCycle site.

    Read on →

  • End-user monitoring: a MVP

    Over the past few months at Meraki I have built an end-user monitoring tool. Our goal is to track when a webpage is “usable” by the user. We have defined “usable” to mean that the DOM is rendered and the data is loaded for the primary view. For complex apps with multiple frameworks in use (such as the Meraki Dashboard) it can be difficult to get a perfect measurement on this metric. Moreover, this metric is certain to be impacted by what a user is trying to accomplish on the pageload.

    Read on →

  • Segment's Microservices to monolith

    Segment had a great blog article yesterday. It got me thinking about the decisions we have made a Meraki. We never went the route of microservices because coordinating the shared libraries between them is challenging.

    Read on →