1<!DOCTYPE html> 2<html lang="en"> 3<head> 4<meta charset="utf-8"/> 5<meta name="viewport" content="width=device-width,initial-scale=1"/> 6 <title>Episodes — PRODUCTIVITY</title> <meta name="description" content="All episodes of PRODUCTIVITY"/> <link rel="canonical" href="https://theproductivitypodcast.com/episodes"/> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap" rel="stylesheet"/> <style> 7*,*::before,*::after{box-sizing:border-box;margin:0;padding:0} 8:root{ 9 --bg:#0d0d0d;--surface:#1a1a1a; 10 --glass-border:rgba(255,255,255,.08); 11 --text:#ffffff;--text2:#a0a0a0;--text3:#555555; 12 --accent:#7c3aed; 13 --radius:6px;--font:'Inter','Helvetica Neue',Arial,sans-serif; 14 --serif:'Playfair Display',Georgia,'Times New Roman',serif; 15} 16html{scroll-behavior:smooth;overflow-x:clip} 17body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh} 18img{display:block;max-width:100%} 19a{color:inherit;text-decoration:none} 20 21 22/* Layout */ 23.wrap{max-width:1280px;margin:0 auto;padding:clamp(32px,5vw,64px) clamp(16px,4vw,40px) 100px} 24 25/* Page header */ 26.ep-hdr{border-bottom:1px solid var(--glass-border);padding-bottom:20px;margin-bottom:32px} 27.ep-hdr-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:10px} 28.ep-hdr h1{font-family:var(--serif);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:900;letter-spacing:-.02em;line-height:1.05;margin-bottom:12px} 29.ep-hdr-meta{font-size:.8rem;color:var(--text3);letter-spacing:.04em;text-transform:uppercase;margin-bottom:24px} 30.ep-search-wrap{display:flex;gap:8px;max-width:440px} 31.ep-search-field{position:relative;flex:1} 32.ep-search-input{width:100%;background:var(--surface);border:1px solid var(--glass-border);border-radius:2px;padding:10px 16px 10px 40px;font-size:.88rem;color:var(--text);outline:none;transition:border-color .2s} 33.ep-search-input::placeholder{color:var(--text3)} 34.ep-search-input:focus{border-color:var(--text)} 35.ep-search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--text3);pointer-events:none} 36.ep-search-btn{flex-shrink:0;background:var(--accent);color:#fff;border:none;border-radius:2px;padding:0 20px;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:opacity .2s} 37.ep-search-btn:hover{opacity:.85} 38 39/* Episode list rows */ 40.ep-list{list-style:none} 41.ep-row{display:flex;gap:20px;align-items:flex-start;padding:24px 0;border-bottom:1px solid var(--glass-border);text-decoration:none;color:inherit;transition:background .15s} 42.ep-row:first-child{border-top:1px solid var(--glass-border)} 43.ep-row:hover{background:var(--surface);margin:0 -16px;padding-left:16px;padding-right:16px} 44.ep-thumb{flex-shrink:0;width:120px;height:120px;object-fit:cover;border-radius:var(--radius)} 45.ep-thumb-placeholder{flex-shrink:0;width:120px;height:120px;border-radius:var(--radius);background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--text3)} 46.ep-body{flex:1;min-width:0} 47.ep-meta{font-size:.7rem;color:var(--text3);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;gap:8px} 48.ep-meta-sep{width:3px;height:3px;border-radius:50%;background:currentColor} 49.ep-title{font-family:var(--serif);font-size:clamp(1rem,2vw,1.2rem);font-weight:700;line-height:1.25;color:var(--text);margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden} 50.ep-row:hover .ep-title{color:var(--accent)} 51.ep-blurb{font-size:.875rem;color:var(--text2);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden} 52 53.ep-no-results{padding:60px 0;text-align:center;color:var(--text3);font-size:.9rem} 54 55/* Load more */ 56.load-more{margin-top:32px;text-align:center} 57.load-more-btn{padding:10px 32px;background:transparent;border:1px solid var(--text);border-radius:2px;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text);cursor:pointer;transition:background .2s,color .2s} 58.load-more-btn:hover{background:var(--text);color:var(--bg)} 59.load-more-btn:disabled{opacity:.4;cursor:default} 60 61 62@media(max-width:560px){ 63 .ep-thumb,.ep-thumb-placeholder{width:80px;height:80px} 64} 65</style> 66 67</head> 68<body> 69 70<style> 71/* Force dark base for all dark-editorial pages */ 72:root{--bg:#0d0d0d;--surface:#1a1a1a;--glass-border:rgba(255,255,255,.08);--text:#ffffff;--text2:rgba(255,255,255,.7);--text3:rgba(255,255,255,.4);--accent:#7c3aed;--radius:6px;--font:'Inter',system-ui,sans-serif;--serif:'Inter',system-ui,sans-serif} 73body{background:#0d0d0d;color:#fff;font-family:'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased} 74.de-nav{position:sticky;top:0;z-index:100;background:rgba(13,13,13,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)} 75.de-nav-inner{display:flex;align-items:center;height:64px;max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,40px);gap:20px} 76.de-nav-logo{display:flex;align-items:center;gap:10px;font-family:'Inter',system-ui,sans-serif;font-size:18px;font-weight:800;letter-spacing:-.5px;color:#fff;text-decoration:none;flex-shrink:0} 77.de-nav-logo img{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0} 78.de-nav-links{display:flex;align-items:center;gap:28px;flex:1;min-width:0} 79.de-nav-links a{font-family:'Inter',system-ui,sans-serif;font-size:14px;font-weight:500;color:rgba(255,255,255,.8);text-decoration:none;white-space:nowrap;transition:color .2s} 80.de-nav-links a:hover{color:#fff} 81.de-nav-cta{background:#7c3aed;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-family:'Inter',system-ui,sans-serif;font-size:13px;font-weight:700;letter-spacing:.3px;text-decoration:none;white-space:nowrap;flex-shrink:0;transition:background .2s} 82.de-nav-cta:hover{background:#6d28d9} 83.de-nav-burger{display:none;background:none;border:none;color:#fff;padding:4px;cursor:pointer;flex-shrink:0} 84.de-nav-overflow-wrap{position:relative;flex-shrink:0} 85.de-nav-overflow-btn{background:none;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7);padding:5px 12px;border-radius:999px;font-family:'Inter',system-ui,sans-serif;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:5px;white-space:nowrap} 86.de-nav-overflow-btn:hover{background:rgba(255,255,255,.08)} 87.de-nav-overflow-drop{position:absolute;top:calc(100% + 8px);right:0;background:#1a1a1a;border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.5);min-width:160px;z-index:200;overflow:hidden} 88.de-nav-overflow-drop a{display:block;padding:11px 18px;font-family:'Inter',system-ui,sans-serif;font-size:14px;font-weight:500;color:rgba(255,255,255,.8);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.06);white-space:nowrap} 89.de-nav-overflow-drop a:last-child{border-bottom:none} 90.de-nav-overflow-drop a:hover{background:rgba(255,255,255,.06);color:#fff} 91.de-mob-nav{display:none;background:#111;border-top:1px solid rgba(255,255,255,.08);padding:8px 0 24px} 92.de-mob-nav a{display:block;padding:13px 24px;font-family:'Inter',system-ui,sans-serif;font-size:16px;font-weight:600;color:rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.05);text-decoration:none} 93.de-mob-nav a:hover{color:#fff;background:rgba(255,255,255,.04)} 94@media(max-width:768px){.de-nav-inner{padding:0 16px}.de-nav-links,.de-nav-cta{display:none}.de-nav-burger{display:flex;align-items:center;justify-content:center;flex-shrink:0}.de-nav-logo{flex-shrink:1;min-width:0;overflow:hidden}.de-nav-logo span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}} 95</style> 96<nav class="de-nav"> 97 <div class="de-nav-inner" id="de-nav-inner"> 98 <a href="/" class="de-nav-logo">
99 <span>PRODUCTIVITY</span> 100 </a> 101 <div class="de-nav-links" id="de-nav-links"> 102 <a href="/" data-nav-key="home">Home</a> 103 <a href="/episodes" data-nav-key="episodes">Episodes</a> 104 <a href="/about" data-nav-key="about">About</a> 105 <a href="/blog" data-nav-key="blog">Blog</a> 106 <div class="de-nav-overflow-wrap" id="de-nav-more" style="display:none"> 107 <button class="de-nav-overflow-btn" id="de-nav-more-btn" type="button">More <svg width="10" height="6" viewBox="0 0 10 6" fill="none"><polyline points="1,1 5,5 9,1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></button> 108 <div class="de-nav-overflow-drop" id="de-nav-more-drop" style="display:none"></div> 109 </div> 110 </div> 111 <a href="/episodes" class="de-nav-cta">Browse Episodes</a> <button class="de-nav-burger" id="de-nav-burger" aria-label="Menu"> 112 <svg width="22" height="22" viewBox="0 0 22 22" fill="none"> 113 <rect y="4" width="22" height="2" rx="1" fill="white"/><rect y="10" width="22" height="2" rx="1" fill="white"/><rect y="16" width="22" height="2" rx="1" fill="white"/> 114 </svg> 115 </button> 116 </div> 117 <div id="de-mob-nav" class="de-mob-nav"> 118 <a href="/">Home</a> 119 <a href="/episodes">Episodes</a> 120 <a href="/about">About</a> 121 <a href="/blog">Blog</a> 122 </div> 123</nav>
124<script> 125(function(){ 126 var navInner=document.getElementById('de-nav-inner'); 127 var navLinks=document.getElementById('de-nav-links'); 128 var navMore=document.getElementById('de-nav-more'); 129 var navMoreBtn=document.getElementById('de-nav-more-btn'); 130 var navMoreDrop=document.getElementById('de-nav-more-drop'); 131 var burger=document.getElementById('de-nav-burger'); 132 var mobNav=document.getElementById('de-mob-nav'); 133 if(navLinks){ 134 var allLinks=Array.from(navLinks.querySelectorAll(':scope > a')); 135 function layout(){ 136 if(window.innerWidth<=768){allLinks.forEach(function(l){l.style.display='';});if(navMore)navMore.style.display='none';return;} 137 allLinks.forEach(function(l){l.style.display='';}); 138 if(navMore)navMore.style.display='none';if(navMoreDrop)navMoreDrop.innerHTML=''; 139 var logo=navInner?navInner.querySelector('.de-nav-logo'):null; 140 var cta=navInner?navInner.querySelector('.de-nav-cta'):null; 141 var burgerEl=navInner?navInner.querySelector('.de-nav-burger'):null; 142 var logoW=logo?logo.offsetWidth+20:0,ctaW=cta?cta.offsetWidth+20:0,burgerW=burgerEl?burgerEl.offsetWidth+12:0; 143 // Measure More button width while temporarily visible (offsetWidth=0 when display:none) 144 if(navMore)navMore.style.display='flex'; 145 var moreW=navMore?navMore.offsetWidth+16:90; 146 if(navMore)navMore.style.display='none'; 147 var available=(navInner?navInner.offsetWidth:window.innerWidth)-logoW-ctaW-burgerW-moreW-40; 148 var used=0,overflowFrom=allLinks.length; 149 for(var i=0;i<allLinks.length;i++){used+=allLinks[i].offsetWidth+28;if(used>available){overflowFrom=i;break;}} 150 if(overflowFrom<allLinks.length){ 151 if(navMore)navMore.style.display='flex'; 152 for(var j=overflowFrom;j<allLinks.length;j++){allLinks[j].style.display='none';if(navMoreDrop){var cl=allLinks[j].cloneNode(true);cl.style.display='';navMoreDrop.appendChild(cl);}} 153 } 154 } 155 layout(); 156 if(window.ResizeObserver&&navInner)new ResizeObserver(layout).observe(navInner); 157 window.addEventListener('resize',layout); 158 if(navMoreBtn)navMoreBtn.addEventListener('click',function(e){e.stopPropagation();navMoreDrop.style.display=navMoreDrop.style.display==='block'?'none':'block';}); 159 document.addEventListener('click',function(e){if(navMoreDrop&&!navMoreDrop.contains(e.target)&&e.target!==navMoreBtn)navMoreDrop.style.display='none';}); 160 } 161 if(burger&&mobNav)burger.addEventListener('click',function(){mobNav.style.display=mobNav.style.display==='block'?'none':'block';}); 162})(); 163</script>
163 164 165 166<div class="wrap"> 167 <div class="ep-hdr"> 168 <div class="ep-hdr-label">All Episodes</div> 169 <h1>PRODUCTIVITY</h1> 170 <div class="ep-hdr-meta">319 episodes</div> 171 <div class="ep-search-wrap"> 172 <div class="ep-search-field"> 173 <svg class="ep-search-icon" width="15" height="15" viewBox="0 0 16 16" fill="none"> 174 <circle cx="6.5" cy="6.5" r="5" stroke="currentColor" stroke-width="1.5"/> 175 <line x1="10.5" y1="10.5" x2="14.5" y2="14.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/> 176 </svg> 177 <input type="text" id="ep-search" class="ep-search-input" placeholder="Search episodesâ¦" autocomplete="off"/> 178 </div> 179 <button type="button" id="ep-search-btn" class="ep-search-btn" aria-label="Search episodes">Search</button> 180 </div> 181 </div> 182 183 <div class="ep-list" id="ep-list"> 184 <a class="ep-row" href="/episode/24878" data-title="zapier ai: how to put your busywork on autopilot with ai" data-op-track="episode_click" data-op-episode-id="24878"> 185 <img src="https://storage.buzzsprout.com/uc4vcuvapmfw1vt0isin7pyyfw39?.jpg" alt="Zapier AI: How to Put Your Busywork on Autopilot With AI" class="ep-thumb" loading="lazy"/> 186 <div class="ep-body"> 187 <div class="ep-meta"> 188 <span>Aug 14, 2026</span> <span class="ep-meta-sep"></span> <span>5m</span> </div> 189 <div class="ep-title">Zapier AI: How to Put Your Busywork on Autopilot With AI</div> 190 <div class="ep-blurb">Zapier AI, what it is, what the research says about plugging AI into the workflows you already run, and 3 protocols to use Zapier AI to automate your email triaâ¦</div> </div> 191 </a> 192 <a class="ep-row" href="/episode/21759" data-title="job crafting: why this is the best approach for your team" data-op-track="episode_click" data-op-episode-id="21759"> 193 <img src="https://storage.buzzsprout.com/ze49h7s8i6hfpyyx7mpshagrfx3o?.jpg" alt="Job Crafting: Why This Is the Best Approach for Your Team" class="ep-thumb" loading="lazy"/> 194 <div class="ep-body"> 195 <div class="ep-meta"> 196 <span>Jun 28, 2026</span> <span class="ep-meta-sep"></span> <span>4m</span> </div> 197 <div class="ep-title">Job Crafting: Why This Is the Best Approach for Your Team</div> 198 <div class="ep-blurb">Job crafting, what job crafting is, what a major 2026 research review says about why it makes people more productive, and three protocols to help you and your â¦</div> </div> 199 </a> 200 <a class="ep-row" href="/episode/21760" data-title="how to identify and manage your best performers (without losing them)" data-op-track="episode_click" data-op-episode-id="21760"> 201 <img src="https://storage.buzzsprout.com/f49dq2b6x4i3wemijuwlvv79jmje?.jpg" alt="How to Identify and Manage Your Best Performers (Without Losing Them)" class="ep-thumb" loading="lazy"/> 202 <div class="ep-body"> 203 <div class="ep-meta"> 204 <span>Jun 28, 2026</span> <span class="ep-meta-sep"></span> <span>3m</span> </div> 205 <div class="ep-title">How to Identify and Manage Your Best Performers (Without Losing Them)</div> 206 <div class="ep-blurb">We're breaking down what makes someone a star performer, how researchers say you should identify high performers using four specific dimensions, and three protoâ¦</div> </div> 207 </a> 208 <a class="ep-row" href="/episode/21761" data-title="metacognition: the skill behind every skill you'll ever build" data-op-track="episode_click" data-op-episode-id="21761"> 209 <img src="https://storage.buzzsprout.com/qjvsecl91jtndfff0tj4966qjwrz?.jpg" alt="Metacognition: The Skill Behind Every Skill You'll Ever Build" class="ep-thumb" loading="lazy"/> 210 <div class="ep-body"> 211 <div class="ep-meta"> 212 <span>Jun 27, 2026</span> <span class="ep-meta-sep"></span> <span>4m</span> </div> 213 <div class="ep-title">Metacognition: The Skill Behind Every Skill You'll Ever Build</div> 214 <div class="ep-blurb">Metacognition is what neuroscientists call the highest form of intelligence. We are breaking down what metacognition is, what the research says about why metacoâ¦</div> </div> 215 </a> 216 <a class="ep-row" href="/episode/21762" data-title="the florence nightingale insight: why the data you're not tracking is killing your productivity" data-op-track="episode_
216click" data-op-episode-id="21762"> 217 <img src="https://storage.buzzsprout.com/apoab9pyntd52j22na04suzifctu?.jpg" alt="The Florence Nightingale Insight: Why the Data You're Not Tracking Is Killing Your Productivity" class="ep-thumb" loading="lazy"/> 218 <div class="ep-body"> 219 <div class="ep-meta"> 220 <span>Jun 25, 2026</span> <span class="ep-meta-sep"></span> <span>4m</span> </div> 221 <div class="ep-title">The Florence Nightingale Insight: Why the Data You're Not Tracking Is Killing Your Productivity</div> 222 <div class="ep-blurb">The Florence Nightingale insight: why the data you're not tracking is the biggest threat to your productivity, what the research says about teams that measure vâ¦</div> </div> 223 </a> 224 <a class="ep-row" href="/episode/21763" data-title="why taking photos makes you forget: the science of cognitive offloading" data-op-track="episode_click" data-op-episode-id="21763"> 225 <img src="https://storage.buzzsprout.com/ozu7ykogffowplgwh2kcuwv1mphh?.jpg" alt="Why Taking Photos Makes You Forget: The Science of Cognitive Offloading" class="ep-thumb" loading="lazy"/> 226 <div class="ep-body"> 227 <div class="ep-meta"> 228 <span>Jun 24, 2026</span> <span class="ep-meta-sep"></span> <span>4m</span> </div> 229 <div class="ep-title">Why Taking Photos Makes You Forget: The Science of Cognitive Offloading</div> 230 <div class="ep-blurb">Why taking photos with your phone weakens your memory, what the research says about cognitive offloading, how your brain processes moments you photograph versusâ¦</div> </div> 231 </a> 232 <a class="ep-row" href="/episode/21764" data-title="six thinking hats framework: how to fix your team's worst meetings" data-op-track="episode_click" data-op-episode-id="21764"> 233 <img src="https://storage.buzzsprout.com/igux9bydl6vn18b9hhea7ovdpglm?.jpg" alt="Six Thinking Hats Framework: How to Fix Your Team's Worst Meetings" class="ep-thumb" loading="lazy"/> 234 <div class="ep-body"> 235 <div class="ep-meta"> 236 <span>Jun 9, 2026</span> <span class="ep-meta-sep"></span> <span>4m</span> </div> 237 <div class="ep-title">Six Thinking Hats Framework: How to Fix Your Team's Worst Meetings</div> 238 <div class="ep-blurb">The Six Thinking Hats, a structured decision-making method designed by Edward de Bono that forces your team to examine a problem from six distinct perspectives â¦</div> </div> 239 </a> 240 <a class="ep-row" href="/episode/21765" data-title="beautiful.ai: professional slides without a design degree" data-op-track="episode_click" data-op-episode-id="21765"> 241 <img src="https://storage.buzzsprout.com/uynq25c0t26r6wr1z4rwiii4mbk3?.jpg" alt="Beautiful.ai: Professional Slides Without a Design Degree" class="ep-thumb" loading="lazy"/> 242 <div class="ep-body"> 243 <div class="ep-meta"> 244 <span>Jun 8, 2026</span> <span class="ep-meta-sep"></span> <span>3m</span> </div> 245 <div class="ep-title">Beautiful.ai: Professional Slides Without a Design Degree</div> 246 <div class="ep-blurb">Why professional presentation design matters more than most people think, what the research says about how fast your audience judges the quality of your presentâ¦</div> </div> 247 </a> 248 <a class="ep-row" href="/episode/21766" data-title="storytelling: how to do it right to always win over your audience" data-op-track="episode_click" data-op-episode-id="21766"> 249 <img src="https://storage.buzzsprout.com/p9vfgouixolocgmi45ig2hz8axl6?.jpg" alt="Storytelling: How to Do It Right to Always Win Over Your Audience" class="ep-thumb" loading="lazy"/> 250 <div class="ep-body"> 251 <div class="ep-meta"> 252 <span>Jun 7, 2026</span> <span class="ep-meta-sep"></span> <span>4m</span> </div> 253 <div class="ep-title">Storytelling: How to Do It Right to Always Win Over Your Audience</div> 254 <div class="ep-blurb">Storytelling, why the best storytellers aren't born with a gift, what the research says about how storytelling rewires the way your audience thinks, and three pâ¦</div> </div> 255 </a> 256 <a class="ep-row" href="/episode/21767" data-title="how to win without saying much" data-op-track="episode_
256click" data-op-episode-id="21767"> 257 <img src="https://storage.buzzsprout.com/0a3vv9meh9gn0urpo2xhgm3lon4k?.jpg" alt="How to Win Without Saying Much" class="ep-thumb" loading="lazy"/> 258 <div class="ep-body"> 259 <div class="ep-meta"> 260 <span>Jun 6, 2026</span> <span class="ep-meta-sep"></span> <span>4m</span> </div> 261 <div class="ep-title">How to Win Without Saying Much</div> 262 <div class="ep-blurb">Why talking less can be your biggest advantage in any conversation, what the research says about how the quiet person in the room often comes out ahead, and thrâ¦</div> </div> 263 </a> 264 <a class="ep-row" href="/episode/21768" data-title="the eisenhower d-day decision: how to decide when you don't have enough information" data-op-track="episode_click" data-op-episode-id="21768"> 265 <img src="https://storage.buzzsprout.com/txeida2uctpwqc6pza7m6brkny3m?.jpg" alt="The Eisenhower D-Day Decision: How to Decide When You Don't Have Enough Information" class="ep-thumb" loading="lazy"/> 266 <div class="ep-body"> 267 <div class="ep-meta"> 268 <span>Jun 5, 2026</span> <span class="ep-meta-sep"></span> <span>4m</span> </div> 269 <div class="ep-title">The Eisenhower D-Day Decision: How to Decide When You Don't Have Enough Information</div> 270 <div class="ep-blurb">The Eisenhower D-Day Decision, and why waiting for certainty before making a decision is one of the most expensive habits you face throughout your life. We'll eâ¦</div> </div> 271 </a> 272 <a class="ep-row" href="/episode/21769" data-title="how to respond when someone unfairly accuses you: a tactic top lawyers use to stay in control" data-op-track="episode_click" data-op-episode-id="21769"> 273 <img src="https://storage.buzzsprout.com/1cfhz8wbprn43qunseixr4ve5s2m?.jpg" alt="How to Respond When Someone Unfairly Accuses You: A Tactic Top Lawyers Use to Stay in Control" class="ep-thumb" loading="lazy"/> 274 <div class="ep-body"> 275 <div class="ep-meta"> 276 <span>Jun 4, 2026</span> <span class="ep-meta-sep"></span> <span>4m</span> </div> 277 <div class="ep-title">How to Respond When Someone Unfairly Accuses You: A Tactic Top Lawyers Use to Stay in Control</div> 278 <div class="ep-blurb">What happens to your brain the moment someone unfairly accuses you of something, what the research says about why your first instinct to defend yourself can bacâ¦</div> </div> 279 </a> 280 <a class="ep-row" href="/episode/21770" data-title="bruce lee life lesson: how to build your own mind" data-op-track="episode_click" data-op-episode-id="21770"> 281 <img src="https://storage.buzzsprout.com/enfnfr1mcxiq8bc07cari9g7t91i?.jpg" alt="Bruce Lee Life Lesson: How to Build Your Own Mind" class="ep-thumb" loading="lazy"/> 282 <div class="ep-body"> 283 <div class="ep-meta"> 284 <span>Jun 3, 2026</span> <span class="ep-meta-sep"></span> <span>4m</span> </div> 285 <div class="ep-title">Bruce Lee Life Lesson: How to Build Your Own Mind</div> 286 <div class="ep-blurb">A Bruce Lee principle that goes way beyond martial arts, what the psychology says about why writing to your future self changes your behavior, and 3 protocols tâ¦</div> </div> 287 </a> 288 <a class="ep-row" href="/episode/21771" data-title="the peak-end rule: why your brain only remembers 2 moments" data-op-track="episode_click" data-op-episode-id="21771"> 289 <img src="https://storage.buzzsprout.com/51ewm0xcytef4mfiukzucwr50nrj?.jpg" alt="The Peak-End Rule: Why Your Brain Only Remembers 2 Moments" class="ep-thumb" loading="lazy"/> 290 <div class="ep-body"> 291 <div class="ep-meta"> 292 <span>Jun 2, 2026</span> <span class="ep-meta-sep"></span> <span>4m</span> </div> 293 <div class="ep-title">The Peak-End Rule: Why Your Brain Only Remembers 2 Moments</div> 294 <div class="ep-blurb">The peak-end rule, what it is, what the research says about how memory rewrites experience, and 3 protocols to design your endings so the peak-end rule works foâ¦</div> </div> 295 </a> 296 <a class="ep-row" href="/episode/21772" data-title="is your ai memory working against you? how to know and how to fix it" data-op-track="episode_
296click" data-op-episode-id="21772"> 297 <img src="https://storage.buzzsprout.com/88403kh9xvp04hie64y35i7fu05t?.jpg" alt="Is Your AI Memory Working Against You? How to Know and How to Fix It" class="ep-thumb" loading="lazy"/> 298 <div class="ep-body"> 299 <div class="ep-meta"> 300 <span>Jun 1, 2026</span> <span class="ep-meta-sep"></span> <span>4m</span> </div> 301 <div class="ep-title">Is Your AI Memory Working Against You? How to Know and How to Fix It</div> 302 <div class="ep-blurb">How AI memory in tools like ChatGPT, Gemini, and Claude can quietly limit your thinking, what the research says about why AI personalization narrows your perspeâ¦</div> </div> 303 </a> 304 <a class="ep-row" href="/episode/21773" data-title="the cynefin framework: why one strategy can't solve every problem" data-op-track="episode_click" data-op-episode-id="21773"> 305 <img src="https://storage.buzzsprout.com/sn8h8k541gr5001b7a19qkwxrgq0?.jpg" alt="The Cynefin Framework: Why One Strategy Can't Solve Every Problem" class="ep-thumb" loading="lazy"/> 306 <div class="ep-body"> 307 <div class="ep-meta"> 308 <span>May 31, 2026</span> <span class="ep-meta-sep"></span> <span>4m</span> </div> 309 <div class="ep-title">The Cynefin Framework: Why One Strategy Can't Solve Every Problem</div> 310 <div class="ep-blurb">The Cynefin framework, a decision-making model that sorts problems into five categories so you stop wasting time and energy on the wrong approach. We'll breakinâ¦</div> </div> 311 </a> 312 <a class="ep-row" href="/episode/21774" data-title="the intransigent minority: how 3% can control the other 97%" data-op-track="episode_click" data-op-episode-id="21774"> 313 <img src="https://storage.buzzsprout.com/bnyxfvz79xbyvutbx1up9vc8yqjl?.jpg" alt="The Intransigent Minority: How 3% Can Control the Other 97%" class="ep-thumb" loading="lazy"/> 314 <div class="ep-body"> 315 <div class="ep-meta"> 316 <span>May 30, 2026</span> <span class="ep-meta-sep"></span> <span>4m</span> </div> 317 <div class="ep-title">The Intransigent Minority: How 3% Can Control the Other 97%</div> 318 <div class="ep-blurb">The intransigent minority, why a tiny fraction of any group can reshape the rules for everyone else, what the research says about how small that fraction can beâ¦</div> </div> 319 </a> 320 <a class="ep-row" href="/episode/21775" data-title="how to set up an ai agent to automate your email" data-op-track="episode_click" data-op-episode-id="21775"> 321 <img src="https://storage.buzzsprout.com/9vv3rdkkcq8w8gwawlzylylaryug?.jpg" alt="How to Set Up an AI Agent to Automate Your Email" class="ep-thumb" loading="lazy"/> 322 <div class="ep-body"> 323 <div class="ep-meta"> 324 <span>May 29, 2026</span> <span class="ep-meta-sep"></span> <span>5m</span> </div> 325 <div class="ep-title">How to Set Up an AI Agent to Automate Your Email</div> 326 <div class="ep-blurb">AI automation email agents, what they are, what they're good at, where they'll get you in trouble, and 3 protocols to set up your own AI email agent so you spenâ¦</div> </div> 327 </a> 328 <a class="ep-row" href="/episode/21776" data-title="why fighter jet pilots choose their words carefully and you should too" data-op-track="episode_click" data-op-episode-id="21776"> 329 <img src="https://storage.buzzsprout.com/oze1iv47zyrjp3p6unmtwiqnjmgj?.jpg" alt="Why Fighter Jet Pilots Choose Their Words Carefully And You Should Too" class="ep-thumb" loading="lazy"/> 330 <div class="ep-body"> 331 <div class="ep-meta"> 332 <span>May 28, 2026</span> <span class="ep-meta-sep"></span> <span>4m</span> </div> 333 <div class="ep-title">Why Fighter Jet Pilots Choose Their Words Carefully And You Should Too</div> 334 <div class="ep-blurb">We're breaking down why fighter jet pilots are trained to avoid certain words in the cockpit, what the psychology says about how your brain processes thoughts, â¦</div> </div> 335 </a> 336 <a class="ep-row" href="/episode/21777" data-title="the empty boat theory: why you get angry before you know the truth" data-op-track="episode_
336click" data-op-episode-id="21777"> 337 <img src="https://storage.buzzsprout.com/bxhsr3s03jdtul92wxaovczwy5pb?.jpg" alt="The Empty Boat Theory: Why You Get Angry Before You Know the Truth" class="ep-thumb" loading="lazy"/> 338 <div class="ep-body"> 339 <div class="ep-meta"> 340 <span>May 27, 2026</span> <span class="ep-meta-sep"></span> <span>5m</span> </div> 341 <div class="ep-title">The Empty Boat Theory: Why You Get Angry Before You Know the Truth</div> 342 <div class="ep-blurb">The Empty Boat Theory. What the empty boat theory is, what the research says about why your brain invents stories before you have the facts, and three protocolsâ¦</div> </div> 343 </a> 344 <div class="ep-no-results" id="ep-no-results" style="display:none">No episodes match your search.</div> 345 </div> 346 347 <div class="load-more" id="ep-load-more-wrap"> 348 <button class="load-more-btn" id="ep-load-more-btn" type="button">Load more episodes</button> 349 </div> 350</div> 351 352<style> 353.de-footer{background:#0d0d0d;border-top:1px solid rgba(255,255,255,.08);padding-top:64px;padding-bottom:calc(32px + var(--safe-b,0px))} 354.de-footer-inner{max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,40px)} 355.de-footer-top{display:grid;grid-template-columns:1.6fr 1fr 1.2fr;gap:64px;align-items:start;margin-bottom:48px} 356.de-footer-brand{display:flex;align-items:center;gap:12px;font-family:'Inter',system-ui,sans-serif;font-size:18px;font-weight:800;color:#fff;margin-bottom:16px} 357.de-footer-brand img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0} 358.de-footer-desc{font-family:'Inter',system-ui,sans-serif;font-size:13px;line-height:1.65;color:rgba(255,255,255,.5);overflow:hidden} 359.de-footer-desc.truncated{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical} 360.footer-desc-toggle-de{background:none;border:none;cursor:pointer;color:rgba(255,255,255,.4);font-family:'Inter',system-ui,sans-serif;font-size:.8rem;padding:4px 0;margin-top:6px;text-decoration:underline;display:block} 361.footer-desc-toggle-de:hover{color:rgba(255,255,255,.7)} 362.de-footer-col h4{font-family:'Inter',system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.35);margin:0 0 18px} 363.de-footer-col a{display:block;font-family:'Inter',system-ui,sans-serif;font-size:14px;color:rgba(255,255,255,.6);text-decoration:none;margin-bottom:10px;transition:color .15s} 364.de-footer-col a:hover{color:#fff} 365.de-footer-listen{columns:2;column-gap:20px} 366.de-footer-listen a{break-inside:avoid} 367.de-footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);font-family:'Inter',system-ui,sans-serif;font-size:12px;color:rgba(255,255,255,.35);flex-wrap:wrap;gap:8px} 368.de-footer-bottom a{color:rgba(255,255,255,.35);text-decoration:none;transition:color .15s} 369.de-footer-bottom a:hover{color:rgba(255,255,255,.7)} 370@media(max-width:768px){.de-footer-top{grid-template-columns:1fr;gap:40px}.de-footer-listen{columns:2}} 371</style> 372<footer class="de-footer"> 373 <div class="de-footer-inner"> 374 375 <div class="de-footer-top"> 376 <div> 377 <div class="de-footer-brand"> 378 <img src="https://storage.buzzsprout.com/55b8se0egh97kbdj76nsga5ig0c8?.jpg" alt="PRODUCTIVITY"/> <span>PRODUCTIVITY</span> 379 </div> 380 <p class="de-footer-desc" id="footer-desc-de">The PRODUCTIVITY Podcast brings you science backed productivity tactics, techniques, and procedures that work so you can get the most out of your time, talent and ideas. You get one productivity episode a day in a short, productive, episode that gives you actionable playbooks to put the ideas to work for yourself. Your Host Brandon White has been an entrepreneur in the trenches for over two decades. He has his Masters in Psychology, MBA, and is a certified Expert Tiny Habits Coach studying with BJ Fogg from Standford's Behavioral Design Lab. With real life experience , Brandon knows he'll never get everything done in a day, but he's figured out the best productivity strategies and products that are force multipliers to get the most out of a day in your personal and professional life. Listen in for your daily productivity tips.</p> 381 </div> 382 <div class="de-footer-col"> 383 <h4>Explore</h4> 384 <a href="/">Home</a> 385 <a href="/episodes">
385Episodes</a> 386 <a href="/about">About</a> 387 <a href="/blog">Blog</a> 388 </div> 389 <div class="de-footer-col"> 390 <h4>Listen On</h4> 391 <div class="de-footer-listen"> 392 <a href="https://podcasts.apple.com/us/podcast/productivity/id1694396715" target="_blank" rel="noopener">Apple</a> 393 <a href="https://open.spotify.com/show/4pbUJipdWzLHdHaKoqZ2i8?si=c5d3b12b00dc45a3" target="_blank" rel="noopener">Spotify</a> 394 <a href="https://iheart.com/podcast/118230173/" target="_blank" rel="noopener">iHeart</a> 395 <a href="https://pca.st/t32uuuyx" target="_blank" rel="noopener">Pocket Casts</a> 396 <a href="https://music.amazon.com/podcasts/69fb66f1-923d-4fac-babf-43e1892e9e4d/productivity" target="_blank" rel="noopener">Amazon Music</a> 397 <a href="https://tunein.com/podcasts/Education-Podcasts/PRODUCTIVITY-p3752442/?topicId=354097233" target="_blank" rel="noopener">TuneIn</a> 398 <a href="https://podcastaddict.com/podcast/productivity/4518708" target="_blank" rel="noopener">Podcast Addict</a> 399 <a href="https://www.listennotes.com/podcasts/productivity-brandon-white-VqaBJZOfnG8/" target="_blank" rel="noopener">Listen Notes</a> 400 <a href="https://www.podchaser.com/podcasts/productivity-5382242" target="_blank" rel="noopener">Podchaser</a> 401 <a href="https://www.deezer.com/us/show/1000030665" target="_blank" rel="noopener">Deezer</a> 402 <a href="https://www.youtube.com/@TheProductivityPodcast" target="_blank" rel="noopener">Youtube</a> 403 </div> 404 </div> 405 </div> 406 <div class="de-footer-bottom"> 407 <span>© 2026 PRODUCTIVITY. All rights reserved.</span> 408 </div> 409 </div> 410</footer>
411<script> 412(function(){ 413 var fel=document.getElementById('footer-desc-de'); 414 if(fel&&(fel.textContent||'').trim().length>140){ 415 fel.classList.add('truncated'); 416 var fbtn=document.createElement('button');fbtn.className='footer-desc-toggle-de';fbtn.textContent='Read more'; 417 fbtn.addEventListener('click',function(){var t=fel.classList.toggle('truncated');fbtn.textContent=t?'Read more':'Read less';}); 418 fel.insertAdjacentElement('afterend',fbtn); 419 } 420})(); 421</script>
vendor: 1 bytes, line 421
421
422<script> 423(function(){ 424 if(window.__opAiSelInit)return; window.__opAiSelInit=true; 425 window.addEventListener('message',function(ev){ 426 if(!ev.data||typeof ev.data!=='object')return; 427 if(ev.data.type==='exit-custom-page-preview'){location.reload();} 428 else if(ev.data.type==='ai-selection-enable'){_aiSel.enable();} 429 else if(ev.data.type==='ai-selection-disable'){_aiSel.disable();} 430 else if(ev.data.type==='ai-selection-clear'){_aiSel.clear();} 431 else if(ev.data.type==='get-full-html'){var h=document.documentElement.outerHTML.replace(/\s*data-ai-sel="[^"]*"/g,'').substring(0,100000);window.parent.postMessage({type:'full-html-response',html:h},'*');} 432 }); 433 var _aiSel=(function(){ 434 var on=false,sel=null,sty=null; 435 function inj(){if(sty)return;sty=document.createElement('style');sty.textContent='.ai-sel *:hover{outline:2px dashed rgba(255,140,0,.85)!important;outline-offset:2px!important;cursor:crosshair!important}[data-ai-sel]{outline:2px solid #ff8c00!important;outline-offset:2px!important}';document.head.appendChild(sty);} 436 var SK=['HTML','BODY','SCRIPT','STYLE','HEAD','NOSCRIPT']; 437 function gs(el){var p=[],c=el;while(c&&c.tagName&&c!==document.documentElement){if(c.id){p.unshift('#'+c.id);break;}p.unshift(c.tagName.toLowerCase()+(c.classList&&c.classList.length>0?'.'+c.classList[0]:''));if(p.length>=5)break;c=c.parentElement;}return p.join(' > ');} 438 function oc(e){if(!e.target||SK.indexOf(e.target.tagName.toUpperCase())>=0)return;e.preventDefault();e.stopPropagation();if(sel)sel.removeAttribute('data-ai-sel');var marked=e.target.closest('[data-op-field]');var lk=e.target.closest('a[href]');sel=marked||lk||e.target;sel.setAttribute('data-ai-sel','1');window.parent.postMessage({type:'ai-element-selected',outerHtml:sel.outerHTML.substring(0,5000),cssSelector:gs(sel),tagName:sel.tagName.toLowerCase(),opField:sel.getAttribute('data-op-field')||null,textContent:(sel.textContent||'').replace(/\s+/g,' ').trim().substring(0,200)},'*');} 439 return{enable:function(){if(on)return;on=true;inj();document.documentElement.classList.add('ai-sel');document.addEventListener('click',oc,true);},disable:function(){if(!on)return;on=false;document.documentElement.classList.remove('ai-sel');document.removeEventListener('click',oc,true);if(sel){sel.removeAttribute('data-ai-sel');sel=null;}},clear:function(){if(sel){sel.removeAttribute('data-ai-sel');sel=null;}}}; 440 })(); 441 window._aiSel=_aiSel; 442 if(window!==window.top){setTimeout(function(){_aiSel.enable();},400);} 443})(); 444</script>
444 445 446 447<style> 448.op-player{position:fixed;left:0;right:0;bottom:0;z-index:99998;display:flex;flex-direction:column; 449 background:var(--op-bg,#fff);color:var(--op-fg,#161616); 450 border-top:1px solid var(--op-line,rgba(0,0,0,.12)); 451 box-shadow:0 -6px 24px rgba(0,0,0,.14),0 -1px 0 var(--op-line,rgba(0,0,0,.12)); 452 font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; 453 -webkit-font-smoothing:antialiased;animation:op-slide-up .28s cubic-bezier(.2,.7,.3,1)} 454.op-player[hidden]{display:none} 455@keyframes op-slide-up{from{transform:translateY(100%)}to{transform:translateY(0)}} 456 457/* full-width scrubber pinned to the top edge of the bar */ 458.op-track{position:relative;height:6px;background:var(--op-line,rgba(0,0,0,.12));cursor:pointer; 459 touch-action:none;outline:none;flex-shrink:0} 460.op-track:focus-visible{box-shadow:inset 0 0 0 2px var(--op-accent,#161616)} 461.op-fill{position:absolute;top:0;left:0;height:100%;width:0%;background:var(--op-accent,#161616);pointer-events:none} 462.op-fill::after{content:"";position:absolute;right:-6px;top:50%;width:12px;height:12px;border-radius:50%; 463 background:var(--op-accent,#161616);transform:translateY(-50%) scale(0);transition:transform .12s;box-shadow:0 1px 4px rgba(0,0,0,.3)} 464.op-track:hover .op-fill::after,.op-track:focus-visible .op-fill::after,.op-track.op-dragging .op-fill::after{transform:translateY(-50%) scale(1)} 465 466.op-inner{display:flex;align-items:center;gap:14px;padding:10px 16px;max-width:1320px;margin:0 auto;width:100%} 467.op-cover{width:44px;height:44px;border-radius:6px;object-fit:cover;flex-shrink:0;background:var(--op-hover,rgba(0,0,0,.05))} 468.op-cover[hidden]{display:none} 469.op-meta{min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center;line-height:1.25} 470.op-title{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} 471.op-sub{font-size:12px;color:var(--op-muted,rgba(0,0,0,.55));white-space:nowrap;overflow:hidden;text-overflow:ellipsis} 472 473.op-btn{background:none;border:none;color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center; 474 flex-shrink:0;padding:0;border-radius:8px;transition:background .15s,opacity .15s} 475.op-btn:focus-visible{outline:2px solid var(--op-accent,#161616);outline-offset:2px} 476.op-skip{width:34px;height:34px;font-size:10px;font-weight:800;letter-spacing:.02em;opacity:.7;position:relative} 477.op-skip:hover{opacity:1;background:var(--op-hover,rgba(0,0,0,.05))} 478.op-skip svg{width:20px;height:20px;position:absolute} 479.op-skip span{position:relative;font-size:8px;line-height:1} 480.op-toggle{width:46px;height:46px;border-radius:50%;background:var(--op-accent,#161616);color:var(--op-bg,#fff)} 481.op-toggle:hover{filter:brightness(1.08)} 482.op-toggle svg{width:22px;height:22px;fill:currentColor} 483.op-times{font-size:12px;color:var(--op-muted,rgba(0,0,0,.55));white-space:nowrap;flex-shrink:0; 484 font-variant-numeric:tabular-nums;min-width:82px;text-align:center} 485.op-speed{min-width:42px;height:30px;padding:0 8px;font-size:11px;font-weight:700; 486 border:1px solid var(--op-line,rgba(0,0,0,.18));border-radius:999px} 487.op-speed:hover{background:var(--op-hover,rgba(0,0,0,.05))} 488.op-close{width:34px;height:34px} 489.op-close:hover{background:var(--op-hover,rgba(0,0,0,.05));opacity:1} 490.op-close svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none} 491 492.op-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0} 493 494/* reserve space so the fixed bar never hides page content/footer */ 495body.op-has-player{padding-bottom:var(--op-bar-pad,72px)} 496 497/* mobile: keep cover, title, play, scrubber, close â drop the extras */ 498@media (max-width:640px){ 499 .op-inner{gap:10px;padding:8px 12px} 500 .op-skip,.op-speed,.op-times,.op-sub{display:none} 501 .op-toggle{width:42px;height:42px} 502 .op-cover{width:40px;height:40px} 503} 504@media (prefers-reduced-motion: reduce){ 505 .op-player{animation:none} 506 .op-fill::after,.op-btn{transition:none} 507} 508</style> 509 510<div id="op-player" class="op-player" role="region" aria-label="Podcast audio player" hidden> 511 <div class="op-track" role="slider" tabindex="0" aria-label="Seek" 512 aria-valuemin="0" aria-valuemax="0" aria-valuenow="0" aria-valuetext="0:00"> 513 <div class="op-fill"></div> 514 </div> 515 <div class="op-inner"> 516 <img class="op-cover" alt="" hidden /> 517 <div class="op-meta"> 518 <div class="op-title">Now playing</div> 519 <div class="op-sub"></div> 520 </div> 521 <button type="button" class="op-btn op-skip" data-op="back" aria-label="Rewind 15 seconds"> 522 <svg viewBox="0 0 24 24" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11 4 4 9l7 5"/><path d="M4 9h9a7 7 0 1 1 0 14H8"/></svg>
523 <span>15</span> 524 </button> 525 <button type="button" class="op-btn op-toggle" data-op="toggle" aria-label="Play" aria-pressed="false"> 526 <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M8 5v14l11-7z"/></svg> 527 </button> 528 <button type="button" class="op-btn op-skip" data-op="fwd" aria-label="Skip 15 seconds"> 529 <svg viewBox="0 0 24 24" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m13 4 7 5-7 5"/><path d="M20 9h-9a7 7 0 1 0 0 14h5"/></svg> 530 <span>15</span> 531 </button> 532 <div class="op-times"><span class="op-cur">0:00</span> / <span class="op-dur">0:00</span></div> 533 <button type="button" class="op-btn op-speed" data-op="speed" aria-label="Playback speed">1Ã</button> 534 <button type="button" class="op-btn op-close" data-op="close" aria-label="Close player"> 535 <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6 6l12 12M18 6L6 18"/></svg> 536 </button> 537 </div> 538 <div class="op-sr op-live" aria-live="polite" role="status"></div> 539 <audio id="op-audio" preload="none"></audio> 540</div>
541<script src="/js/onpodium-player.js" defer></script>
541 542 543 544 545
546<script> 547 window.OP_ANALYTICS = window.OP_ANALYTICS || { 548 feedId: 64, 549 pageType: 'home', 550 episodeId: 0 551 }; 552</script>
vendor: 1 bytes, line 552
552
553<script src="/js/onpodium-tracker.js" defer></script>
553 554 555
556<script> 557(function() { 558 var btn = document.getElementById('ep-load-more-btn'); 559 var wrap = document.getElementById('ep-load-more-wrap'); 560 var list = document.getElementById('ep-list'); 561 var noResults = document.getElementById('ep-no-results'); 562 var isPreview = false; 563 var podSlugJs = "productivity"; 564 var feedImgJs = "https://storage.buzzsprout.com/55b8se0egh97kbdj76nsga5ig0c8?.jpg"; 565 var ITEMS_API = "/api/onpodium/site/episodes/items"; 566 var page = 2, pageSize = 20, totalEpisodes = 319, loaded = 20, loading = false; 567 568 function epUrl(id) { return isPreview ? '/api/onpodium/preview/' + podSlugJs + '/episode/' + id : '/episode/' + id; } 569 function esc(t) { var d = document.createElement('div'); d.textContent = t || ''; return d.innerHTML; } 570 function fmtDate(s) { if (!s) return ''; return new Date(s).toLocaleDateString('en-US', {month:'short',day:'numeric',year:'numeric'}); } 571 function fmtDur(d) { if (!d) return ''; var p = d.split(':'); if (p.length===3){var h=+p[0],m=+p[1];return h>0?h+'h '+m+'m':m+'m';} return d; } 572 function stripHtml(h) { var d = document.createElement('div'); d.innerHTML = h || ''; return (d.textContent || d.innerText || '').trim(); } 573 574 function renderRow(ep) { 575 var img = ep.imageUrl || feedImgJs; 576 var dur = fmtDur(ep.duration); var date = fmtDate(ep.publishedAt); 577 var blurb = stripHtml(ep.description || '').slice(0, 160); 578 var a = document.createElement('a'); 579 a.className = 'ep-row'; a.href = epUrl(ep.id); 580 a.setAttribute('data-title', (ep.title || '').toLowerCase()); 581 a.setAttribute('data-op-track', 'episode_click'); a.setAttribute('data-op-episode-id', ep.id); 582 a.innerHTML = (img ? '<img src="' + esc(img) + '" alt="' + esc(ep.title||'') + '" class="ep-thumb" loading="lazy"/>' : 583 '<div class="ep-thumb-placeholder">\uD83C\uDF99</div>') + 584 '<div class="ep-body">' + 585 '<div class="ep-meta">' + 586 (date ? '<span>' + esc(date) + '</span>' : '') + 587 (date && dur ? '<span class="ep-meta-sep"></span>' : '') + 588 (dur ? '<span>' + esc(dur) + '</span>' : '') + 589 '</div>' + 590 '<div class="ep-title">' + esc(ep.title || '') + '</div>' + 591 (blurb ? '<div class="ep-blurb">' + esc(blurb) + '\u2026</div>' : '') + 592 '</div>'; 593 return a; 594 } 595 596 var currentQuery = ''; 597 598 function updateLoadMore() { 599 if (wrap) wrap.style.display = (loaded < totalEpisodes) ? '' : 'none'; 600 } 601 602 function loadPage(reset) { 603 if (loading) return; 604 loading = true; 605 if (btn) { btn.disabled = true; btn.textContent = 'Loading\u2026'; } 606 var url = ITEMS_API + '?page=' + page + '&pageSize=' + pageSize; 607 if (currentQuery) url += '&q=' + encodeURIComponent(currentQuery); 608 fetch(url) 609 .then(function(r) { return r.json(); }) 610 .then(function(data) { 611 totalEpisodes = data.total; 612 if (reset) { 613 list.querySelectorAll('.ep-row').forEach(function(n) { n.remove(); }); 614 loaded = 0; 615 } 616 (data.items || []).forEach(function(ep) { list.insertBefore(renderRow(ep), noResults); }); 617 loaded += (data.items || []).length; 618 page++; 619 if (btn) { btn.disabled = false; btn.textContent = 'Load more episodes'; } 620 loading = false; 621 if (noResults) noResults.style.display = (loaded === 0) ? '' : 'none'; 622 updateLoadMore(); 623 }) 624 .catch(function() { if (btn) { btn.disabled = false; btn.textContent = 'Load more episodes'; } loading = false; }); 625 } 626 627 function runSearch() { 628 var term = (searchInput && searchInput.value || '').trim(); 629 currentQuery = term; 630 page = 1; 631 loadPage(true); 632 } 633 634 if (btn) { btn.addEventListener('click', function() { loadPage(false); }); } 635 636 var searchInput = document.getElementById('ep-search'); 637 var searchBtn = document.getElementById('ep-search-btn'); 638 if (searchBtn) { searchBtn.addEventListener('click', runSearch); } 639 if (searchInput) { 640 searchInput.addEventListener('keydown', function(e) { 641 if (e.key === 'Enter') { e.preventDefault(); runSearch(); } 642 }); 643 } 644})(); 645</script>
645 646</body> 647</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.