<p><strong>Intro topic: Testing your car battery<br></strong><br></p><p><strong>News/Links:<br></strong><br></p><ul><li>Tech Layoffs still going on<ul><li><a href="https://www.sfchronicle.com/tech/article/google-layoffs-california-companies-18465600.php">https://www.sfchronicle.com/tech/article/google-layoffs-california-companies-18465600.php</a> </li></ul></li><li>Real-time dreamy Cloudscapes with Volumetric Raymarching<ul><li><a href="https://blog.maximeheckel.com/posts/real-time-cloudscapes-with-volumetric-raymarching/">https://blog.maximeheckel.com/posts/real-time-cloudscapes-with-volumetric-raymarching/</a></li></ul></li><li>Robot Rascals<ul><li><a href="https://en.wikipedia.org/wiki/Robot_Rascals">https://en.wikipedia.org/wiki/Robot_Rascals</a> </li></ul></li><li>Meta Quest 3 <ul><li><a href="https://www.theverge.com/23906313/meta-quest-3-review-vr-mixed-reality-headset">https://www.theverge.com/23906313/meta-quest-3-review-vr-mixed-reality-headset<br></a><br></li></ul></li></ul><p><strong>Book of the Show</strong></p><ul><li>Patrick:<ul><li>HyperLogLog Paper<ul><li><a href="https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/40671.pdf">https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/40671.pdf</a> </li></ul></li></ul></li><li>Jason: <ul><li>Eureka! NVIDIA Research Breakthrough Puts New Spin on Robot Learning <ul><li><a href="https://blogs.nvidia.com/blog/2023/10/20/eureka-robotics-research/">https://blogs.nvidia.com/blog/2023/10/20/eureka-robotics-research/</a> </li></ul></li></ul></li></ul><p>Patreon Plug <a href="https://www.patreon.com/programmingthrowdown?ty=h">https://www.patreon.com/programmingthrowdown?ty=h</a></p><p><br></p><p><strong>Tool of the Show</strong></p><ul><li>Patrick: <ul><li>Techtonica: <a href="https://store.steampowered.com/app/1457320/Techtonica/">https://store.steampowered.com/app/1457320/Techtonica/</a> </li></ul></li><li>Jason:<ul><li>ESP32 development board: <a href="https://amzn.to/3Qpmb20">https://amzn.to/3Qpmb20</a> </li><li>WEMOS<p></p></li></ul></li></ul><p><br></p><p><strong>Topic: HyperLogLog<br></strong><br></p><ul><li>Motivation<ul><li>Cardinality Counting</li></ul></li><li>LinearCounting<ul><li>Hash + expectation of collision based on how full</li><li>Bloom Filter</li></ul></li><li>LogLog<ul><li>Use first N bits as bucket</li><li>Use max sequential 0s in each bucket</li><li>Average</li></ul></li><li>HyperLogLog<ul><li>Handle empty buckets</li><li>Use correction factor like linear counting for low counts (number of empty buckets) and high counts</li></ul></li><li>Distributing<p></p><ul><li>Transfer bucket counts<p></p></li></ul></li></ul>
<strong>
  <a href="https://www.patreon.com/programmingthrowdown" rel="payment" title="★ Support this podcast on Patreon ★">★ Support this podcast on Patreon ★</a>
</strong>

Programming Throwdown

Patrick Wheeler and Jason Gauci

169: HyperLogLog

NOV 27, 202389 MIN
Programming Throwdown

169: HyperLogLog

NOV 27, 202389 MIN

Description

Intro topic: Testing your car battery

News/Links:

Book of the Show

Patreon Plug https://www.patreon.com/programmingthrowdown?ty=h


Tool of the Show


Topic: HyperLogLog

  • Motivation
    • Cardinality Counting
  • LinearCounting
    • Hash + expectation of collision based on how full
    • Bloom Filter
  • LogLog
    • Use first N bits as bucket
    • Use max sequential 0s in each bucket
    • Average
  • HyperLogLog
    • Handle empty buckets
    • Use correction factor like linear counting for low counts (number of empty buckets) and high counts
  • Distributing

    • Transfer bucket counts

★ Support this podcast on Patreon ★