#476 – June 12, 2022
Open source product analytics you can self-host
PostHog's product analytics suite has everything product-led teams need in one place. Heatmaps, Session Recording, Funnels, Feature Flags, Experimentation and more — all seamlessly integrated. And you can self-host, so user data never leaves your infrastructure.
Fallacies of Distributed Systems
Fallacies of distributed systems are a set of assertions made by L Peter Deutsch and others at Sun Microsystems describing false assumptions that programmers new to distributed applications invariably make.
Airbnb’s Microservices Architecture Journey To Quality Engineering
Airbnb initiated like many software companies with a few motivated engineers to build a minimum viable product to reach their market. The product started with a Monolith architecture inside a Monorepo (access the full Airbnb’s Monorepo Journey here). Airbnb grew from 2008 in this model, with features completed by small teams with limited dependencies.
Recently, my colleague Mike Bifulco wrote a blog post about using Near-Field Communication (NFC) technology to request payment using NFC tags and Stripe Payment Links. In a similar spirit, I came across the concept of “Ultrasonic payments”, a technology based on transferring data through inaudible sounds, and decided to experiment and look into how to implement such a payment method with Stripe.
The collapse of complex software
In his analysis, Tainter found the primary enemy of these societies to be complexity. As civilizations grow, they add more and more complexity: more hierarchies, more bureaucracies, deeper intertwinings of social structures. Early on, this makes sense: each new level of complexity brings rewards, in terms of increased economic output, tax revenue, etc. But at a certain point, the law of diminishing returns sets in, and each new level of complexity brings fewer and fewer net benefits, dwindling down to zero and beyond.
Code Review: How to make enemies
Sometimes people at work annoy you, and you feel like you need to get your own back. Make them pay for the imaginary slights they've committed against you. Often there isn't really a way. But if you work in software development. Then there is always a way; that way is code review!