A simple caching strategy
We frequently read stories about growing % in six months and somewhere along the way they hit a scalability wall. Requests dropped, users suffered. Many prayers and goat sacrifices later, the problem…
all words by human
We frequently read stories about growing % in six months and somewhere along the way they hit a scalability wall. Requests dropped, users suffered. Many prayers and goat sacrifices later, the problem…
Those who design systems with the assumption that the network is reliable, have never experienced the joy of an IRC netsplit as kids
A number of people have recently complimented us on how the Sidelines’ native ad unit looks great no matter where it is displayed and no matter what the content is. Having a seamless look and feel is…
You know you haven’t slept enough when you wake up and your phone hasn’t fully charged yet
If you are looking to make a quick seafood lunch that looks semi-impressive, this recipe is for you. We wrap halibut in pancetta to keep it moist, pan-sear to crispy up the pancetta and finish it in…
In every analytics system design, no matter how much you plan what events you gather and what properties to store for each event, there are bound to be omissions. Or sometimes code improvements present themselves that allow for better semantic normalization of the same raw data. Google BigQuery does not allow us to change field names or types and rightly so; in an analytics backend data is assumed to be immutable. We can however append new fields or make some required fields optional. I’m including some code that goes hand in hand with the infer schema snippet I posted a while back. Note that I’ve removed error checks and retry logic for brevity. Unfortunatley Google APIs 500 fairly often so I strongly recommend you code defensively.…