<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>David Tran&apos;s Blog</title>
    <description>Co-founder of Flow Club, software engineer, and runner from San Francisco, CA
</description>
    <link>https://www.davidtran.me/</link>
    <atom:link href="https://www.davidtran.me/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Wed, 15 Apr 2026 21:14:48 +0000</pubDate>
    <lastBuildDate>Wed, 15 Apr 2026 21:14:48 +0000</lastBuildDate>
    <generator>Jekyll v3.10.0</generator>
    
      <item>
        <title>Coderegon Trail: Learn Codebases by Surviving the Trail</title>
        <description>&lt;!-- TODO: Write intro — what is Coderegon Trail, one-line hook --&gt;

&lt;h2 id=&quot;what-it-is&quot;&gt;What it is&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://www.davidtran.me/coderegon-trail/&quot; target=&quot;_blank&quot;&gt;Coderegon Trail&lt;/a&gt; is an Oregon Trail-style game for learning how web frameworks and codebases work. You pick a trail, choose your difficulty, and try to survive to the end — answering questions about the code along the way.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/coderegon-trail/hub.png&quot; alt=&quot;The trail selector hub&quot; /&gt;&lt;/p&gt;

&lt;p&gt;It’s also a &lt;a href=&quot;https://github.com/dtran320/coderegon-trail&quot; target=&quot;_blank&quot;&gt;Claude Code plugin&lt;/a&gt;. Point it at any codebase or pull request and it generates a playable trail from the code.&lt;/p&gt;

&lt;h2 id=&quot;how-it-works&quot;&gt;How it works&lt;/h2&gt;

&lt;p&gt;Each trail follows the request lifecycle of a web framework (or the architecture of a codebase) as a series of stops. At each stop, you see the actual source code with syntax highlighting and a narration explaining what that stage of the pipeline does.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/coderegon-trail/title.png&quot; alt=&quot;The title screen — pixel art landscape with parallax scrolling&quot; /&gt;&lt;/p&gt;

&lt;p&gt;You pick a difficulty (from “Ralph Wiggum” to “Staff Architect”) and set out with a party of four — each party member represents a key concept in the framework.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/coderegon-trail/setup.png&quot; alt=&quot;Setup screen — choose your party and difficulty&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Between stops, random events test your understanding. Get them right and you gain health; get them wrong and your party suffers.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/coderegon-trail/event.png&quot; alt=&quot;A quiz event — weather, river crossings, encounters, and misfortunes&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The stops show real code from the framework, with explanations of what each piece does and why it matters.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/coderegon-trail/gameplay.png&quot; alt=&quot;A stop showing Express.js server setup code&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;available-trails&quot;&gt;Available trails&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Web Framework Trails&lt;/strong&gt; — walk through the full request pipeline:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Rails&lt;/strong&gt; — Rack middleware, RESTful routing, ActiveRecord, ERB templates&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Django&lt;/strong&gt; — WSGI entry, middleware stack, URLconf, views, ORM QuerySets&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Express&lt;/strong&gt; — body parsing, CORS, JWT auth, routing, controllers, error handling&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;React&lt;/strong&gt; — component tree, client-side routing, hooks, state management, virtual DOM&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Laravel&lt;/strong&gt; — service container, middleware, Eloquent ORM, Blade templates&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;AI &amp;amp; Agent Trails&lt;/strong&gt; — learn how AI-powered tools work under the hood:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;OpenClaw&lt;/strong&gt; — channel plugins, route resolution, session persistence, WebSocket RPC, tool execution&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;gstack&lt;/strong&gt; — sprint discipline, agent roles (CEO/eng/CSO review), real browser QA, safety guardrails&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;QMD&lt;/strong&gt; — BM25 keyword search, vector embeddings, RRF fusion, LLM re-ranking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Codebase Trails&lt;/strong&gt; — deep dives into specific projects:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Pi Mono&lt;/strong&gt; — unified LLM API, tool calling, agent loop, session persistence&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;RuView&lt;/strong&gt; — CSI capture, pose estimation, vital sign detection, through-wall sensing&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Shannon&lt;/strong&gt; — reconnaissance, injection testing, auth bypass, proof-by-exploitation&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;SpacetimeDB&lt;/strong&gt; — WASM modules, reducers, incremental subscriptions, real-time sync&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Superpowers&lt;/strong&gt; — hard-gate enforcement, subagent-driven dev, TDD discipline&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;building-your-own-trail&quot;&gt;Building your own trail&lt;/h2&gt;

&lt;!-- TODO: explain the Claude Code plugin flow — `claude plugins add dtran320/coderegon-trail`, then generating a trail from any repo or PR --&gt;

&lt;h2 id=&quot;how-i-built-it&quot;&gt;How I built it&lt;/h2&gt;

&lt;!-- TODO: the story — inspiration, vibe coding process, what Claude Code did vs. what I did, interesting technical decisions (single-file HTML, canvas rendering, no dependencies) --&gt;

&lt;h2 id=&quot;whats-next&quot;&gt;What’s next&lt;/h2&gt;

