<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://alexmolas.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://alexmolas.com/" rel="alternate" type="text/html" /><updated>2026-03-15T18:05:12+00:00</updated><id>https://alexmolas.com/feed.xml</id><title type="html">Alex Molas Blog</title><subtitle>Welcome to my personal blog! Here you&apos;ll find a glimpse into my life as a husband, father, and data scientist (in that order).</subtitle><entry><title type="html">Bayesian A/B testing is not immune to peeking</title><link href="https://alexmolas.com/2025/10/30/bayesian-ab-test-peeking.html" rel="alternate" type="text/html" title="Bayesian A/B testing is not immune to peeking" /><published>2025-10-30T00:00:00+00:00</published><updated>2025-10-30T00:00:00+00:00</updated><id>https://alexmolas.com/2025/10/30/bayesian-ab-test-peeking</id><author><name></name></author><summary type="html"><![CDATA[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 don’t need a fixed sample size to get a valid result. I’ve read this claim in other posts. The impression I got is that you can peek as often as you want, stop the moment the posterior clears a threshold (eg $P(A&gt;B) &gt; 0.95$), and you won’t inflate false positives. And this is not correct. If you’re an expert in Bayesian statistics this is probably obvious, but it wasn’t for me. So I decided to run some simulations to see what really happens, and I’m sharing the results here in case it can be useful for others.]]></summary></entry><entry><title type="html">Adding search to my static blog.</title><link href="https://alexmolas.com/2025/08/11/search-with-lunr.html" rel="alternate" type="text/html" title="Adding search to my static blog." /><published>2025-08-11T00:00:00+00:00</published><updated>2025-08-11T00:00:00+00:00</updated><id>https://alexmolas.com/2025/08/11/search-with-lunr</id><author><name></name></author><category term="javascript" /><category term="jekyll" /><summary type="html"><![CDATA[How I added fast, client‑side search to this site with Lunr.js and a build-time index.]]></summary></entry><entry><title type="html">Who needs git when you have 1M context windows?</title><link href="https://alexmolas.com/2025/07/28/unexpected-benefit-llm.html" rel="alternate" type="text/html" title="Who needs git when you have 1M context windows?" /><published>2025-07-28T00:00:00+00:00</published><updated>2025-07-28T00:00:00+00:00</updated><id>https://alexmolas.com/2025/07/28/unexpected-benefit-llm</id><author><name></name></author><summary type="html"><![CDATA[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.]]></summary></entry><entry><title type="html">Semantic Unit Testing</title><link href="https://alexmolas.com/2025/04/09/semantic-unit-testing.html" rel="alternate" type="text/html" title="Semantic Unit Testing" /><published>2025-04-09T00:00:00+00:00</published><updated>2025-04-09T00:00:00+00:00</updated><id>https://alexmolas.com/2025/04/09/semantic-unit-testing</id><author><name></name></author><summary type="html"><![CDATA[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 can integrate it.]]></summary></entry><entry><title type="html">Three symmetric math riddles</title><link href="https://alexmolas.com/2025/03/19/symmetric-math-riddles.html" rel="alternate" type="text/html" title="Three symmetric math riddles" /><published>2025-03-19T00:00:00+00:00</published><updated>2025-03-19T00:00:00+00:00</updated><id>https://alexmolas.com/2025/03/19/symmetric-math-riddles</id><author><name></name></author><summary type="html"><![CDATA[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.]]></summary></entry><entry><title type="html">Optimizing Jupyter Notebooks for LLMs</title><link href="https://alexmolas.com/2025/01/15/ipynb-for-llm.html" rel="alternate" type="text/html" title="Optimizing Jupyter Notebooks for LLMs" /><published>2025-01-15T00:00:00+00:00</published><updated>2025-01-15T00:00:00+00:00</updated><id>https://alexmolas.com/2025/01/15/ipynb-for-llm</id><author><name></name></author><summary type="html"><![CDATA[I’ve been using LLM-assisted coding for the last couple of months, and it has been a game-changer. After a couple of iterations, my setup consists in]]></summary></entry><entry><title type="html">Win your fantasy league using operations research</title><link href="https://alexmolas.com/2024/07/15/fantasy-knapsack.html" rel="alternate" type="text/html" title="Win your fantasy league using operations research" /><published>2024-07-15T00:00:00+00:00</published><updated>2024-07-15T00:00:00+00:00</updated><id>https://alexmolas.com/2024/07/15/fantasy-knapsack</id><author><name></name></author><summary type="html"><![CDATA[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 football expert, and I have no shame in admitting it. But I’m very competitive. So when my friends invited me to a football fantasy league 3 some years ago I said “yes, and I’m going to wipe the floor with you, losers!”. I’m from Spain, so I’m speaking about the real and original football, the one that’s played with the foot and a ball, not with the hands and an egg. &#8617; See point 54 in my 100 list. &#8617; “A fantasy sport (also known less commonly as rotisserie or roto) is a game, often played using the Internet, where participants assemble imaginary or virtual teams composed of proxies of real players of a professional sport. These teams compete based on the statistical performance of those players in actual games.” Source. &#8617;]]></summary></entry><entry><title type="html">Something happens to everyone.</title><link href="https://alexmolas.com/2024/07/05/something-happens-everyone.html" rel="alternate" type="text/html" title="Something happens to everyone." /><published>2024-07-05T00:00:00+00:00</published><updated>2024-07-05T00:00:00+00:00</updated><id>https://alexmolas.com/2024/07/05/something-happens-everyone</id><author><name></name></author><summary type="html"><![CDATA[&lt;!– 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 rare genetic disorder - a microdeletion of the 13q33.34 region. From the available literature it seems that only 60 patients with this disorder have been studied, so it’s indeed a rare condition. I’m not going to bore you with all the details and all the process my wife and I have had to go through, but let me say that now we have accepted it and we are getting used to the situation. But when we got the news, we asked ourselves “why did this happen to her?”. Answering this question is difficult, and in our case the answer has its roots in our faith, but this post is not about my daughter specific condition or our trust in God, but to argue with some numbers that things like this happen to everyone.]]></summary></entry><entry><title type="html">In defense of Leetcode Interviews</title><link href="https://alexmolas.com/2024/06/21/leetcode-interviews.html" rel="alternate" type="text/html" title="In defense of Leetcode Interviews" /><published>2024-06-21T00:00:00+00:00</published><updated>2024-06-21T00:00:00+00:00</updated><id>https://alexmolas.com/2024/06/21/leetcode-interviews</id><author><name></name></author><summary type="html"><![CDATA[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 me. Their main arguments against my proposal were For those who don’t know, Leetcode interviews are technical interviews where the candidate has to solve Leetcode problems under time constraints. For example, the candidate needs to solve an easy and medium Leetcode problem in less than 30 minutes. &#8617;]]></summary></entry><entry><title type="html">Good code is rarely read</title><link href="https://alexmolas.com/2024/06/06/good-code.html" rel="alternate" type="text/html" title="Good code is rarely read" /><published>2024-06-06T00:00:00+00:00</published><updated>2024-06-06T00:00:00+00:00</updated><id>https://alexmolas.com/2024/06/06/good-code</id><author><name></name></author><summary type="html"><![CDATA[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]]></summary></entry><entry><title type="html">You need more than p-values</title><link href="https://alexmolas.com/2024/02/22/ab-tests.html" rel="alternate" type="text/html" title="You need more than p-values" /><published>2024-02-22T00:00:00+00:00</published><updated>2024-02-22T00:00:00+00:00</updated><id>https://alexmolas.com/2024/02/22/ab-tests</id><author><name></name></author><summary type="html"><![CDATA[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 and (2) advocating for a holistic decision-making approach that goes beyond statistical tests. Executives are urged not to blindly trust p-values, emphasizing the importance of intuition, market understanding, and forecasting in shaping successful business strategies. In conclusion, the post encourages a balanced approach, combining statistical rigor with real-world insights for effective decision-making.]]></summary></entry><entry><title type="html">hn-index</title><link href="https://alexmolas.com/2024/02/12/hn-index.html" rel="alternate" type="text/html" title="hn-index" /><published>2024-02-12T00:00:00+00:00</published><updated>2024-02-12T00:00:00+00:00</updated><id>https://alexmolas.com/2024/02/12/hn-index</id><author><name></name></author><summary type="html"><![CDATA[h-index for HackerNews]]></summary></entry><entry><title type="html">A search engine in 80 lines of Python</title><link href="https://alexmolas.com/2024/02/05/a-search-engine-in-80-lines.html" rel="alternate" type="text/html" title="A search engine in 80 lines of Python" /><published>2024-02-05T00:00:00+00:00</published><updated>2024-02-05T00:00:00+00:00</updated><id>https://alexmolas.com/2024/02/05/a-search-engine-in-80-lines</id><author><name></name></author><summary type="html"><![CDATA[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.]]></summary></entry><entry><title type="html">ChatGPT knows things that Google doesn’t</title><link href="https://alexmolas.com/2024/01/25/chat-gpt-knows-more-than-google.html" rel="alternate" type="text/html" title="ChatGPT knows things that Google doesn’t" /><published>2024-01-25T00:00:00+00:00</published><updated>2024-01-25T00:00:00+00:00</updated><id>https://alexmolas.com/2024/01/25/chat-gpt-knows-more-than-google</id><author><name></name></author><summary type="html"><![CDATA[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 answer. Who said that phrase? Does ChatGPT know more than Google?]]></summary></entry><entry><title type="html">Guide to onboarding in a new job</title><link href="https://alexmolas.com/2024/01/18/onboarding.html" rel="alternate" type="text/html" title="Guide to onboarding in a new job" /><published>2024-01-18T00:00:00+00:00</published><updated>2024-01-18T00:00:00+00:00</updated><id>https://alexmolas.com/2024/01/18/onboarding</id><author><name></name></author><summary type="html"><![CDATA[Insights and tips for a smooth transition when starting a new job]]></summary></entry><entry><title type="html">2023 review</title><link href="https://alexmolas.com/2024/01/01/2023-review.html" rel="alternate" type="text/html" title="2023 review" /><published>2024-01-01T00:00:00+00:00</published><updated>2024-01-01T00:00:00+00:00</updated><id>https://alexmolas.com/2024/01/01/2023-review</id><author><name></name></author><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">I hate MFA</title><link href="https://alexmolas.com/2023/12/10/hate-mfa.html" rel="alternate" type="text/html" title="I hate MFA" /><published>2023-12-10T00:00:00+00:00</published><updated>2023-12-10T00:00:00+00:00</updated><id>https://alexmolas.com/2023/12/10/hate-mfa</id><author><name></name></author><summary type="html"><![CDATA[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.]]></summary></entry><entry><title type="html">Conditioning is grouping by</title><link href="https://alexmolas.com/2023/11/30/conditioning-is-grouping-by.html" rel="alternate" type="text/html" title="Conditioning is grouping by" /><published>2023-11-30T00:00:00+00:00</published><updated>2023-11-30T00:00:00+00:00</updated><id>https://alexmolas.com/2023/11/30/conditioning-is-grouping-by</id><author><name></name></author><summary type="html"><![CDATA[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 between statistical conditioning and groupby operations, demystifying complex mathematical concepts with real-world applications. Whether you're a seasoned data scientist or a curious learner, this journey into the interconnected world of conditioning and grouping promises newfound clarity. Elevate your statistical understanding with practical examples, bridging the gap between theory and application. Embark on this enlightening exploration today and revolutionize your approach to statistical modeling. Uncover the simplicity behind complex conditional expressions through the power of grouping, transforming your data analysis skills along the way.]]></summary></entry><entry><title type="html">The least controversial movie</title><link href="https://alexmolas.com/2023/11/14/controversial-movies.html" rel="alternate" type="text/html" title="The least controversial movie" /><published>2023-11-14T00:00:00+00:00</published><updated>2023-11-14T00:00:00+00:00</updated><id>https://alexmolas.com/2023/11/14/controversial-movies</id><author><name></name></author><summary type="html"><![CDATA[tldr]]></summary></entry><entry><title type="html">Reading S3 data from local PySpark</title><link href="https://alexmolas.com/2023/10/10/local-pyspark-s3.html" rel="alternate" type="text/html" title="Reading S3 data from local PySpark" /><published>2023-10-10T00:00:00+00:00</published><updated>2023-10-10T00:00:00+00:00</updated><id>https://alexmolas.com/2023/10/10/local-pyspark-s3</id><author><name></name></author><summary type="html"><![CDATA[blabla]]></summary></entry><entry><title type="html">Stupid by choice</title><link href="https://alexmolas.com/2023/09/18/embracing-dumbness.html" rel="alternate" type="text/html" title="Stupid by choice" /><published>2023-09-18T00:00:00+00:00</published><updated>2023-09-18T00:00:00+00:00</updated><id>https://alexmolas.com/2023/09/18/embracing-dumbness</id><author><name></name></author><category term="math" /><summary type="html"><![CDATA[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.]]></summary></entry><entry><title type="html">Different Types of Means</title><link href="https://alexmolas.com/2023/09/14/types-of-means.html" rel="alternate" type="text/html" title="Different Types of Means" /><published>2023-09-14T00:00:00+00:00</published><updated>2023-09-14T00:00:00+00:00</updated><id>https://alexmolas.com/2023/09/14/types-of-means</id><author><name></name></author><category term="math" /><summary type="html"><![CDATA[Understand the different types of means and when to use them.]]></summary></entry><entry><title type="html">How far can you jump from a swing?</title><link href="https://alexmolas.com/2023/08/18/how-far-can-you-jump.html" rel="alternate" type="text/html" title="How far can you jump from a swing?" /><published>2023-08-18T00:00:00+00:00</published><updated>2023-08-18T00:00:00+00:00</updated><id>https://alexmolas.com/2023/08/18/how-far-can-you-jump</id><author><name></name></author><category term="math" /><category term="stats" /><summary type="html"><![CDATA[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.]]></summary></entry><entry><title type="html">Analyzing Gender Gap in Chess</title><link href="https://alexmolas.com/2023/08/12/chess-gender-gap.html" rel="alternate" type="text/html" title="Analyzing Gender Gap in Chess" /><published>2023-08-12T00:00:00+00:00</published><updated>2023-08-12T00:00:00+00:00</updated><id>https://alexmolas.com/2023/08/12/chess-gender-gap</id><author><name></name></author><category term="math" /><category term="stats" /><category term="chess" /><category term="data-analysis" /><summary type="html"><![CDATA[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?]]></summary></entry><entry><title type="html">Expected $k$ highest value from $n$ Gaussian draws.</title><link href="https://alexmolas.com/2023/08/12/gaussian-order-statistics.html" rel="alternate" type="text/html" title="Expected $k$ highest value from $n$ Gaussian draws." /><published>2023-08-12T00:00:00+00:00</published><updated>2023-08-12T00:00:00+00:00</updated><id>https://alexmolas.com/2023/08/12/gaussian-order-statistics</id><author><name></name></author><category term="math" /><category term="stats" /><summary type="html"><![CDATA[In this short note I compare Bilalic and Blom approximations to compute the k-th order statistics from a gaussian distribution.]]></summary></entry><entry><title type="html">Good Science, Good Engineering.</title><link href="https://alexmolas.com/2023/08/01/good-science-good-engineering.html" rel="alternate" type="text/html" title="Good Science, Good Engineering." /><published>2023-08-01T00:00:00+00:00</published><updated>2023-08-01T00:00:00+00:00</updated><id>https://alexmolas.com/2023/08/01/good-science-good-engineering</id><author><name></name></author><category term="opinion" /><summary type="html"><![CDATA[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.]]></summary></entry><entry><title type="html">You’re the best at something.</title><link href="https://alexmolas.com/2023/07/25/best-at-something.html" rel="alternate" type="text/html" title="You’re the best at something." /><published>2023-07-25T00:00:00+00:00</published><updated>2023-07-25T00:00:00+00:00</updated><id>https://alexmolas.com/2023/07/25/best-at-something</id><author><name></name></author><category term="math" /><summary type="html"><![CDATA[In this text I use math to show that you have a rare skill combination, that makes you the best at something.]]></summary></entry><entry><title type="html">512KB Club</title><link href="https://alexmolas.com/2023/07/20/512KB-club.html" rel="alternate" type="text/html" title="512KB Club" /><published>2023-07-20T00:00:00+00:00</published><updated>2023-07-20T00:00:00+00:00</updated><id>https://alexmolas.com/2023/07/20/512KB-club</id><author><name></name></author><summary type="html"><![CDATA[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.]]></summary></entry><entry><title type="html">Automate your static blogroll.</title><link href="https://alexmolas.com/2023/07/20/automatic-blogroll.html" rel="alternate" type="text/html" title="Automate your static blogroll." /><published>2023-07-20T00:00:00+00:00</published><updated>2023-07-20T00:00:00+00:00</updated><id>https://alexmolas.com/2023/07/20/automatic-blogroll</id><author><name></name></author><summary type="html"><![CDATA[In this post I explain how I built my automatic blogroll using Github Action and Github Pages.]]></summary></entry><entry><title type="html">About math limitations.</title><link href="https://alexmolas.com/2023/07/18/math-limitations.html" rel="alternate" type="text/html" title="About math limitations." /><published>2023-07-18T00:00:00+00:00</published><updated>2023-07-18T00:00:00+00:00</updated><id>https://alexmolas.com/2023/07/18/math-limitations</id><author><name></name></author><category term="maths" /><category term="computability-theory" /><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">Nobody cares about your blog.</title><link href="https://alexmolas.com/2023/07/15/nobody-cares-about-your-blog.html" rel="alternate" type="text/html" title="Nobody cares about your blog." /><published>2023-07-15T00:00:00+00:00</published><updated>2023-07-15T00:00:00+00:00</updated><id>https://alexmolas.com/2023/07/15/nobody-cares-about-your-blog</id><author><name></name></author><category term="opinion" /><summary type="html"><![CDATA[Nobody cares about your blog, but you should keep writing!]]></summary></entry><entry><title type="html">Why did I make my blog uglier?</title><link href="https://alexmolas.com/2023/07/13/ugly-blog.html" rel="alternate" type="text/html" title="Why did I make my blog uglier?" /><published>2023-07-13T00:00:00+00:00</published><updated>2023-07-13T00:00:00+00:00</updated><id>https://alexmolas.com/2023/07/13/ugly-blog</id><author><name></name></author><category term="opinion" /><summary type="html"><![CDATA[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.]]></summary></entry><entry><title type="html">A game for the next 15 years: counting license plates</title><link href="https://alexmolas.com/2023/07/01/counting-license-plates.html" rel="alternate" type="text/html" title="A game for the next 15 years: counting license plates" /><published>2023-07-01T00:00:00+00:00</published><updated>2023-07-01T00:00:00+00:00</updated><id>https://alexmolas.com/2023/07/01/counting-license-plates</id><author><name></name></author><category term="game" /><category term="maths" /><summary type="html"><![CDATA[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.]]></summary></entry><entry><title type="html">How much for your brain?</title><link href="https://alexmolas.com/2023/06/13/renting-your-brain.html" rel="alternate" type="text/html" title="How much for your brain?" /><published>2023-06-13T00:00:00+00:00</published><updated>2023-06-13T00:00:00+00:00</updated><id>https://alexmolas.com/2023/06/13/renting-your-brain</id><author><name></name></author><category term="opinion" /><summary type="html"><![CDATA[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. We have taken a step further and begun leasing machine learning models for predictive tasks, tapping into the immense potential of algorithms to enhance our decision-making. OpenAI and its pre-trained models stand as prime examples of this fascinating trend.]]></summary></entry><entry><title type="html">Debunking the Myth of Dollar Cost Averaging</title><link href="https://alexmolas.com/2023/06/07/dca-is-suboptimal.html" rel="alternate" type="text/html" title="Debunking the Myth of Dollar Cost Averaging" /><published>2023-06-07T00:00:00+00:00</published><updated>2023-06-07T00:00:00+00:00</updated><id>https://alexmolas.com/2023/06/07/dca-is-suboptimal</id><author><name></name></author><category term="stats" /><category term="finance" /><summary type="html"><![CDATA[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 examining the impact of investment frequency and duration. Ultimately, the data suggests that investing all your money at once is a more favorable strategy. So, don't wait – start investing as soon as possible.]]></summary></entry><entry><title type="html">A randomized voting strategy</title><link href="https://alexmolas.com/2023/05/23/randomized-voting-strategy.html" rel="alternate" type="text/html" title="A randomized voting strategy" /><published>2023-05-23T00:00:00+00:00</published><updated>2023-05-23T00:00:00+00:00</updated><id>https://alexmolas.com/2023/05/23/randomized-voting-strategy</id><author><name></name></author><category term="stats" /><category term="miscellaneous" /><category term="opinion" /><summary type="html"><![CDATA[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.]]></summary></entry><entry><title type="html">How to initialize your bias.</title><link href="https://alexmolas.com/2023/02/24/bias-initialization.html" rel="alternate" type="text/html" title="How to initialize your bias." /><published>2023-02-24T00:00:00+00:00</published><updated>2023-02-24T00:00:00+00:00</updated><id>https://alexmolas.com/2023/02/24/bias-initialization</id><author><name></name></author><category term="math" /><category term="stats" /><category term="deep-learning" /><category term="machine-learning" /><summary type="html"><![CDATA[Learn how initializing the correct bias in your neural network can speed up training process through analytical derivation and experiments.]]></summary></entry><entry><title type="html">The error of the error.</title><link href="https://alexmolas.com/2023/02/16/error-of-the-error.html" rel="alternate" type="text/html" title="The error of the error." /><published>2023-02-16T00:00:00+00:00</published><updated>2023-02-16T00:00:00+00:00</updated><id>https://alexmolas.com/2023/02/16/error-of-the-error</id><author><name></name></author><category term="math" /><category term="stats" /><summary type="html"><![CDATA[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 uncertainty. Then I derive the results of the error of the error and applies the same logic when the distribution is not normal.]]></summary></entry><entry><title type="html">The Sweet Spot for Buying Used Cars.</title><link href="https://alexmolas.com/2023/01/16/buy-used-cars.html" rel="alternate" type="text/html" title="The Sweet Spot for Buying Used Cars." /><published>2023-01-16T00:00:00+00:00</published><updated>2023-01-16T00:00:00+00:00</updated><id>https://alexmolas.com/2023/01/16/buy-used-cars</id><author><name></name></author><category term="maths" /><category term="data-analysis" /><category term="optimization" /><summary type="html"><![CDATA[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.]]></summary></entry><entry><title type="html">Discovering the best Chess960 variation.</title><link href="https://alexmolas.com/2023/01/11/chess-960-initial-position.html" rel="alternate" type="text/html" title="Discovering the best Chess960 variation." /><published>2023-01-11T00:00:00+00:00</published><updated>2023-01-11T00:00:00+00:00</updated><id>https://alexmolas.com/2023/01/11/chess-960-initial-position</id><author><name></name></author><category term="chess" /><category term="data-analysis" /><summary type="html"><![CDATA[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.]]></summary></entry><entry><title type="html">2022 review</title><link href="https://alexmolas.com/2023/01/01/2022-review.html" rel="alternate" type="text/html" title="2022 review" /><published>2023-01-01T00:00:00+00:00</published><updated>2023-01-01T00:00:00+00:00</updated><id>https://alexmolas.com/2023/01/01/2022-review</id><author><name></name></author><summary type="html"><![CDATA[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.]]></summary></entry><entry><title type="html">Can Random Forests overfit?</title><link href="https://alexmolas.com/2022/12/26/random-forest-overfit.html" rel="alternate" type="text/html" title="Can Random Forests overfit?" /><published>2022-12-26T00:00:00+00:00</published><updated>2022-12-26T00:00:00+00:00</updated><id>https://alexmolas.com/2022/12/26/random-forest-overfit</id><author><name></name></author><category term="maths" /><category term="machine-learing" /><summary type="html"><![CDATA[Random Forest can't overfit. Or can they?]]></summary></entry><entry><title type="html">Mate with only pawns and no promotions.</title><link href="https://alexmolas.com/2022/11/24/mate-with-only-pawns.html" rel="alternate" type="text/html" title="Mate with only pawns and no promotions." /><published>2022-11-24T00:00:00+00:00</published><updated>2022-11-24T00:00:00+00:00</updated><id>https://alexmolas.com/2022/11/24/mate-with-only-pawns</id><author><name></name></author><category term="chess" /><summary type="html"><![CDATA[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.]]></summary></entry><entry><title type="html">Computability Theory (ii): uncomputable numbers.</title><link href="https://alexmolas.com/2022/10/20/uncomputable-numbers.html" rel="alternate" type="text/html" title="Computability Theory (ii): uncomputable numbers." /><published>2022-10-20T00:00:00+00:00</published><updated>2022-10-20T00:00:00+00:00</updated><id>https://alexmolas.com/2022/10/20/uncomputable-numbers</id><author><name></name></author><category term="math" /><category term="computability-theory" /><summary type="html"><![CDATA[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 of maths limitations. Just the idea that maths has some inherent limits amazed me. In my last post, I talked about the halting problem, which is a limitation of maths, but the halting problem is a little bit abstract in my opinion. In this post, instead, I’ll show that there are numbers for which we can know an approximate value but can’t be known with arbitrary precision.]]></summary></entry><entry><title type="html">Computability Theory (i): the Halting Problem.</title><link href="https://alexmolas.com/2022/10/19/halting-problem.html" rel="alternate" type="text/html" title="Computability Theory (i): the Halting Problem." /><published>2022-10-19T00:00:00+00:00</published><updated>2022-10-19T00:00:00+00:00</updated><id>https://alexmolas.com/2022/10/19/halting-problem</id><author><name></name></author><category term="math" /><category term="computability-theory" /><summary type="html"><![CDATA[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 ideas.]]></summary></entry><entry><title type="html">Choose the smallest number not chosen yet.</title><link href="https://alexmolas.com/2022/09/28/choose-the-smallest-number.html" rel="alternate" type="text/html" title="Choose the smallest number not chosen yet." /><published>2022-09-28T00:00:00+00:00</published><updated>2022-09-28T00:00:00+00:00</updated><id>https://alexmolas.com/2022/09/28/choose-the-smallest-number</id><author><name></name></author><category term="game" /><category term="probability" /><category term="math" /><category term="nash-equilibrium" /><summary type="html"><![CDATA[A game where you have to choose the smallest number that nobody has chosen yet.]]></summary></entry><entry><title type="html">TIL: constant folding in python.</title><link href="https://alexmolas.com/2022/09/10/til-constant-folding.html" rel="alternate" type="text/html" title="TIL: constant folding in python." /><published>2022-09-10T00:00:00+00:00</published><updated>2022-09-10T00:00:00+00:00</updated><id>https://alexmolas.com/2022/09/10/til-constant-folding</id><author><name></name></author><category term="python" /><category term="til" /><summary type="html"><![CDATA[How does python optimize constant expressions.]]></summary></entry><entry><title type="html">L1 regularization from a bayesian perspective</title><link href="https://alexmolas.com/2022/08/27/bayesian-regularization.html" rel="alternate" type="text/html" title="L1 regularization from a bayesian perspective" /><published>2022-08-27T00:00:00+00:00</published><updated>2022-08-27T00:00:00+00:00</updated><id>https://alexmolas.com/2022/08/27/bayesian-regularization</id><author><name></name></author><category term="math" /><category term="machine-learning" /><summary type="html"><![CDATA[How to interpret L1 regularization using a Bayesian approach.]]></summary></entry><entry><title type="html">Field theory for recurrent mobility</title><link href="https://alexmolas.com/2022/07/29/field-theory-recurrent-mobility.html" rel="alternate" type="text/html" title="Field theory for recurrent mobility" /><published>2022-07-29T00:00:00+00:00</published><updated>2022-07-29T00:00:00+00:00</updated><id>https://alexmolas.com/2022/07/29/field-theory-recurrent-mobility</id><author><name></name></author><category term="physics" /><category term="mobility" /><category term="data-analysis" /><summary type="html"><![CDATA[A review of my first -and for the moment the only- paper published in a top journal.]]></summary></entry><entry><title type="html">Your laptop is an implementation detail</title><link href="https://alexmolas.com/2022/07/25/productivity-trick.html" rel="alternate" type="text/html" title="Your laptop is an implementation detail" /><published>2022-07-25T00:00:00+00:00</published><updated>2022-07-25T00:00:00+00:00</updated><id>https://alexmolas.com/2022/07/25/productivity-trick</id><author><name></name></author><category term="opinion" /><category term="miscellaneous" /><summary type="html"><![CDATA[Treating your laptop as an implementation detail can help your productivity.]]></summary></entry><entry><title type="html">Vectorizing impossible operations: boolean algebra, sets, and filters</title><link href="https://alexmolas.com/2022/07/13/boolean-algebra-sets-and-filters.html" rel="alternate" type="text/html" title="Vectorizing impossible operations: boolean algebra, sets, and filters" /><published>2022-07-13T00:00:00+00:00</published><updated>2022-07-13T00:00:00+00:00</updated><id>https://alexmolas.com/2022/07/13/boolean-algebra-sets-and-filters</id><author><name></name></author><category term="data" /><category term="optimization" /><category term="python" /><category term="math" /><summary type="html"><![CDATA[How to use boolean algebra to vectorize complex operations and get x2000 speed-up.]]></summary></entry><entry><title type="html">Data science preflight checklist.</title><link href="https://alexmolas.com/2022/07/06/data-science-preflight-checklist.html" rel="alternate" type="text/html" title="Data science preflight checklist." /><published>2022-07-06T00:00:00+00:00</published><updated>2022-07-06T00:00:00+00:00</updated><id>https://alexmolas.com/2022/07/06/data-science-preflight-checklist</id><author><name></name></author><category term="data-science" /><category term="machine-learning" /><category term="software-engineering" /><summary type="html"><![CDATA[List of checks to pass before starting a new data science project.]]></summary></entry><entry><title type="html">Why do we minimize the mean squared error?</title><link href="https://alexmolas.com/2022/05/25/mean-squared-error.html" rel="alternate" type="text/html" title="Why do we minimize the mean squared error?" /><published>2022-05-25T00:00:00+00:00</published><updated>2022-05-25T00:00:00+00:00</updated><id>https://alexmolas.com/2022/05/25/mean-squared-error</id><author><name></name></author><category term="machine-learning" /><category term="math" /><summary type="html"><![CDATA[Developing a better understanding and intuition about what really means to minimize the mean squared error.]]></summary></entry><entry><title type="html">Training TensorFlow models with big tabular datasets (iii): preparing a warmup for TensorFlow models.</title><link href="https://alexmolas.com/2022/05/24/tensorflow-warmup.html" rel="alternate" type="text/html" title="Training TensorFlow models with big tabular datasets (iii): preparing a warmup for TensorFlow models." /><published>2022-05-24T00:00:00+00:00</published><updated>2022-05-24T00:00:00+00:00</updated><id>https://alexmolas.com/2022/05/24/tensorflow-warmup</id><author><name></name></author><category term="tensorflow" /><category term="optimization" /><category term="machine-learning" /><summary type="html"><![CDATA[How to create a warmup file for your tensorflow model using TFRecordWriter and tensorflow_serving.apis.]]></summary></entry><entry><title type="html">Why bureaucracy is fundamentally wrong.</title><link href="https://alexmolas.com/2022/05/23/why-bureaucracy-is-fundamentally-wrong.html" rel="alternate" type="text/html" title="Why bureaucracy is fundamentally wrong." /><published>2022-05-23T00:00:00+00:00</published><updated>2022-05-23T00:00:00+00:00</updated><id>https://alexmolas.com/2022/05/23/why-bureaucracy-is-fundamentally-wrong</id><author><name></name></author><category term="opinion" /><category term="rant" /><summary type="html"><![CDATA[Why the combination of bureaucracy and computerization is breaking our society.]]></summary></entry><entry><title type="html">Feynman’s Restaurant Problem.</title><link href="https://alexmolas.com/2022/05/09/feynman-restaurant-problem.html" rel="alternate" type="text/html" title="Feynman’s Restaurant Problem." /><published>2022-05-09T00:00:00+00:00</published><updated>2022-05-09T00:00:00+00:00</updated><id>https://alexmolas.com/2022/05/09/feynman-restaurant-problem</id><author><name></name></author><category term="stats" /><category term="optimization" /><category term="probability" /><category term="math" /><summary type="html"><![CDATA[Introduction and solution of the Feynman's Restaurant Problem.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://alexmolas.com/docs/restaurant-problem/exploration-vs-profit.svg" /><media:content medium="image" url="https://alexmolas.com/docs/restaurant-problem/exploration-vs-profit.svg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Counterintuitive statistics (i): a fair coin game.</title><link href="https://alexmolas.com/2022/05/04/counterintuitive-coin-game.html" rel="alternate" type="text/html" title="Counterintuitive statistics (i): a fair coin game." /><published>2022-05-04T00:00:00+00:00</published><updated>2022-05-04T00:00:00+00:00</updated><id>https://alexmolas.com/2022/05/04/counterintuitive-coin-game</id><author><name></name></author><category term="stats" /><category term="probability" /><category term="math" /><category term="game" /><summary type="html"><![CDATA[A counterintuitive experiment with fair coins.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://alexmolas.com/docs/coin-paradox/wealth-vs-mpc.svg" /><media:content medium="image" url="https://alexmolas.com/docs/coin-paradox/wealth-vs-mpc.svg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Training TensorFlow models with big tabular datasets (ii)</title><link href="https://alexmolas.com/2022/04/25/tensorflow-prefetch.html" rel="alternate" type="text/html" title="Training TensorFlow models with big tabular datasets (ii)" /><published>2022-04-25T00:00:00+00:00</published><updated>2022-04-25T00:00:00+00:00</updated><id>https://alexmolas.com/2022/04/25/tensorflow-prefetch</id><author><name></name></author><category term="tensorflow" /><category term="optimization" /><category term="machine-learning" /><summary type="html"><![CDATA[Speeding up TensorFlow training.]]></summary></entry><entry><title type="html">Coding sucks.</title><link href="https://alexmolas.com/2022/04/22/coding-sucks.html" rel="alternate" type="text/html" title="Coding sucks." /><published>2022-04-22T00:00:00+00:00</published><updated>2022-04-22T00:00:00+00:00</updated><id>https://alexmolas.com/2022/04/22/coding-sucks</id><author><name></name></author><category term="python" /><category term="rant" /><summary type="html"><![CDATA[How to lose one hour of your time!]]></summary></entry><entry><title type="html">Training TensorFlow models with big tabular datasets (i).</title><link href="https://alexmolas.com/2022/04/15/tensorflow-with-big-tabular-datasets.html" rel="alternate" type="text/html" title="Training TensorFlow models with big tabular datasets (i)." /><published>2022-04-15T00:00:00+00:00</published><updated>2022-04-15T00:00:00+00:00</updated><id>https://alexmolas.com/2022/04/15/tensorflow-with-big-tabular-datasets</id><author><name></name></author><category term="tensorflow" /><category term="parquet" /><category term="machine-learning" /><summary type="html"><![CDATA[How to train a tensorflow model when your training dataset doesn't fit in memory?]]></summary></entry><entry><title type="html">Continuous Blackjack (ii): deriving basic equations from two other perspectives.</title><link href="https://alexmolas.com/2022/03/24/continuous-blackjack-ii.html" rel="alternate" type="text/html" title="Continuous Blackjack (ii): deriving basic equations from two other perspectives." /><published>2022-03-24T00:00:00+00:00</published><updated>2022-03-24T00:00:00+00:00</updated><id>https://alexmolas.com/2022/03/24/continuous-blackjack-ii</id><author><name></name></author><category term="probability" /><category term="math" /><category term="optimization" /><category term="game" /><summary type="html"><![CDATA[Deriving same equations with different methods]]></summary></entry><entry><title type="html">Continuous Blackjack (i): introduction and first results.</title><link href="https://alexmolas.com/2022/03/11/continuous-blackjack-i.html" rel="alternate" type="text/html" title="Continuous Blackjack (i): introduction and first results." /><published>2022-03-11T00:00:00+00:00</published><updated>2022-03-11T00:00:00+00:00</updated><id>https://alexmolas.com/2022/03/11/continuous-blackjack-i</id><author><name></name></author><category term="probability" /><category term="math" /><category term="optimization" /><category term="game" /><summary type="html"><![CDATA[What is and how to play continuous blackjack?]]></summary></entry><entry><title type="html">Data Science and Software Engineering (I)</title><link href="https://alexmolas.com/2022/02/07/about-data-science-and-software-engineering-i.html" rel="alternate" type="text/html" title="Data Science and Software Engineering (I)" /><published>2022-02-07T00:00:00+00:00</published><updated>2022-02-07T00:00:00+00:00</updated><id>https://alexmolas.com/2022/02/07/about-data-science-and-software-engineering-i</id><author><name></name></author><category term="data-science" /><category term="software-engineering" /><summary type="html"><![CDATA[I still remember when I started working as an intern data scientist and I had to open my first pull request. I was very happy with my work, so I just committed all my changes together, opened a pull request, assigned it to my supervisor, and started waiting for the compliments to arrive - spoiler: the compliments never arrived.]]></summary></entry><entry><title type="html">Dynamic Programming (i): Multiplying Matrices</title><link href="https://alexmolas.com/2020/12/31/dynamic-programming-i.html" rel="alternate" type="text/html" title="Dynamic Programming (i): Multiplying Matrices" /><published>2020-12-31T00:00:00+00:00</published><updated>2020-12-31T00:00:00+00:00</updated><id>https://alexmolas.com/2020/12/31/dynamic-programming-i</id><author><name></name></author><category term="dynamic-programming" /><category term="python" /><category term="math" /><category term="optimization" /><summary type="html"><![CDATA[Learning how to multiply matrices in the best possible order, ie solving the Matrix Chaing Multiplication problem.]]></summary></entry></feed>