• Satisfying an interface with Golang - Real life example with go-aws SDK

    One of the first best practices I started using when coding with Golang is have the method arity accept the top interface and not the specific class/struct. This means, that as long as your type satisfies a specific interface, you can treat your go code as pretty dynamic. I want...


  • Puma and webpack proxy aren't playing nicely, here's how you fix it

    Today I started a new experiment. I am going to be live-coding some of the many things I do in my day to day work. I will blog soon on the reasons for doing this. During the coding session I encountered a problem where webpack dev proxy is not working...


  • Scalable (and generic) Mixpanel Tracking for React-Redux applications

    If you’ve been following me online, even just for a couple of weeks you’d know that I’m rewriting a major and critical application using React-Redux. At Gogobot, we A/B test quite a bit and we track behavior in order to make sure what we deliver to our users is top...


  • Connected Higher Order components with React and Redux

    Recently I’ve started using React and Redux to rebuild one of the major components on the Gogobot website. In order to understand the problem better, here are some screenshots of one of the components on that page. Without really understanding the ins and outs of the component, you can see...


  • Using webpack to proxy to your local web server to avoid Cross Site errors

    You know the pain of this error message I assume… No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled This is caused by...


  • Writing an AWS lambda function with Golang

    About 10 days ago there was a discussion on HN about Golang. I made a comment about how I love Go and what I do with it and people followed up with some questions. Once of the things that sparked the most curiosity was that I said I write AWS...


  • My approach to Devops

    Many of you already know that I do 100% of Gogobot’s Devops. Being in charge of a consumer facing multi-platform product is definitely challenging and it has it’s ups and downs but I wanted to focus more about my approach to Devops and how I approach my daily tasks. Engineers...


  • Running ELK stack on docker - full solution

    If you’ve read my Measure, Monitor, Observe and supervise post, you know I am quite the freak of monitoring and logging everything in the system. For logging purposes, the ELK stack is by far the best solution out there, and I have tried a lot of them, from SAAS to...


  • Hack multiple conditions in Nginx configuration

    We @ Gogobot use Nginx for basically every user facing web service. Whether it’s our main web-app or a microservice. Even for Docker, we use nginx and not the default Docker proxy that you get with -p 80:80. I had a request to add support for trailing slash redirects for...


  • Version 1.0.2 of circle-env released

    I just released version 1.0.2 of circle-env command line tool. What is circle-env circle-env is a small but useful command line tool that imports your .env file to CircleCi, but also work on CircleCI replacing templates with real files. It’s especially useful when you work with Docker images and you...