&lt;!-- TODO: future plans — more trails, multiplayer?, community contributions --&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href=&quot;https://www.davidtran.me/coderegon-trail/&quot; target=&quot;_blank&quot;&gt;Play Coderegon Trail&lt;/a&gt; or install the plugin: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;claude plugins add dtran320/coderegon-trail&lt;/code&gt;&lt;/p&gt;
</description>
        <pubDate>Sat, 28 Mar 2026 12:00:00 +0000</pubDate>
        <link>https://www.davidtran.me/coderegon-trail/</link>
        <guid isPermaLink="true">https://www.davidtran.me/coderegon-trail/</guid>
        
        <category>ai</category>
        
        <category>coding</category>
        
        <category>claude-code</category>
        
        <category>games</category>
        
        <category>education</category>
        
        
        <category>projects</category>
        
      </item>
    
      <item>
        <title>FaceTime with My 19-Year-Old Self</title>
        <description>&lt;p&gt;&lt;em&gt;I turned 38 last week. We took our 2-year-old daughter to Children’s Fairyland in Oakland for the first time. From the outside it looks underwhelming&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;, but if you crouch down to a 2-year-old’s height and see it through their eyes, the magic is there. I wanted to try the same trick with how I build software. Lately, despite writing more code than ever with LLMs, I’ve started feeling a sense of creeping ennui&lt;sup id=&quot;fnref:2&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:2&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;. But I have a tool that can write code in any language, build almost any app I can imagine, and it costs a fraction of what a human engineer would. To my 19-year-old self stumbling to deploy dynamic websites with PHP and inline SQL, this would have been wishes one, two, and three. Why am I not building all the great things?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This isn’t your usual inner child work&lt;sup id=&quot;fnref:3&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:3&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;, though it is a form of introspection&lt;sup id=&quot;fnref:4&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:4&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;. I’m trying to remember what it felt like before I learned all the reasons not to build, and to think about how I might use AI to not just write code but deepen my understanding. So I imagined FaceTiming my 19-year-old self&lt;sup id=&quot;fnref:5&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:5&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; So, are you still coding?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; Yep!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; Still in PHP? Or Java or C++?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; Mostly javascript, believe it or not. And I worked primarily in python before that. But lately, “coding” mostly happens in English/natural language, and an AI called a large language model actually generates all the code: python, javascript, Swift, even shell script. You name it!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; Wait, you have a tool that can write ANY language? Even Perl?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; Yep! You just describe the requirements in English and it generates all the code. You don’t even need to be technical.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; Even Objective-C? I hear that’s what you have to write for this new iPhone, although I dunno why anyone would want one of those. And you’d have to use a Mac… eww..&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; Yes, and about that…&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; Wait, so are you building things all the time and having the time of your life? Man, what’s it like having to debug and maintain tons of apps and sites for so many users?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; Well, the LLMs can help a lot with fixing bugs too.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; That sounds like a blast. So you never get stuck on anything?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; AI can help you work around things, although it does lead you down the wrong path too. But you’re right— you don’t get stuck the same way. The speed of progress can be addicting&lt;sup id=&quot;fnref:6&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:6&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;6&lt;/a&gt;&lt;/sup&gt;, but it’s actually taken some of the joy out of the craft. Remember how great it feels to get stuck on something and then finally figure it out?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; True. BUT YOU HAVE A MAGIC CODE WRITING TOOL and it’s not fun??? How many things have you built and released? Is EVERYONE now an engineer just constantly building and releasing things?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; Well, I have many half-built features and projects laying around…&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; Is deploying stuff really hard? Or is it impossible to look for and find users? Cuz everyone’s building things?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; The AIs and platforms make deploying pretty straightforward. A lot of people ARE building things. You could actually say that it’s easier than ever to share what you’re working on with the right people.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; Mmm, so what’s stopping you?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; If EVERYONE has this magic tool and the cost of creation effectively goes to zero, how do you build something that’s differentiated?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; I’ve never stopped to consider that anyone could build a Facebook app. That hasn’t stopped me.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; But what you build could be obsolete tomorrow. And even though I said it’s easier than ever to get people to LOOK at what you’ve built, it’s hard to actually get them to really USE it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; But didn’t you just say it costs you almost nothing to build it? So why does it matter if it’s not relevant tomorrow?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; No, you don’t understand. All distribution now happens through algorithmic feeds…&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; An algorithm? So something you can test and learn from?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; No, okay. Let me start over. Every inkling of an idea that anyone has now gets built. The LLMs fill in the rest. Well, at least enough to record a half-working demo showing a single happy path rather than actually building what people want.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; Okay, forget all that. What are you excited about building?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; Well, most of my coding happens for my startup Flow Club, where I’m the only engineer. It’s a virtual coworking community — people from all over the world join thousands of video sessions every week to work together and hold each other accountable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; Whoa. Wait, you have your own company? And you’re the ONLY engineer? Building a whole product by yourself?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; Yeah, and honestly, I’m a bit ashamed of that. We’ve raised venture funding and we had a team that we mostly had to let go of.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; Ah. That sucks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; I’ve never been great at managing people though, so it can be great to build. I can move across the whole stack — backend, frontend, infra, mobile — without getting stuck. I recently built this little desktop pet for the community to test soon. It’s a cartoon alligator that lives on your screen. It watches what app you’re using and reacts. Like if you’re coding, it has a little coding animation. If you’re in a flow state, it does something different. If you’re on a video call, it notices. It even knows when you’re listening to music.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; Wait. You built a Tamagotchi. That lives on your desktop. And it knows what you’re DOING?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; Yeah, it uses the macOS accessibility APIs to read the frontmost app, and it classifies your activity into—&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; It’s so much work to write things that work on Linux for my assignments, and I can’t even figure out how to get started writing Windows desktop software. And you can just have this AI write the code for any of Mac, Windows, Linux, web, mobile. You can literally build anything?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; …Yeah. I mean, the LLM wrote most of it in a language called Rust that I don’t know well at all, and it did most of the debugging. And we used an open source app called Tauri that allows us to write typescript, which is javascript with types, and make it run natively. And an AI generated all the animations…&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; I don’t care who wrote it. You BUILT it. You had the idea and then made it exist. That’s what building IS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; …&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; You know what your problem is? You’re so worried about whether it’ll become big or go viral or make lots of money that you forgot to notice that just building it is amazing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; I had fun building a way to control the AI that writes my code from my phone&lt;sup id=&quot;fnref:7&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:7&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;7&lt;/a&gt;&lt;/sup&gt;, but of course, the companies that make the AI built that themselves eventually. And that’s what most people are doing. Just building tools to make them or others faster at building things.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; I’d love to build things that I get to use myself. I’m building things that Facebook should have natively. If they ever get around to it, doesn’t that just prove that I was right?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; Sure, but then you wasted time…&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; It’s not wasted time if you learned something building it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; Well, but these AIs that generate code make it possible for you to build things without really learning or understanding much at all.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; So does copying and pasting code. Can you just ask the AI to explain the code?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; Well, yes. But this desktop app that I built the first version of, I haven’t the faintest idea how Tauri or the Mac system features work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; Could you build something using the AI that helps you understand and learn that?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;38:&lt;/strong&gt; Oh, I actually have built a few things—&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19:&lt;/strong&gt; Great! I gotta go. Gotta fix an issue that this woman in Canada playing my movie quotes game ran into because she’s answered all the questions I created in MySQL. And I gotta do it without AI, so this is going to take a while!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Thanks to Amanda Ables, Ricky Yean, and Claude for reading drafts of this.&lt;/em&gt;&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;Children’s Fairyland was one of the earliest “themed” amusement parks in the US and likely inspired Disneyland. &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:2&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;I’ll admit that I first learned this word from Inside Out 2, but I’ve thought for a while now that this encapsulates the dissatisfaction I’ve felt from vibe coding. I think it comes from the rapid pace of change as models, harnesses, and so-called best practices have completely upended both expectations and what building looks like, as well as everyone saying software engineering will soon be dead. Previously, when Anthropic’s Dario Amodei said that AI would write most of the code, I thought that was merely the toolmaker hyping up the tool. But since Opus 4.5, when he says that software engineering will be fully done by AI by 2027, it feels like it’s just a matter of time. Even if many hang onto handwriting code, the amount of code generated by AI will still take over 99% of all code written given the current speed and acceleration. &lt;a href=&quot;#fnref:2&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:3&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;See &lt;a href=&quot;https://time.com/6268636/inner-child-work-healing/&quot; target=&quot;_blank&quot;&gt;What’s an Inner Child and Why Is Everyone Working on Theirs?&lt;/a&gt;, a TIME explainer tracing Jung’s “Divine Child” archetype through the TikTok inner child healing trend, as well as &lt;a href=&quot;https://en.wikipedia.org/wiki/Inner_child&quot; target=&quot;_blank&quot;&gt;the Wikipedia Article on Inner child&lt;/a&gt;. &lt;a href=&quot;#fnref:3&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:4&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;Marc Andreessen recently &lt;a href=&quot;https://x.com/pmarca/status/2035190797218587116&quot; target=&quot;_blank&quot;&gt;said&lt;/a&gt; that “introspection causes emotional disorders.” In a &lt;a href=&quot;https://www.youtube.com/watch?v=qBVe3M2g_SA&quot; target=&quot;_blank&quot;&gt;conversation with David Senra&lt;/a&gt;, he remarked that the great men of history didn’t sit around examining themselves — they just built. Sam Walton didn’t wake up thinking about his internal self; he woke up and built more Walmarts. “People who dwell on the past get stuck in the past.” While I disagree, it’s interesting to think about. &lt;a href=&quot;#fnref:4&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:5&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;On his latest and likely last album, J. Cole tells the story of returning to his hometown at ages 29 and 39, including this verse about “an iPhone that travels through time” and &lt;a href=&quot;https://www.youtube.com/watch?v=KHpA7_c3u1Y&quot; target=&quot;_blank&quot;&gt;FaceTiming his younger self&lt;/a&gt;. &lt;em&gt;“I bought a iPhone that travels through time / FaceTime, done got younger me on the line / Soon as he saw me, he just started cryin’ / I told him, ‘Relax, everything gon’ be fine’ / He wiped off his face, said he tryna be strong / But some days he feel like he doin’ it wrong”&lt;/em&gt; — J. Cole, “Bombs in the Ville / Hit the Gas” &lt;a href=&quot;#fnref:5&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:6&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;In Mihaly Csikszentmihalyi’s model of flow, &lt;a href=&quot;https://x.com/dtran320/status/1514027079985102851&quot; target=&quot;_blank&quot;&gt;one of the seven elements&lt;/a&gt; is that the challenge is perfectly suited to your skills. I recently learned about the concept of &lt;a href=&quot;https://www.fast.ai/posts/2026-01-28-dark-flow/&quot; target=&quot;_blank&quot;&gt;“dark flow”&lt;/a&gt;, which is when the makers of a game of chance convince you of the illusion that your skills matter. Combined with focus, timelessness, and ecstasy, gambling can create an addictive loop. Can you achieve flow when vibe coding, or is it closer to dark flow? &lt;a href=&quot;#fnref:6&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:7&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;I built a way to &lt;a href=&quot;https://x.com/dtran320/status/2026712182738878967&quot; target=&quot;_blank&quot;&gt;control Claude Code from my phone&lt;/a&gt;, which Anthropic of course shipped natively (and yes, this is a half-working demo for a single happy path). I love Remote Control though! &lt;a href=&quot;#fnref:7&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Fri, 27 Mar 2026 12:00:00 +0000</pubDate>
        <link>https://www.davidtran.me/facetime-with-my-19-year-old-self/</link>
        <guid isPermaLink="true">https://www.davidtran.me/facetime-with-my-19-year-old-self/</guid>
        
        <category>ai</category>
        
        <category>coding</category>
        
        <category>reflections</category>
        
        
        <category>reflections</category>
        
      </item>
    
      <item>
        <title>The Asian Bakery Half Marathon</title>
        <description>&lt;p&gt;My friend Paul Atienza came up with the idea to run a half marathon between Asian bakeries in San Francisco, and the rest, as they say, is pastry 🥐 🍞 🥮&lt;/p&gt;

