Introduction Over the last few months at RevenueCat I’ve been building a statistical framework to flag when an A/B test has reached statistical significance. I went through the usual literature, including Evan Miller’s posts. In his well known “How Not to Run an A/B Test” there’s a claim that with Bayesian experiment design you can stop at any time and still make valid inferences, and that you…
Lately I’ve heard a lot of stories of AI accidentally deleting entire codebases or wiping production databases. But in my case it was the other way around. I removed some working code and the LLM helped me to recover it.
Left Wallapop a couple of weeks ago, heading to RevenueCat soon. In that classic ‘between jobs’ hacking window, I built suite: a Python library for semantic unit testing. What’s semantic unit testing? Think unit tests that understand context and meaning, not just assert obj == expected. Sound interesting? I’ll break down what semantic unit testing is, how suite works under the hood, and how you…
I like problems that are easy to pose, and that seem difficult to solve at first glance, but that a slight change of perspective makes them simple and easy to solve. In this post, I will expose my 3 favorite problems of this type.
I’ve never been good at playing football 1. I started playing again last year and I have scored more own goals than goals for my team. Also, I support the RCD Espanyol 2, which has spent last season in the second division and has miraculously ascended to the first division last week. And to be honest, I only watch games to spend time with my friends and family. So it’s not a secret that I’m not a…
<!– When my daughter was born something was off. She was premature, and during the last weeks of pregnancy she wasn’t growing at all, so the doctors had to induce labour. Then, as weeks and months passed, we realized she wasn’t developing as expected, and at some point a doctor also pointed out that her head was too small. We decided to do some genetic tests, and we discovered that she had a very…
For the last weeks at Wallapop, we have been interviewing candidates for a Data Scientist position. Our current interview process is quite standard, but there are some things we would like to change about the process. We were talking about it during lunch, and I saw my opportunity to propose one of my hot takes: “We should start doing Leetcode interviews” 1. And, as expected, no one agreed with…
The other day I was interviewing a developer for a position at Wallapop. The candidate was a little bit junior, but I enjoyed their technical assignment and the conversation was going great. One of the questions I had to ask was
Explore the critical considerations and potential pitfalls of relying solely on A/B testing in making business decisions. While A/B testing is a valuable tool, this post challenges the assumption of exchangeability between past and future data, emphasizing the dynamic nature of the business environment. I propose two solutions (1) validating the exchangeability assumption through holdback groups…
In this post I explain how I built a search engine from scratch using python. The resulting search engine is used to search in the posts of the blogs I follow.
Here I explore a doubt I've had for the last 15 years. I vaguely remember a phrase attributed to Voltaire or Robespierre. The phrase was " I'm not a believer, but I prefer my barber to be a Christian, even more, when he's using his razor on my neck". For the last 15 years, Google has failed me to find who was the author of this phrase. But today ChatGPT has helped me to take a step forward in an…
I hate MFA, and in this rant post I explain why. It's basically because (1) is distracts me a lot, (2) it forces me to have a smartphone, (3) it's a leaky abstraction, and (4) it can be replaced with better solutions.
This insightful exploration draws parallels between mathematical formulations and practical implementations, showcasing how understanding conditioning as grouping can elevate your statistical insights. Discover the parallels between conditional expectations like $\mathbb{E}(y | X=x)$ and popular grouping techniques found in data analysis tools like pandas. Uncover the hidden synergy that exists…
Discover the surprising wisdom in embracing 'dumbness.' Learn from a remarkable grandmother-in-law who mastered the art of asking for help by appearing clueless. Explore the benefits of reducing cognitive load, saving time, and focusing on your priorities. Uncover when to apply this strategy and when it's best to rely on your expertise.
In this post I derive the physics of pumping a swing and the physics of jumping from a swing. Then, using both pieces I compute the optimal strategy of jumping from a swing to maximize the traveled distance. I propose this game as a new Olympic sport.
Does it exist a gender gap in chess? Why is it that the best players are men? Is there any fundamental difference between how men and women play this game?
In this text, I study the idea that science needs engineering as much as engineering needs science. I defend the position that doing good science without following best engineering practices is impossible.
Quick blog update. Since last Tuesday (2023-07-18) I’m a proud member of the 512KB club. I am aware it doesn’t sound very ambitious, but it serves as a small reward after having completely refactored my blog.
Discover the reasons behind the transformation of my blog and the benefits it brings. Experience faster writing, simplified design, reduced distractions, and a sense of complete ownership. Explore the enhanced aesthetics that prioritize minimalist style and direct communication. Find out why this revamped blog reflects my unique vision.
Since last October, I’ve been playing in a simple game all by myself, with just one rule - I have to spot all the license plates from 0000 to 9999 in sequential order. Where I live, license plates follow this format: XXXX - AAA, where XXXX represents 4 numbers, and AAA are three letters.
In our modern era, we have witnessed a remarkable shift in the way we approach computation. We no longer rely solely on physical machines housed within our premises; instead, we rent computers in the ethereal realm of the cloud. It’s a convenient arrangement that grants us access to computational power without the hassle of maintenance or obsolescence. But the wonders of rental don’t stop there.…
Investing your money wisely is crucial for financial success. In this post, I delve into the popular strategy of dollar cost averaging (DCA) and compare it to the lump sum (LS) approach. By analyzing S&P 500 data from the past 40 years, I show that DCA is generally suboptimal, with LS outperforming it in 82% of cases, resulting in a 23% higher return on average. I also explore fine-tuning DCA by…
Are you sick of having to choose which political party to vote for when none of them represents your beliefs 100%? In this post, I am going to explain a practice that will end your headaches when voting.
The uncertainty of a measure is a statistical process. The standard approach to measure a quantity is to repeat the measure a number of times, compute the mean and its standard error. It is based on the assumption that measuring is an imperfect process, and therefore when measuring some quantity, an error is introduced. This post goes down the rabbit hole of computing the uncertainty of the…
In this post, I show how can we leverage the extra information we get from knowing that a car has survived a certain amount of time. I formalize the idea mathematically and then build a framework to optimize the total costs.
In this post I analyze all the available Chess960 games played in Lichess. With this information I show that there are no starting positions that favor any of the players more than other positions.
Today I’m going to write about the most typical topic of the last days of the year: New Year’s resolutions. The usual schema for this post is to review one last year’s resolutions and write down the resolution for the starting year. However, I didn’t write any list for this ending year, so I’ll just do a quick summary of the year and write down the resolutions for 2023.
In this short post I show a position where's possible to mate using only pawns. Also, the mate is optimal, in the sense that the game can't we won using less movements.
During my current incursion in computability theory I learnt about uncomputable numbers, this is, numbers that can’t be computed with arbitrary precision. This means that even given all the computational power in the universe you could not compute these numbers. Even if God himself came from Heaven, he could not compute these numbers. Uncomputable numbers are numbers that can’t be computed because…
During these last few days I’ve been reading a little bit about computability theory, and I feel like a kid with a new toy, so I’m going to write some posts about this topic. I don’t pretend to explain anything new, and probably what I’m going to write has been written before, but I’ll write these posts for two reasons: (1) as future notes for myself, and (2) to help me clarify and organize the…