551 karma · joined April 14, 2022
You are likely right that I over-rotated on the "storytelling" aspect there. My curiosity about the "100 segments" stemmed from wondering if there was a deeper statistical reason for that specific granularity (e.g., optimal binning relative to average video length) versus it just being a "nice round number."
That said, I can see how dedicating two paragraphs to it felt like over-dramatizing a constant. I will try to tighten the pacing on the next one. Thanks for reading despite the irritation!
It’s often surprising how "intuitive" or elegant solutions can seem once you peel back the layers, isn't it? That simplicity is part of the beauty of good engineering!
I actually wasn't familiar with Josh Comeau’s work before this, but I just looked him up and... wow. To be mentioned in the same breath (let alone "arguably better") is a massive compliment. I’ll definitely be diving into his archives now.
You are spot on about the cycle, though. I suspect that once everything is perfectly round and polished, the only way to stand out will be to go sharp again.
Re: Blurry canvases: You are spotting the classic HTML5 Canvas high-DPI issue. It happens because the canvas backing store pixels don't map 1:1 to CSS pixels on high-density displays (like Retina screens). I likely need to scale the canvas drawing context by window.devicePixelRatio to fix that sharpness. Good catch. EDIT: Made the change.
Re: Performance: That is an interesting thought. Since the calculation only triggers when you visit (or resize) the video player, there is definitely a CPU spike. My guess is they chose this approach to have a "plug and play" rendering logic that adapts perfectly to the client's specific device width and pixel density, rather than generating thousands of static image variations on the server.
Re: Gangnam Style: Ah, Google+! That explains why I couldn't find the original source. Thanks for the correction. EDIT: Added the correction.
I got curious about why they were there, so I decided to reverse engineer the feature to find out. This post documents the deep dive. It starts with a system design recreation, reverse engineering the rendering code, and ends with the mathematics.
This is also my first attempt at writing an interactive article. I would love to hear your thoughts on the investigation and the format.
I recently noticed a recurring visual artifact in the "Most Replayed" heatmap on the YouTube player. The highest peaks were always surrounded by two dips. I got curious about why they were there, so I decided to reverse engineer the feature to find out.
This post documents the deep dive. It starts with a system design recreation, reverse engineering the rendering code, and ends with the mathematics.
This is also my first attempt at writing an interactive article. I would love to hear your thoughts on the investigation and the format.
Alt URL: https://priyavrat-misra.github.io/blog/reversing-most-replay...
This post documents the deep dive. It starts with a system design recreation, reverse engineering the rendering code, and ends with the mathematics.
This is also my first attempt at writing an interactive article. I would love to hear your thoughts on the investigation and the format.
I recently noticed I'd crossed 100 commits on my personal site and realized it's been over three years since the initial commit. I wrote down some thoughts on the journey.
Curious to hear if others here still maintain a personal site/blog and what your experience has been.
But what happens when you’re at Facebook scale? Tracking a billion unique users means burning through GBs of memory just to count. And in the real world, users are streaming in constantly, not sitting in a neat, static list. Storing every ID? Not happening.
I explored practical workarounds (like “last seen” timestamps and full table scans), but they’re either inefficient or put massive strain on your DB. Then the assignment introduces HyperLogLog: a probabilistic algorithm that estimates cardinality with just 1.5KB of memory—accurate to within 2% for billions of users.
The magic? Pure mathematics. It’s distributable, and powers real-world systems like Redis and Google Analytics. I break down how it works (with illustrations!), check out my deep dive.
Curious to hear from HN: Who’s using HyperLogLog in production? And have you run into accuracy issues, and how did you handle them?
- Master Oogway