&lt;p&gt;Yesterday, 18 of us ran 13.1 miles across San Francisco, visiting 5 Asian bakeries and split pastries at each location.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mile 0:&lt;/strong&gt; Gochujang Caramel Cookie and Seoul Sausage Pepper Croissant at SOHN&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mile 3.5:&lt;/strong&gt; Egg tart and egg white egg tart at Yummy Bakery (Golden Gate was closed) (forgot to pause watch for a bit)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mile 9:&lt;/strong&gt; Pineapple Bun Bites with Matcha/Mango/Pineapple dips + I separately got a Red Bean Pineapple Bun at Pineapple King Bakery&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mile 11:&lt;/strong&gt; Kaya Bread (with Coconut-Pandan cream) + Kaya Toast with Coconut-Pandan jelly and Maldon sea salt at Breadbelly&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mile 13.1:&lt;/strong&gt; Kouign Aman (regular, chocolate and guava flavors) at b. Patiserrie&lt;/p&gt;

&lt;div class=&quot;strava-embed-placeholder&quot; data-embed-type=&quot;activity&quot; data-embed-id=&quot;17653856504&quot; data-style=&quot;standard&quot; data-from-embed=&quot;false&quot;&gt;&lt;/div&gt;
&lt;script src=&quot;https://strava-embeds.com/embed.js&quot;&gt;&lt;/script&gt;

&lt;blockquote class=&quot;instagram-media&quot; data-instgrm-captioned=&quot;&quot; data-instgrm-permalink=&quot;https://www.instagram.com/reel/DVrL3pYj5wS/?utm_source=ig_embed&amp;amp;utm_campaign=loading&quot; data-instgrm-version=&quot;14&quot; style=&quot; background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:540px; min-width:326px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);&quot;&gt;&lt;div style=&quot;padding:16px;&quot;&gt; &lt;a href=&quot;https://www.instagram.com/reel/DVrL3pYj5wS/?utm_source=ig_embed&amp;amp;utm_campaign=loading&quot; style=&quot; background:#FFFFFF; line-height:0; padding:0 0; text-align:center; text-decoration:none; width:100%;&quot; target=&quot;_blank&quot;&gt; &lt;div style=&quot; display: flex; flex-direction: row; align-items: center;&quot;&gt; &lt;div style=&quot;background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 40px; margin-right: 14px; width: 40px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;display: flex; flex-direction: column; flex-grow: 1; justify-content: center;&quot;&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 100px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 60px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;padding: 19% 0;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;display:block; height:50px; margin:0 auto 12px; width:50px;&quot;&gt;&lt;svg width=&quot;50px&quot; height=&quot;50px&quot; viewBox=&quot;0 0 60 60&quot; version=&quot;1.1&quot; xmlns=&quot;https://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;https://www.w3.org/1999/xlink&quot;&gt;&lt;g stroke=&quot;none&quot; stroke-width=&quot;1&quot; fill=&quot;none&quot; fill-rule=&quot;evenodd&quot;&gt;&lt;g transform=&quot;translate(-511.000000, -20.000000)&quot; fill=&quot;#000000&quot;&gt;&lt;g&gt;&lt;path d=&quot;M556.869,30.41 C554.814,30.41 553.148,32.076 553.148,34.131 C553.148,36.186 554.814,37.852 556.869,37.852 C558.924,37.852 560.59,36.186 560.59,34.131 C560.59,32.076 558.924,30.41 556.869,30.41 M541,60.657 C535.114,60.657 530.342,55.887 530.342,50 C530.342,44.114 535.114,39.342 541,39.342 C546.887,39.342 551.658,44.114 551.658,50 C551.658,55.887 546.887,60.657 541,60.657 M541,33.886 C532.1,33.886 524.886,41.1 524.886,50 C524.886,58.899 532.1,66.113 541,66.113 C549.9,66.113 557.115,58.899 557.115,50 C557.115,41.1 549.9,33.886 541,33.886 M565.378,62.101 C565.244,65.022 564.756,66.606 564.346,67.663 C563.803,69.06 563.154,70.057 562.106,71.106 C561.058,72.155 560.06,72.803 558.662,73.347 C557.607,73.757 556.021,74.244 553.102,74.378 C549.944,74.521 548.997,74.552 541,74.552 C533.003,74.552 532.056,74.521 528.898,74.378 C525.979,74.244 524.393,73.757 523.338,73.347 C521.94,72.803 520.942,72.155 519.894,71.106 C518.846,70.057 518.197,69.06 517.654,67.663 C517.244,66.606 516.755,65.022 516.623,62.101 C516.479,58.943 516.448,57.996 516.448,50 C516.448,42.003 516.479,41.056 516.623,37.899 C516.755,34.978 517.244,33.391 517.654,32.338 C518.197,30.938 518.846,29.942 519.894,28.894 C520.942,27.846 521.94,27.196 523.338,26.654 C524.393,26.244 525.979,25.756 528.898,25.623 C532.057,25.479 533.004,25.448 541,25.448 C548.997,25.448 549.943,25.479 553.102,25.623 C556.021,25.756 557.607,26.244 558.662,26.654 C560.06,27.196 561.058,27.846 562.106,28.894 C563.154,29.942 563.803,30.938 564.346,32.338 C564.756,33.391 565.244,34.978 565.378,37.899 C565.522,41.056 565.552,42.003 565.552,50 C565.552,57.996 565.522,58.943 565.378,62.101 M570.82,37.631 C570.674,34.438 570.167,32.258 569.425,30.349 C568.659,28.377 567.633,26.702 565.965,25.035 C564.297,23.368 562.623,22.342 560.652,21.575 C558.743,20.834 556.562,20.326 553.369,20.18 C550.169,20.033 549.148,20 541,20 C532.853,20 531.831,20.033 528.631,20.18 C525.438,20.326 523.257,20.834 521.349,21.575 C519.376,22.342 517.703,23.368 516.035,25.035 C514.368,26.702 513.342,28.377 512.574,30.349 C511.834,32.258 511.326,34.438 511.181,37.631 C511.035,40.831 511,41.851 511,50 C511,58.147 511.035,59.17 511.181,62.369 C511.326,65.562 511.834,67.743 512.574,69.651 C513.342,71.625 514.368,73.296 516.035,74.965 C517.703,76.634 519.376,77.658 521.349,78.425 C523.257,79.167 525.438,79.673 528.631,79.82 C531.831,79.965 532.853,80.001 541,80.001 C549.148,80.001 550.169,79.965 553.369,79.82 C556.562,79.673 558.743,79.167 560.652,78.425 C562.623,77.658 564.297,76.634 565.965,74.965 C567.633,73.296 568.659,71.625 569.425,69.651 C570.167,67.743 570.674,65.562 570.82,62.369 C570.966,59.17 571,58.147 571,50 C571,41.851 570.966,40.831 570.82,37.631&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div style=&quot;padding-top: 8px;&quot;&gt; &lt;div style=&quot; color:#3897f0; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:550; line-height:18px;&quot;&gt;View this post on Instagram&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;padding: 12.5% 0;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;display: flex; flex-direction: row; margin-bottom: 14px; align-items: center;&quot;&gt;&lt;div&gt; &lt;div style=&quot;background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(0px) translateY(7px);&quot;&gt;&lt;/div&gt; &lt;div style=&quot;background-color: #F4F4F4; height: 12.5px; transform: rotate(-45deg) translateX(3px) translateY(1px); width: 12.5px; flex-grow: 0; margin-right: 14px; margin-left: 2px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(9px) translateY(-18px);&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 8px;&quot;&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 20px; width: 20px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot; width: 0; height: 0; border-top: 2px solid transparent; border-left: 6px solid #f4f4f4; border-bottom: 2px solid transparent; transform: translateX(16px) translateY(-4px) rotate(30deg)&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: auto;&quot;&gt; &lt;div style=&quot; width: 0px; border-top: 8px solid #F4F4F4; border-right: 8px solid transparent; transform: translateY(16px);&quot;&gt;&lt;/div&gt; &lt;div style=&quot; background-color: #F4F4F4; flex-grow: 0; height: 12px; width: 16px; transform: translateY(-4px);&quot;&gt;&lt;/div&gt; &lt;div style=&quot; width: 0; height: 0; border-top: 8px solid #F4F4F4; border-left: 8px solid transparent; transform: translateY(-4px) translateX(8px);&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=&quot;display: flex; flex-direction: column; flex-grow: 1; justify-content: center; margin-bottom: 24px;&quot;&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 224px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 144px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;p style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;&quot;&gt;&lt;a href=&quot;https://www.instagram.com/reel/DVrL3pYj5wS/?utm_source=ig_embed&amp;amp;utm_campaign=loading&quot; style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none;&quot; target=&quot;_blank&quot;&gt;A post shared by David Tran (@dtran)&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;
&lt;script async=&quot;&quot; src=&quot;//www.instagram.com/embed.js&quot;&gt;&lt;/script&gt;

</description>
        <pubDate>Mon, 09 Mar 2026 09:00:00 +0000</pubDate>
        <link>https://www.davidtran.me/asian-bakery-half-marathon/</link>
        <guid isPermaLink="true">https://www.davidtran.me/asian-bakery-half-marathon/</guid>
        
        <category>running</category>
        
        <category>half marathon</category>
        
        <category>san francisco</category>
        
        <category>food</category>
        
        
        <category>running</category>
        
      </item>
    
      <item>
        <title>Vibecode Together: StumbleUpon for Vibe-Coded Projects</title>
        <description>&lt;p&gt;There’s no shortage of advice on how to vibe-code (or vibe engineer, if you’re actually reading the code outputted by LLMs) better. We’re inundated with how to write prompts, set up better context or skills for agents, or how to get the most out of different platforms or models. But talking to friends who’ve vibe-coded projects, the bottleneck doesn’t seem to be getting started building, or that they can’t get the agents to do what they want. We noticed two recurring patterns:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1) Most people never ship.&lt;/strong&gt; Even though vibe-coding lowers the barrier to entry, time, and cost of building a MVP, it can also make it harder to ship when each additional feature or polish is just one prompt away. And sure, lots of projects are just scratching a personal itch, but if it solves your problem well, someone else out there would probably like it too—if nothing else, as an inspiration to create their own take on it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2) Even those who do ship struggle to get anyone to try it.&lt;/strong&gt; Your friends want to help, but they’re often not the target audience. And as the cost of building decreases and the number of projects explodes, discovery only gets harder. Vibe-coded projects might have an even harder time than projects built by hand because audiences assume you didn’t put as much thought or effort into them, or that they’re not secure.&lt;/p&gt;

&lt;p&gt;We used &lt;a href=&quot;https://lovable.dev&quot;&gt;Lovable&lt;/a&gt; to build a StumbleUpon for vibe-coded projects. Visit the site, see a random project, try it out if it looks interesting, or click through to the next one until you find one that does look interesting. This probably isn’t the most natural format for project discovery, but ranked leaderboards usually get gamified and feel like they have a higher bar for submission. Most of all, seeing what other people have built and shipped, especially when it’s vibe-coded, makes shipping your own feel a lot more within reach.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/vibecodetogether_vibereps.png&quot; alt=&quot;Vibecode Together showing VibeReps&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://vibecodetogether.flow.club&quot;&gt;Try it out&lt;/a&gt;&lt;/strong&gt; and let us know what you think!&lt;/p&gt;
</description>
        <pubDate>Mon, 02 Feb 2026 12:00:00 +0000</pubDate>
        <link>https://www.davidtran.me/vibecode-together-stumbleupon-for-vibe-coded-projects/</link>
        <guid isPermaLink="true">https://www.davidtran.me/vibecode-together-stumbleupon-for-vibe-coded-projects/</guid>
        
        <category>ai</category>
        
        <category>vibe-coding</category>
        
        <category>projects</category>
        
        <category>shipping</category>
        
        
        <category>projects</category>
        
      </item>
    
      <item>
        <title>VibeReps: Tend to Your Quads While You Tend to Your Claudes</title>
        <description>&lt;p&gt;Coding with Claude Code makes me feel like a teen who just learned PHP again. Unlimited possibilities, but lots of pitfalls.&lt;/p&gt;

&lt;p&gt;One of the challenges has been managing context while Claude edits files. It’s tempting to open multiple agents, Slack, or X while waiting—but that often pulls you away from the flow.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://x.com/bcherny&quot;&gt;@bcherny&lt;/a&gt; called it the era of “tending to your Claudes” on a recent pod with &lt;a href=&quot;https://x.com/gregisenberg&quot;&gt;@gregisenberg&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;What if those pauses didn’t pull you away, but let you think while Claude thinks? And maybe do some squats?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tend to your quads while you tend to your Claudes.&lt;/strong&gt;&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/S0owNK_xSCA&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;Introducing &lt;a href=&quot;https://www.vibereps.com&quot;&gt;VibeReps&lt;/a&gt;—a tool that launches from Claude Code’s PostToolUse hook and prompts you to exercise during idle moments. It tracks your movement using MediaPipe Pose Landmarker via webcam and counts reps automatically. Claude notifies you when it’s idle or when permissions are needed.&lt;/p&gt;

&lt;p&gt;The project is open source and installable via a simple script. Built with Claude Code, of course.&lt;/p&gt;

&lt;p&gt;I’ll be honest—I’ve been tempted to keep adding features. But the whole point is to ship and gather feedback. So here it is.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://www.vibereps.com&quot;&gt;Try it out&lt;/a&gt;&lt;/strong&gt; and let me know what you think!&lt;/p&gt;
</description>
        <pubDate>Fri, 30 Jan 2026 12:00:00 +0000</pubDate>
        <link>https://www.davidtran.me/vibereps-tend-to-your-quads-while-you-tend-to-your-claudes/</link>
        <guid isPermaLink="true">https://www.davidtran.me/vibereps-tend-to-your-quads-while-you-tend-to-your-claudes/</guid>
        
        <category>ai</category>
        
        <category>vibe-coding</category>
        
        <category>projects</category>
        
        <category>health</category>
        
        <category>claude</category>
        
        
        <category>projects</category>
        
      </item>
    
      <item>
        <title>Burnout and Basketball Dynasties</title>
        <description>&lt;h3&gt;User Preferences&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;Estimated reading time: &lt;span id=&quot;reading-time&quot;&gt;5&lt;/span&gt; minutes&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;How would you like to read this post?&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;javascript:void(0);&quot; onclick=&quot;showSummary()&quot;&gt;Show me the TL;DR ChatGPT summary&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;Do you care about how I wrote this post? &lt;a href=&quot;javascript:void(0);&quot; onclick=&quot;togglePrefaces()&quot;&gt;Show details ⬇️&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Are you a basketball fan? &lt;a href=&quot;javascript:void(0);&quot; onclick=&quot;toggleBasketball(true)&quot;&gt;Ball is life 🏀 ⬇️&lt;/a&gt; | &lt;a href=&quot;javascript:void(0);&quot; onclick=&quot;toggleBasketball(false)&quot;&gt;No or not really—just show me the bare minimum ⬇️&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div id=&quot;summary&quot; style=&quot;display:none;&quot;&gt;
  &lt;h3&gt;Summary&lt;/h3&gt;
  &lt;p&gt;The blog post explores the theme of burnout by drawing a parallel between basketball dynasties, like the Golden State Warriors, and personal or professional burnout. It argues that burnout stems from losing sight of long-term goals and focusing too much on short-term results. The author reflects on the importance of enjoying the process and maintaining perspective, noting how dynasties take time to build and sustain. Ultimately, maintaining long-term focus and finding joy in daily actions are key to avoiding burnout.&lt;/p&gt;
&lt;/div&gt;

&lt;h2 id=&quot;burnout-is-losing-joy-in-the-grind-while-expecting-results-you-cant-fully-control-in-a-certain-timeframe&quot;&gt;Burnout is losing joy in the grind while expecting results you can’t fully control in a certain timeframe&lt;/h2&gt;

&lt;div style=&quot;display: flex; gap: 20px;&quot;&gt;
  &lt;div style=&quot;flex: 1; text-align: center;&quot;&gt;
    &lt;img src=&quot;https://www.davidtran.me/assets/images/warriors_shravan_george.png&quot; alt=&quot;Me with Shravan and George at Game 4 of Warriors-Spurs in May 2013&quot; /&gt;
    &lt;p class=&quot;caption&quot;&gt;Me with Shravan and George at Game 4 of Warriors-Spurs in May 2013&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;flex: 1; text-align: center;&quot;&gt;
    &lt;img src=&quot;https://www.davidtran.me/assets/images/warriors_ricky_shravan.png&quot; alt=&quot;Me with Shravan and Ricky at Game 4 of Warriors-Kings in April 2023&quot; /&gt;
    &lt;p class=&quot;caption&quot;&gt;Me with Shravan and Ricky at Game 4 of Warriors-Kings in April 2023&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href=&quot;javascript:void(0);&quot; onclick=&quot;toggleVisibility(&apos;preface-oct&apos;)&quot;&gt;Preface - October 2024 ⬇️&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div id=&quot;preface-oct&quot; class=&quot;preface&quot; style=&quot;display:none;&quot;&gt;
&lt;h3&gt;Preface, October 2024&lt;/h3&gt;
&lt;p&gt;Okay, finally hitting publish here. Working on it with ChatGPT 4o with canvas and listening to 4 or 5 different summaries of this in NotebookLM convinced me that I couldn&apos;t let this post go unpublished. While this is still a work in progress, as the Warriors&apos; season starts tonight, hopefully some human out there will find this message valuable.&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href=&quot;javascript:void(0);&quot; onclick=&quot;toggleVisibility(&apos;preface-sep&apos;)&quot;&gt;Preface - September 2024 ⬇️&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div id=&quot;preface-sep&quot; class=&quot;preface&quot; style=&quot;display:none;&quot;&gt;
&lt;h3&gt;Preface, September 2024&lt;/h3&gt;
&lt;p&gt;Third revisit is the charm? Writing this in a 3:45a Flow Club after our baby woke me up at 3:23a and I couldn&apos;t fall back asleep. Three things made me want to revisit this draft and try to actually publish it:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;My wife and I had a baby and I feel like I&apos;ve grown enough perspective to add to this post to make it worthwhile for someone out there.&lt;/li&gt;
  &lt;li&gt;The Warriors dynasty—at least the Curry-Klay-Dray-Dre dynasty—ended with Andre Iguodala retiring in October 2023 and Klay Thompson signing with the Mavericks in July 2024.&lt;/li&gt;
  &lt;li&gt;o1 was released and can help me edit the point I was trying to make from 1.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href=&quot;javascript:void(0);&quot; onclick=&quot;toggleVisibility(&apos;preface-jun&apos;)&quot;&gt;Preface - June 2023 ⬇️&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div id=&quot;preface-jun&quot; class=&quot;preface&quot; style=&quot;display:none;&quot;&gt;
&lt;h3&gt;Preface, June 2023&lt;/h3&gt;
&lt;p&gt;Since shying away from publishing this, several things have happened:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;The Lakers eliminated the Warriors from the Playoffs and we saw the likely birth of a new dynasty in Denver.&lt;/li&gt;
  &lt;li&gt;The Warriors traded Jordan Poole for Chris Paul.&lt;/li&gt;
  &lt;li&gt;Ricky wrote this post on his love for basketball, which inspired me to revisit this post originally from April 2023.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href=&quot;javascript:void(0);&quot; onclick=&quot;toggleVisibility(&apos;preface-may&apos;)&quot;&gt;Preface - May 2023 ⬇️&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div id=&quot;preface-may&quot; class=&quot;preface&quot; style=&quot;display:none;&quot;&gt;
&lt;h3&gt;Preface, May 2023&lt;/h3&gt;
&lt;p&gt;As large language models carefully craft essays probabilistically with just enough whimsy sprinkled in to sound human, I wonder: is writing by hand, prompt-free, still the best way to convey thoughts? Perhaps if they are as disparate as drawing connections between: the Golden State Warriors basketball dynasty, burnout, and time horizons. Take THAT ChatGPT!&lt;/p&gt;
&lt;/div&gt;

&lt;h3&gt;April 23, 2023&lt;/h3&gt;
&lt;p&gt;Sitting in Section 203 as the Sacramento Kings inbounded the ball with 10 seconds left on the clock and the Warriors clinging to a 126-125 lead, probabilities ran through my head like a poker player calculating the odds of her top pair on the flop holding up. &lt;i&gt;Is this a coin flip? Given how efficient both teams had been in terms of points per possession, does that make the Kings more likely than not to win the game? Wait, if the Warriors lose and go down 3-1, didn&apos;t I just see a stat recently that teams historically have only come back to win a series from 3-1 like 5% of the time? What are the chances this is Steph, Klay, and Draymond&apos;s last year together? It&apos;s almost certainly Dre&apos;s. Is this the end of the Warriors dynasty?&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;Thankfully, Harrison Barnes&apos; shot bounced off the back rim and my panic subsided as the crowd at Chase Center erupted in jubilation. &lt;i&gt;Dynasty not over yet.&lt;/i&gt;&lt;/p&gt;

&lt;h3&gt;The end of the dynasty&lt;/h3&gt;
&lt;p&gt;Now that we can definitively say that the Warriors dynasty—at least the Curry-Klay-Dray-Dre dynasty—ended with Andre Iguodala retiring in October 2023 and Klay Thompson signing with the Mavericks in July 2024, if we didn&apos;t celebrate it while we had it, it&apos;s definitely worth taking time to celebrate it now. But how did it start? &lt;/p&gt;

&lt;p&gt;A lot can happen in 10 years. In 2013, Steph Curry not only wasn&apos;t a two-time MVP and four-time champion—he wasn&apos;t even an All-Star yet. He had just signed a 4-year, $44M contract extension that was deemed risky at the time given his injury history, and was arguably one of the biggest all-star snubs that season. I remember conversations with my friend George, pictured on the left above, about how Steph Curry (my favorite player) and Kawhi Leonard (his favorite player) would be All-Stars someday and how they both got snubbed in 2013. Even as huge fans of Steph and Kawhi as we were, I don&apos;t think either of us dreamed big enough. A lot can happen in 10 years, and big things start small. Things that feel inevitable start small, and there were lots of little things along the way that played major roles, but didn&apos;t seem crazy at the time: signing David Lee, drafting Steph Curry, drafting Klay Thompson, hiring Mark Jackson, Steph Curry getting injured, drafting Harrison Barnes and Draymond Green, trading Monta Ellis for Andrew Bogut, firing Mark Jackson and hiring Steve Kerr, moving Draymond into the starting lineup... Generational companies and lifelong relationships also start with a series of small things.&lt;/p&gt;

&lt;p&gt;Why does all of this matter? Because my friend George in the first photo never got to see Steph Curry or Kawhi Leonard become All-Stars or NBA champions.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;javascript:void(0);&quot; onclick=&quot;toggleVisibility(&apos;basketball-tangent&apos;)&quot;&gt;Basketball Tangent ⬇️&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div id=&quot;basketball-tangent&quot; style=&quot;display:none;&quot;&gt;

&lt;div style=&quot;display: flex; gap: 20px;&quot;&gt;
  &lt;div style=&quot;flex: 1; text-align: center;&quot;&gt;
    &lt;img src=&quot;https://www.davidtran.me/assets/images/steph_curry_2013.png&quot; alt=&quot;Arguing for Steph Curry to be an All-Star in 2013&quot; /&gt;
  &lt;/div&gt;
  &lt;div style=&quot;flex: 1; text-align: center;&quot;&gt;
    &lt;img src=&quot;https://www.davidtran.me/assets/images/kawhi_leonard_2013.png&quot; alt=&quot;George arguing for Kawhi Leonard to be an All-Star in 2013&quot; /&gt;
  &lt;/div&gt;
&lt;/div&gt;
  &lt;p class=&quot;caption&quot;&gt;Receipts, as the kids call them. Sorry, Ricky and CP3. Was hoping Warriors could win a championship for CP3. Maybe if the league hadn&apos;t vetoed the CP3-Lakers trade and maybe if CP3&apos;s hamstring had held up in the 2018 playoffs against the Warriors, we wouldn&apos;t even be talking about a Warriors dynasty.&lt;/p&gt;
  
&lt;p&gt;After that Warriors-Kings game, I couldn&apos;t help but think back to the beginning of the Warriors&apos; run. I was here— well not here here, but at Oracle Arena 16 miles away, 10 years ago for a Warriors-Spurs playoff game. Why do sports matter at all? Because they teach us about life and let us celebrate the ups and downs condensed into a few hours at a time. Because they make us feel like we&apos;re a part of something bigger. Because we want to be able to tell our kids someday that we saw Steph Curry play while they insist a player who may not even be born yet is the greatest to ever touch a basketball on Earth or Mars. &lt;i&gt;(Sep 2024: or argue with your daughter someday about who changed the game more, Steph for the NBA or Caitlin for the WNBA).&lt;/i&gt; But mostly because you can literally see mere centimeters or milliseconds change the course of a team&apos;s championship run or decade-long dynasty.&lt;/p&gt;

&lt;p&gt;As baseball tries to woo back younger fans by speeding up the pace of play, I&apos;m generally a fan of games evolving. We don&apos;t need the game to be exactly the same for sports greatness to be timeless. Humans are great at making history rhyme.&lt;/p&gt;

&lt;p&gt;10 years ago, the Warriors were the young upstart team facing the San Antonio Spurs coming off 4 championships much like these young upstart Kings are facing the Warriors coming off 4 championships. Harrison Barnes, who missed that shot to potentially keep the Warriors&apos; title dreams alive this year, was the leading scorer for the Warriors in that Spurs game. Steph, Klay and Draymond were 25, 23, and 23 in 2013 playing against the Spurs&apos; dynasty core of Duncan (37), Ginobili (35), and Parker (30) with future star Kawhi (21). Today, the Kings with Fox (25), Sabonis (26), and Murray (22) are playing the Warriors&apos; core aged 35, 33, and 33 with a promising young star in Jordan Poole (23). The Kings just ended a 16-year playoff drought, whereas in 2013, the Warriors had just made the playoffs for the 2nd time in 19 years (and first since the “We Believe” year in 2007). &lt;i&gt;Edit, Sep 2024: Well, maybe it was a bit premature to call Poole the future Kawhi. But hey there&apos;s Podz, TJD, JK, Moody, and still-somehow-only-28-and-now-is-shooting-again Kevon Loonajuwon! Kings fans, I&apos;m not sure what to say, but maybe you&apos;re one Monta-Bogut unpopular-at-the-time trade away from a dynasty.&lt;/i&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;p&gt;Most things that are really valuable take time to build—whether we’re talking friendships, families, basketball dynasties, or companies. They say you overestimate what you can do in the short term and underestimate what you can do in the long term, but what that overlooks is that in the short term, you can easily lose sight of the long-term goal, which leads to burnout. We’re not great at perceiving how fast or slow we’re going—only acceleration or deceleration. When we stop feeling progress day to day—that’s when it’s important to focus on the long-term goals. But if you don’t love the process day-to-day, you can lose yourself chasing those long-term goals, and if the difference between a &lt;i&gt;dynasty&lt;/i&gt; and a footnote, between success and failure, or between being able to argue about sports with loved ones or &lt;a href=&quot;/thanks-george-tang/&quot;&gt;just having to sit here writing about them&lt;/a&gt; are all ultimately out of our control, you have to try to love it all.&lt;/p&gt;

&lt;h3&gt;On Burnout and Perspective&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://www.flow.club/blog/how-to-work-like-elite-athletes-train#burnout-and-injury&quot;&gt;I previously drew parallels between burnout and sports’ injuries— we should take preventative steps to avoid them— prehab is easier than rehab&lt;/a&gt;. As an individual, losing sight of the long-term goal and trying to win it all with a single short-term move without looking forward to the future is what leads to burnout. Burnout can mean a lot of things. The Mayo Clinic defines it as “physical or emotional exhaustion that also involves a sense of reduced accomplishment and loss of personal identity”. Most of the time when we talk about burnout, we focus on the former part of that sentence—“physical or emotional exhaustion”. But those are really the manifestations or symptoms and don’t really need much explanation. The part that’s worth double-clicking into here is “a sense of reduced accomplishment and loss of personal identity”.&lt;/p&gt;

&lt;p&gt;Every season that doesn’t end with a championship can feel like a failure, but if you zoom out, the progress becomes clearer. Maybe that’s why Steph Curry always seems to have more fun than anyone else—he knows that the journey matters just as much as the outcome. When I’ve faced burnout, it often stemmed from expecting a specific milestone by a set time. What helped me recover was finding flow in the small, daily actions—paradoxically, focusing on the small things often realigns you with your bigger goals. Ask yourself: if you were doing the same thing 10 years from now, with everything else different, would you still want to be doing it? Does the process itself make you happy, regardless of the result?&lt;/p&gt;

&lt;p&gt;Friendships and relationships that span over a decade are rare, and I will always cherish them. Hopefully, in 2033, there will still be basketball to watch—maybe even with 38% gravity, making shots and dunks all the more spectacular! Both friendships, a personal love of the game, a shared love of the game, and a collective love of the game are excellent antidotes to burnout. Whether you’re chasing a championship (or &lt;a href=&quot;https://www.youtube.com/watch?v=EYe8B--jrbs&quot; target=&quot;_blank&quot;&gt;not two, not three, not four&lt;/a&gt;, startup success, or any big goal, remember: the path is unpredictable, luck and factors out of your control play a huge part, even for the best in the world. Zoom out to the big picture, and zoom in to find joy and flow in the small things, and you never know what you might build.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Thanks to Amanda, Ricky, ChatGPT 4o with canvas, o1-preview, and NotebookLM for reading/helping me edit drafts of this.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;References and Inspiration&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.mayoclinic.org/healthy-lifestyle/adult-health/in-depth/burnout/art-20046642&quot;&gt;Burnout - Mayo Clinic&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2021/04/19/well/mind/covid-mental-health-languishing.html&quot; target=&quot;_blank&quot;&gt;Adam Grant - &quot;There&apos;s a Name for the Blah You&apos;re Feeling: It&apos;s Called Languishing&quot;&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.basketball-reference.com/teams/SAS/2013.html&quot;&gt;San Antonio Spurs 2013 Season - Basketball Reference&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.basketball-reference.com/teams/GSW/2013.html&quot;&gt;Golden State Warriors 2013 Season - Basketball Reference&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.basketball-reference.com/boxscores/201305120GSW.html&quot;&gt;Warriors vs Spurs Game 2013 - Basketball Reference&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://lifeofaudrey.com/essays/surviving_burnout.html&quot;&gt;Surviving Burnout - Audrey&apos;s Life&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://treeandforest.substack.com/p/letter-to-a-burnt-out-founder&quot;&gt;Letter to a Burnt-Out Founder - Tree and Forest&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=35577712&quot;&gt;Discussion on Burnout - Hacker News&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;script&gt;

function showSummary() {
  var summaryElement = document.getElementById(&apos;summary&apos;);
  summaryElement.style.display = &apos;block&apos;;
}
  
function toggleVisibility(id) {
  var element = document.getElementById(id);
  var link = document.querySelector(`a[onclick*=&quot;toggleVisibility(&apos;${id}&apos;)&quot;]`);

  if (element.style.display === &quot;none&quot;) {
    element.style.display = &quot;block&quot;;
    element.style.transition = &quot;opacity 0.5s ease-in&quot;;
    element.style.opacity = 1;
    if (link) link.innerHTML = link.innerHTML.replace(&apos;⬇️&apos;, &apos;⬆️&apos;);
  } else {
    element.style.opacity = 0;
    setTimeout(() =&gt; {
      element.style.display = &quot;none&quot;;
      if (link) link.innerHTML = link.innerHTML.replace(&apos;⬆️&apos;, &apos;⬇️&apos;);
    }, 500);
  }
}

function togglePrefaces() {
  var prefaces = document.querySelectorAll(&apos;.preface&apos;);
  var link = document.querySelector(`a[onclick*=&quot;togglePrefaces()&quot;]`);

  prefaces.forEach(function(element) {
    if (element.style.display === &quot;none&quot;) {
      element.style.display = &quot;block&quot;;
      element.style.transition = &quot;opacity 0.5s ease-in&quot;;
      element.style.opacity = 1;
    } else {
      element.style.opacity = 0;
      setTimeout(() =&gt; {
        element.style.display = &quot;none&quot;;
      }, 500);
    }
  });

  if (link.innerHTML.includes(&apos;Show details&apos;)) {
    link.innerHTML = link.innerHTML.replace(&apos;Show details ⬇️&apos;, &apos;Hide details ⬆️&apos;);
  } else {
    link.innerHTML = link.innerHTML.replace(&apos;Hide details ⬆️&apos;, &apos;Show details ⬇️&apos;);
  }

  updateReadingTime();
}

function toggleBasketball(isFan) {
  var basketballTangent = document.getElementById(&apos;basketball-tangent&apos;);
  var link = document.querySelector(`a[onclick*=&quot;toggleBasketball(${isFan})&quot;]`);

  if (isFan) {
    if (basketballTangent.style.display === &quot;none&quot; || basketballTangent.style.display === &quot;&quot;) {
      basketballTangent.style.display = &quot;block&quot;;
      basketballTangent.style.transition = &quot;opacity 0.5s ease-in&quot;;
      basketballTangent.style.opacity = 1;
      link.innerHTML = link.innerHTML.replace(&apos;⬇️&apos;, &apos;⬆️&apos;);
    } else {
      basketballTangent.style.opacity = 0;
      setTimeout(() =&gt; {
        basketballTangent.style.display = &quot;none&quot;;
        link.innerHTML = link.innerHTML.replace(&apos;⬆️&apos;, &apos;⬇️&apos;);
      }, 500);
    }
  } else {
    basketballTangent.style.display = &apos;none&apos;;
    link.innerHTML = link.innerHTML.replace(&apos;⬆️&apos;, &apos;⬇️&apos;);
  }

  updateReadingTime();
}

function updateReadingTime() {
  var readingTime = 5;
  var prefaces = document.querySelectorAll(&apos;.preface&apos;);
  var basketballTangent = document.getElementById(&apos;basketball-tangent&apos;);

  prefaces.forEach(function(element) {
    if (element.style.display !== &apos;none&apos;) {
      readingTime += 1;
    }
  });

  if (basketballTangent &amp;&amp; basketballTangent.style.display !== &apos;none&apos;) {
    readingTime += 2;
  }

  document.getElementById(&apos;reading-time&apos;).textContent = readingTime;
}

&lt;/script&gt;

</description>
        <pubDate>Wed, 23 Oct 2024 16:30:00 +0000</pubDate>
        <link>https://www.davidtran.me/burnout-and-basketball-dynasties/</link>
        <guid isPermaLink="true">https://www.davidtran.me/burnout-and-basketball-dynasties/</guid>
        
        <category>notes</category>
        
        <category>reflections</category>
        
        <category>friendship</category>
        
        <category>basketball</category>
        
        <category>running</category>
        
        <category>ai</category>
        
        <category>writing</category>
        
        
        <category>reflections</category>
        
      </item>
    
      <item>
        <title>An Archipelago of Ideas</title>
        <description>&lt;p&gt;Have you ever had that feeling when someone labels or gives you a name for a weird thing you think only you do? Normalizes it and maybe even makes it sound inspirational?&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/S29yceO92xg?si=3VgaygB4Skb7ZjY_&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;This is exactly what happened to me yesterday morning when I was walking our dog Riley while listening to Tiago Forte’s “Building A Second Brain”. I just stopped dead in my tracks as he was describing this concept— “The Archipelago of Ideas”. HOLY SH*T THIS IS HOW I WORK. HOW HAVE I NEVER HEARD OF THIS???&lt;/p&gt;

&lt;p&gt;So what is the archipelago of Ideas? Forte learned this technique from author Steven Johnson: rather than staring at a blank page, just fill it with quotes, links to papers, your own notes— lots of inspiring islands of disparate thoughts. Now instead of having to conjure up words from the ether, you can just build bridges between these ideas until you converge on the ones you want to write about.&lt;/p&gt;

&lt;p&gt;In school, I hated having to turn in outlines or rough drafts. I was terrified of group projects where I had to share in-progress writing or group coding assignments because my work was a jumbled mess. Instead of linearly writing the intro, thesis, evidence, and conclusion, I’d just paste a bunch of interesting quotes, write a sentence here, a sentence there. The first sentence I wrote might end up being the 4th sentence for the concluding paragraph.&lt;/p&gt;

&lt;p&gt;The same went for coding— I’d see people perfectly decompose functions, write this function signature, write this helper function, then that one in an order that made sense. I’d write a random regex here or a piece of logic not in a function there just hanging out on its own with squiggly lines.&lt;/p&gt;

&lt;p&gt;Eventually as an adult, I just accepted that my brain worked in weird ways, and that that was okay. But it’s more than okay—I was freaking building an archipelago in the order that made sense in my head, and then building the bridges to connect them later. I’m not a random scribbler or copy/paster and scatterbrain.&lt;/p&gt;

&lt;p&gt;I’m a motherf*cking ARCHIPELAGO ARCHITECT. So that’s the concept: an archipelago of ideas. However you work, it’s not weird, I promise. &lt;a href=&quot;https://in.flow.club?inviteCode=958&amp;amp;utm_source=davidtran.me&quot; target=&quot;_blank&quot;&gt;There’s a million ways to work— come get inspired or maybe find the words to describe how you already work, in Flow Club.&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Sat, 09 Sep 2023 07:15:00 +0000</pubDate>
        <link>https://www.davidtran.me/archipelago-of-ideas/</link>
        <guid isPermaLink="true">https://www.davidtran.me/archipelago-of-ideas/</guid>
        
        <category>notes</category>
        
        <category>reading</category>
        
        <category>reflections</category>
        
        
        <category>reflections</category>
        
      </item>
    
      <item>
        <title>GPU in the Arena</title>
        <description>&lt;p&gt;GPU in the Arena
&lt;em&gt;in the style of Theodore Roosevelt’s famous “Man in the Arena”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It is not the critic who counts; not the one who points out how the Large Language Model stumbles, or where its responses could have been better. The credit belongs to the GPU that is actually in the data center, its circuits marred by the ceaseless cycles and heat, its memory etched and re-etched by terabytes of data; which calculates without falter, which stumbles and corrects, because there is no progress without error and backpropagation; but who does actually strive to tune the parameters; who knows great enthusiasms, the great devotions; who spends itself in a worthy cause; who at the best knows in the end the triumph of artificial general intelligence, and who at the worst, if it fails, at least fails while daring greatly, so that its place shall never be with those cold and idle processors who neither know victory nor defeat.&lt;/p&gt;
</description>
        <pubDate>Thu, 27 Jul 2023 20:23:00 +0000</pubDate>
        <link>https://www.davidtran.me/gpu-in-the-arena/</link>
        <guid isPermaLink="true">https://www.davidtran.me/gpu-in-the-arena/</guid>
        
        <category>ai</category>
        
        
        <category>ai</category>
        
      </item>
    
      <item>
        <title>The feed multiverse</title>
        <description>&lt;p&gt;What used to be a single Facebook newsfeed is now a multiverse of vertical feeds across many disparate services. This is great in some ways since it allows us runners to share unabashedly to Strava, but also leaves us with only one-dimensional glimpses into friends’ lives. I see these slivers of life and get recommendations across at least these services:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.strava.com&quot;&gt;Strava&lt;/a&gt;: Training, races, fun routes, travel running 🗺&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.goodreads.com&quot;&gt;Goodreads&lt;/a&gt;: Books 📚&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.spotify.com&quot;&gt;Spotify&lt;/a&gt;: Podcasts/music (although I’m not sure anyone else pays attention to that social sidebar on desktop) 🎧&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.letterboxd.com&quot;&gt;Letterboxd&lt;/a&gt;: Movies/shows 📺&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.flow.club&quot;&gt;Flow Club&lt;/a&gt;: (Not yet quite a feed) Day-to-day work 💻&lt;/li&gt;
  &lt;li&gt;Twitter and Instagram for all the other life moments, travel, and a bit of everything ✈️👶🐶&lt;/li&gt;
  &lt;li&gt;Notifications are basically a feed as well, so then add Discord, Slack, Messages, Whatsapp, &lt;em&gt;Insert your favorite messaging app&lt;/em&gt; for misc updates and recommendations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Is anyone working on a way to recombine all of these feeds, or is that just not worthwhile anymore?&lt;/p&gt;
</description>
        <pubDate>Mon, 02 Jan 2023 16:35:00 +0000</pubDate>
        <link>https://www.davidtran.me/disparate-feeds/</link>
        <guid isPermaLink="true">https://www.davidtran.me/disparate-feeds/</guid>
        
        <category>notes</category>
        
        <category>startups</category>
        
        
        <category>startups</category>
        
      </item>
    
      <item>
        <title>A reflection on resilience</title>
        <description>&lt;p&gt;I realized this week that I’ve misunderstood what resilience meant my entire life.&lt;/p&gt;

&lt;p&gt;I thought that being resilient meant being tough, not being deterred and being able to recover and get back on track.&lt;/p&gt;

&lt;p&gt;I was wrong.&lt;/p&gt;

&lt;p&gt;I previously &lt;a href=&quot;https://www.vox.com/first-person/2016/9/27/13062230/poor-college-scholarship-opportunity&quot;&gt;wrote a post for Vox about growing up poor in East Oakland and applying to an elite private school thanks to the insistence of my amazing 5th grade teacher Mrs. Harris&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I got in, but thanks to a missed financial aid form deadline, I didn’t go there for 6th grade. I still remember how crushed I felt as a 10/11-year old. I couldn’t comprehend how tuition there could cost more than what my parents made in a year.&lt;/p&gt;

&lt;p&gt;But teachers and relatives assured me it’d be okay— they’d help me get back on track. I spent 6th grade at our local Oakland middle school, which closed down a few years later due to poor performance.&lt;/p&gt;

&lt;p&gt;I made one good friend that year, but mostly remember students making teachers cry and learning that the Pokemon game clock stopped at 255 hours. I even lost interest in making websites in HTML and Dreamweaver, which I had learned the year before.&lt;/p&gt;

&lt;p&gt;I knew money was always tight, but my parents paid for a math tutor (an old Vietnamese man with cheap rates) so that I wouldn’t fall too far behind during this lost year.&lt;/p&gt;

&lt;p&gt;That story had a happy ending. I got into the private school again, we turned in our financial aid forms on time, and I was fortunate enough to attend on full scholarship.&lt;/p&gt;

&lt;p&gt;But I never shook that feeling that I got a late start and had to work extra hard to “get back on track”.&lt;/p&gt;

&lt;p&gt;That and being a financial aid kid plus all the usual teenage angst meant years of not feeling adequate or enough.&lt;/p&gt;

&lt;p&gt;Now, 20+ years later, startups and running have taught me that “getting back on track” isn’t what we should strive for at all.&lt;/p&gt;

&lt;p&gt;Trying to get back to an imagined perfectly charted course is precisely what holds us back.&lt;/p&gt;

&lt;p&gt;This past Sunday, I was hoping to run a marathon personal best after two big years of base and the best feeling training block I had ever put together. Instead I didn’t even finish the race. That’s a story for another time, but I was pretty bummed.&lt;/p&gt;

&lt;p&gt;But that’s when I realized: Resilience really means taking time to mourn the loss of what could have been, accepting it, and fully embracing the new, uncharted path, fully confident in your values, processes, and abilities and your community.&lt;/p&gt;

&lt;p&gt;When we have a plan for our work, our training, our diets, or pretty much anything in our lives, inevitably something will knock us off course. Rather than just perpetually trying to “get back on track”, maybe we can all embrace the unknown together.&lt;/p&gt;

&lt;p&gt;Let’s be resilient!&lt;/p&gt;

&lt;p&gt;We try to &lt;a href=&quot;https://www.flow.club&quot;&gt;encourage practicing resilience in Flow Club. We declare our intentions at the beginning of every session. Flow Club sessions help block off &amp;amp; protect our time, but urgent issues and life invariably happen. We adjust and reset&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Sometimes we get back to where we were originally hoping to go, but it’s the new journey that we should embrace.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href=&quot;https://twitter.com/dtran320/status/1469096700308439046&quot;&gt;Originally published as a thread on Twitter&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 09 Dec 2021 16:08:00 +0000</pubDate>
        <link>https://www.davidtran.me/a-reflection-on-resilience/</link>
        <guid isPermaLink="true">https://www.davidtran.me/a-reflection-on-resilience/</guid>
        
        <category>life</category>
        
        <category>reflections</category>
        
        
        <category>life</category>
        
      </item>
    
  </channel>
</rss>
