141: The Era of Sol ![rw-book-cover](https://img.youtube.com/vi/MavdDdd2xF4/maxresdefault.jpg) ๐Ÿ”— **Source:** [141: The Era of Sol](https://www.youtube.com/watch?v=MavdDdd2xF4) > [!note]+ Document Notes > --- > tags: [macos-tahoe, saas-pricing, ai-coding-agents, indie-hacking, ffmpeg-tooling] > author: Ian Landsman & Aaron Francis > source: [MISSING] > reference: https://www.youtube.com/watch?v=MavdDdd2xF4 > date created: 2026-07-21 11:24 > --- > # ๐Ÿท๏ธ Title: 141: The Era of Sol > ## ๐Ÿงญ Table of Contents > - [๐Ÿ“ Summary](#-summary) > - [๐Ÿ“– Main Content](#-main-content) > - [๐Ÿ—’๏ธ Notes](#๏ธ-notes) > - [๐Ÿ“š References](#-references) > - [๐Ÿ—ฃ๏ธ Paraphrase](#๏ธ-paraphrase) > - [๐Ÿ“ฐ Newsletter](#-newsletter) > - [โœ… Action Items](#-action-items) > - [๐Ÿงช Hypotheses](#-hypotheses) > - [๐Ÿ“Š Methodology](#-methodology) > - [โ“ Questions](#-questions) > - [๐Ÿ”ฎ Future Research](#-future-research) > - [๐Ÿ’ก Implications](#-implications) > - [๐Ÿง  Learning Styles Assessment](#-learning-styles-assessment) > - [๐Ÿ“Š Accessibility Assessment](#-accessibility-assessment) > - [๐ŸŒ DEIB Assessment](#-deib-assessment) > - [โœ… Logical Validity](#-logical-validity) > - [๐Ÿ›ก๏ธ DARVO Analysis](#-darvo-analysis) > - [๐ŸŽฏ Conclusion](#-conclusion) > ### ๐Ÿ”— References > - [cfmpeg.com](https://cfmpeg.com) โ€” Aaron's remote FFmpeg-as-a-service tool, built on Modal > - [database.school](https://database.school) โ€” Aaron's course platform, referenced re: encoding pipeline > - [faster.dev](https://faster.dev) โ€” Aaron's site hosted on Laravel Forge > - [dropinblog.com](https://dropinblog.com) โ€” sponsor, headless blog CMS > - [bento.com](https://bento.com) โ€” sponsor, transactional/marketing email > - [tokentown.com](https://tokentown.com) โ€” companion show where the "Soul Ultra" run and Aaron's model training were previewed > ## ๐Ÿ“ Summary > - Ian opens with a rant that macOS Tahoe is unstable and slow, sparking a riff on Apple's software quality and a wish for a bug-fix-only "Snow Tahoe" release akin to Snow Leopard. > - Aaron reveals a side project, cfmpeg โ€” a drop-in FFmpeg replacement that offloads transcoding to Modal.com sandboxes with chunked upload/transcode/download โ€” built to solve his own video-course encoding bottleneck. > - The two debate 11 Labs vs. OpenAI for transcription/audio, then pivot to Outro (Aaron's podcast-ops tool), which just processed its first real Stripe Connect subscription sponsor. > - A World Cup recap covers the Spainโ€“Argentina final, a red-card meltdown, and third-place-game stat integrity. > - Aaron recaps a 40+ hour unsupervised "Soul Ultra" AI-agent run that cleared a backlog of ~30 small bugs/gaps in his SaaS (Outro), including billing and permission-structure fixes, with no crashes. > - The back half is a long, substantive pricing debate: should "bring your own AI key" customers be charged a flat premium (Ian's stance) or a usage-linked discount off the normal ticket-bucket price (Aaron's stance) for Helpspot's AI ticket-answering feature. > - **Stakeholders**: the two hosts as SaaS operators (Helpspot/Ian, Outro & database.school/Aaron), their respective customer bases, and indirectly Apple (Tahoe QA) and the AI-agent tooling ecosystem. > - **Risks/tradeoffs**: shipping unreliable OS updates erodes trust even from power users; usage-based AI pricing can under- or over-charge depending on whether the base cost structure is fixed or variable; unsupervised agent runs raise the question of how to validate 40 hours of unreviewed changes before customers touch them. > - **Bottom line**: the episode is a snapshot of two solo/small-team SaaS builders reasoning in public about tooling reliability, build-vs-buy trade-offs for infrastructure, and first-principles SaaS pricing under AI cost uncertainty. > ## ๐Ÿ“– Main Content > The episode has three loosely connected arcs: a complaint about consumer software quality, a demonstration of infrastructure-as-a-side-project, and a pricing argument that is really about how cost structure should map to price structure once AI inference enters a product. > **Tahoe rant.** Ian's complaint isn't cosmetic โ€” restarting a laptop every two days to keep it fast, an audio-output switcher that silently fails mid-recording โ€” these are reliability regressions, not missing features. The recurring reference point is Snow Leopard (2009), which shipped as a deliberate no-new-features, bug-fixes-only release after Leopard's feature sprawl. Both hosts want Apple's presumed next software chief to prioritize the same move: consolidate before adding (glasses, robots, etc.). > **cfmpeg as infrastructure-not-feature.** Aaron's tool matters less as a product idea ("probably not really a business") and more as a pattern: turning a painful ops problem (slow, CPU-bound video transcoding on a shared VPS) into a transparent local-binary + remote-sandbox split, using chunked streaming so encode start and download can overlap with upload. This is the same shape as build-vs-buy decisions any small SaaS runs into โ€” Aaron chose to build because no vendor (AWS, Cloudflare) offers this exact capability off the shelf. > **Soul Ultra run.** A 40+ hour unattended agent session on Outro cleared roughly 30 items โ€” security gaps, unfinished billing logic, incomplete permission enforcement โ€” surfaced by an earlier planning pass ("fable and soul"). Aaron didn't closely audit the diff; he "sent it off" and got back a working system, including a full billing/quota implementation for tiered plans. The long runtime is attributed partly to an expanding test suite that reruns in full on every change โ€” Aaron flags this as something to prune (test suite as its own maintenance burden), and separately treats routine engineering ("I built something") as unremarkable โ€” same category as "I used my IDE," not a special claim to defend. > **Pricing debate (the substantive core).** Helpspot is adding AI-assisted ticket resolution, priced by ticket-bucket volume. The wrinkle: on-premise/privacy-sensitive customers may want to bring their own OpenAI/Anthropic key, so AI calls never touch Helpspot's servers. Ian's position: charge a flat premium for the privilege (like SSO/enterprise tiers), but still charge the *same* per-ticket rate as if Helpspot were paying for inference โ€” because the price reflects the value of automated resolution (staff-time savings), not Helpspot's own COGS. Aaron's position: it's fine to charge a flat premium to cover fixed development/maintenance cost, but charging *usage-based* pricing on inference costs the customer is paying directly, out of pocket, to a third party, is double-dipping โ€” you can't meter someone else's bill. Both agree the AI feature is not a static toggle but an ongoing-maintenance cost center, which frames the fixed-fee side of the argument even where they disagree on the variable side. > ### ๐Ÿ—’๏ธ Notes > *Source has no timestamps or chapter markers, so segments below are organized by topic rather than by timestamped link โ€” adding fabricated `t=` links would misrepresent the source.* > **macOS Tahoe / Apple leadership** > - Concrete failure modes named: active-output switching for headphones breaks mid-recording; account switching is slow; a MacBook Pro with more RAM performs at roughly half the speed of the MacBook Air it replaced. > - Recurring workaround: restart every ~2 days to keep performance acceptable โ€” explicitly compared to bad-era Windows (ME / "Metro" Windows 8 UI), a sharp contrast to the other host's still-on-Sonoma, sleep/wake-and-it-just-works experience. > - Tim Cook is framed as "ruthless operations expert," not a software/product visionary โ€” evidenced by the Steve-Jobs-cluttered-office vs. Tim-Cook-Apple-Store-office anecdote โ€” and the hope is placed on a successor with the "Steve Jobs school of thought." > - Explicit ask: a "Snow Tahoe" โ€” bug-fixes-only release, echoing Snow Leopard's 2009 refinement cycle after Leopard's expansion. > **cfmpeg (the secret side project)** > - Origin problem: encoding ~50 videos for a course (e.g., "the Convex course") took days on a shared VPS; prior workarounds (local Mac Studio as a queue worker, on-demand Forge servers) were ad hoc and didn't scale across projects. > - Architecture: local `cfmpeg` binary mirrors FFmpeg's exact argument syntax; uploads run in chunks to a Modal.com sandbox; transcoding starts as soon as the first chunk lands; downloads can begin before upload finishes. Box size (vCPU count) is configurable per invocation directly from the command line. > - Product shape already exists: billing, API, downloadable binary usable inside serverless environments. Live at cfmpeg.com, explicitly not soliciting signups on-air. > - Reason it's been kept quiet: fear of "scope creep" pressure from a co-host/partner ("you're never going to retire," "software is hard") โ€” a candid admission about managing perceived focus. > **11 Labs vs. OpenAI for audio** > - Motivation to switch: OpenAI's transcription API caps uploads at 25MB, forcing audio-file chunking (hence needing FFmpeg-adjacent tooling); 11 Labs accepts whole files but is judged "expensive" and over-featured for the need. > - Push-back: 11 Labs' tiered-pricing-plus-overage model is criticized as opaque ("just tell me the meter"); the counter-argument is that 11 Labs is still qualitatively "top of the top" for transcription and worth paying for as "a businessman." > - Adjacent business decision surfaced in passing: Outro is adding a $29 plan under it (originally $99-only), reasoning that a pure high-price/free-tier split leaves money and adoption on the table. > **Outro's first real subscription sponsor** > - Bento became the first *external* party (not one of the two hosts) to use Outro's new Stripe-Connect-based recurring-sponsorship feature, auto-renewing every four episodes. > - Notable build detail: Aaron stood up a fresh Stripe account for the show specifically to dogfood Stripe Connect the way a real customer would, rather than special-casing his own show's billing. > - A production note is folded in live: ad copy needs real content in read-live slots ("as you were, sir" isn't sufficient), with a joking aside about delegating ad-copy edits to an internal automation tool ("the gopher"). > **World Cup recap** > - Spain beat Argentina in the final; Messi is described as effectively taken out of the match entirely โ€” a rare, complete shutdown. > - A second-yellow red card in the ~94th minute (after an earlier card for dissent) is criticized as reckless given the scoreline and stakes; both hosts read it as an emotional-regulation failure, not a tactical one. > - Argentina's run to the final is credited to "running good" (poker term for favorable variance) rather than dominant play โ€” twice coming back from behind โ€” with genuine respect that a win would still have been "deserving." > - Side gripe: the third-place match (ending 6โ€“4) shouldn't count toward Golden Boot stats since neither side plays real defense or fields regular starters. > **Soul Ultra / AI-agent run** > - Two large unsupervised runs referenced: one ~50-hour run against a punch list of ~30 small gaps (security holes, incomplete billing, partial permission enforcement) generated by an earlier planning pass; a second weekend run built out the complete billing system (free-tier quota limits, plan-type restrictions) though not yet the new $29 tier. > - No crashes reported across ~40+ hours; the long runtime is attributed to the agent re-running an increasingly large full test suite on every change, prompting a stated intent to prune low-value tests ("is this a legit test or... checking [nonsense]"). > - Deliberate decision to delay onboarding real users (despite 3โ€“4 people asking) until after upcoming travel, to avoid debugging live-user bugs while away โ€” a judgment call to protect focus over speed-to-ship advice heard elsewhere ("you got to ship"). > **Bring-your-own-key pricing debate** > - Framing device used repeatedly: SSO/enterprise-tier pricing, where a feature that costs the vendor nothing extra to run is still gated behind a much higher tier because the *buyer* is price-insensitive and values the compliance/control property itself. > - Ian's core claim: ticket-based pricing is a value proxy for automated resolution, not a COGS pass-through โ€” so bring-your-own-key customers should still pay the standard per-ticket rate, on top of (not instead of) an access premium, because the savings they realize (reduced headcount) dwarfs the fee either way. > - Aaron's core claim: charging usage-based fees on a cost the vendor never incurs (because the customer is paying OpenAI/Anthropic directly) is charging for something outside the vendor's own cost center โ€” acceptable to charge a flat fixed-cost premium, not acceptable to meter someone else's spend. > - Unresolved sub-question: how support cost changes if bring-your-own-key customers pick their own model/provider โ€” mismatched model quality could raise support burden in ways that complicate a clean "flat premium" answer. > - Both anticipate inference costs declining over time, but disagree on what that implies: Ian treats it as irrelevant to price (price tracks value, not cost); Aaron treats it as evidence that current usage-based pricing already over-indexes on a cost basis that's shrinking, which should make usage-pass-through for self-funded customers feel even less justified. > ## ๐Ÿ“š References > - [Snow Leopard](https://en.wikipedia.org/wiki/Mac_OS_X_Snow_Leopard) โ€” the refinement-only Apple release both hosts want repeated > - [Modal](https://modal.com) โ€” remote compute platform underlying cfmpeg > - [cfmpeg.com](https://cfmpeg.com) โ€” Aaron's tool, discussed live > - [database.school](https://database.school) โ€” referenced as a source of the encoding workload > - [dropinblog.com](https://dropinblog.com) โ€” sponsor > - [bento.com](https://bento.com) โ€” sponsor, first Outro subscription customer > - [tokentown.com](https://tokentown.com) โ€” companion show referenced for the Soul Ultra recap and Aaron's model training > ## ๐Ÿ—ฃ๏ธ Paraphrase > Ian is running on almost no sleep and opens by tearing into macOS Tahoe: it's slow, flaky with basic things like audio-output switching, and has made his new, more powerful MacBook Pro feel slower than the Air it replaced. Both hosts land on the same fix they want from Apple's next software leader โ€” a bug-fix-only release in the spirit of Snow Leopard, contrasting Tim Cook's operational genius with what they see as a missing product-visionary instinct, illustrated by the cluttered-genius vs. spotless-operator office anecdote. > Aaron then unveils a side project he'd kept quiet: cfmpeg, a drop-in replacement for FFmpeg that transparently offloads transcoding to remote sandboxes on Modal, solving his own slow-course-encoding problem with chunked upload/transcode/download pipelining. That leads into an audio-tooling tangent (OpenAI's 25MB caps vs. 11 Labs' cost and confusing tiers), a quick World Cup postmortem (Messi neutralized, a reckless red card, "running good" for Argentina), and a recap of a 40-hour unsupervised AI-agent run that cleared a long backlog of small bugs in Aaron's SaaS without incident โ€” though its long runtime points to a test suite that's grown past the point of being efficient to rerun constantly. > The back half is the meatiest part: a genuine disagreement over how to price an AI ticket-resolution feature when a customer supplies their own AI API key. Ian argues price should track the value delivered (staff-time saved), so bring-your-own-key customers still pay standard usage rates plus an access premium โ€” the same logic that justifies charging heavily for SSO even though it costs the vendor nothing extra. Aaron argues that's double-charging: fine to charge a flat fee to cover the fixed cost of building and maintaining the feature, but not fine to add usage-based fees on top of a cost the vendor isn't actually paying. Neither fully concedes; they agree to let listeners weigh in. > ## ๐Ÿ“ฐ Newsletter > Quick hits from this week's episode: a full-throated (and pretty relatable) rant about macOS Tahoe reliability, a genuinely clever homegrown tool โ€” cfmpeg โ€” that turns FFmpeg into a remote, chunked-streaming service on Modal for anyone drowning in video-course encoding, and a properly juicy SaaS pricing debate about whether "bring your own AI key" customers should pay usage-based or flat-fee pricing. If you build anything that touches AI inference costs, the fixed-vs-variable framing here (SSO-style premium vs. cost-pass-through) is worth fifteen minutes of your time. Bonus: a good-natured World Cup recap and an update on a 40-hour unattended AI coding-agent run that shipped real bug fixes with zero crashes. > ## โœ… Action Items > #### DevRel > - Not applicable โ€” no developer-advocacy, workshop, or documentation content in this episode. > #### OSPO > - Not applicable โ€” no open-source governance, licensing, or SBOM content discussed. > #### Community > - Not applicable โ€” no maintainer/contributor/sponsor-community program discussed beyond the Bento sponsorship deal itself, which is commercial, not community-governance related. > #### WordPress > - Not applicable โ€” the episode does not reference WordPress core, ecosystem teams, or related tooling. > #### The WPCC > - Not applicable. > #### FAIR > - Not applicable. > *General items surfaced directly by the hosts:* > - [ ] Prune the Outro test suite to cut low-value/redundant tests slowing agent runs โ€” Aaron, self-noted #things > - [ ] Re-evaluate 11 Labs vs. OpenAI transcription pricing/quality before rebuilding Outro's audio pipeline โ€” Aaron, self-noted #things > ## ๐Ÿงช Hypotheses > 1. Usage-based AI feature pricing that pegs cost to a vendor's own inference spend will systematically over-charge as underlying model costs fall, unless repriced regularly. > 2. Bring-your-own-key options increase adoption among privacy/compliance-sensitive enterprise buyers more than they reduce revenue per customer, mirroring SSO-tier economics. > 3. Unsupervised multi-hour AI-agent runs produce reliable output when scoped to a pre-generated punch list (planning-then-execution), but runtime scales poorly with test-suite size rather than with task complexity. > 4. Consumer OS reliability regressions (like the Tahoe complaints here) measurably increase power-user churn to older OS versions or alternative hardware even without a competing platform switch. > 5. Small-team SaaS pricing debates that reference enterprise-tier analogies (SSO, HIPAA) transfer cleanly to AI-feature pricing only when the underlying cost is genuinely fixed, not variable. > ### ๐Ÿ“Š Methodology > - Hypothesis 1: track a cohort of usage-based AI-feature customers' effective price-per-resolution over 12โ€“24 months against published model-inference price drops; test whether margin as a share of revenue grows without repricing. > - Hypothesis 2: A/B or cohort-compare adoption and churn between customers offered a flat bring-your-own-key premium vs. those offered no such option, controlling for company size/compliance requirements. > - Hypothesis 3: instrument agent-run telemetry (task count, test-suite size, wall-clock time) across multiple runs to isolate correlation between test-suite growth and total runtime independent of the number of fixes shipped. > - Hypothesis 4: survey or churn-analyze users who report OS-reliability complaints; compare retention against a matched cohort without such complaints. > - Hypothesis 5: case-study comparison of features with genuinely fixed marginal cost (SSO) vs. genuinely variable cost (AI inference) and how each vendor's chosen pricing model performed against churn/margin. > ### โ“ Questions > - If Helpspot bills bring-your-own-key customers usage-based on their own key's spend, does support cost actually rise enough (from model-switching) to justify the "double-dip" Aaron objects to? > - Does Apple's next software-leadership pick actually shift toward a refinement-first release cadence, or is "Snow Tahoe" wishful thinking from two frustrated power users? > - At what point does an autonomous agent's test suite become a net negative for iteration speed, and is pruning tests a one-time cleanup or a recurring maintenance tax? > - Would customers actually notice or care about the fixed/variable cost distinction Aaron is defending, or does it only matter to the vendor's margin structure? > ### ๐Ÿ”ฎ Future Research > - Empirical comparison of AI-feature pricing models (flat premium, usage-linked, hybrid) across a sample of SaaS vendors that have shipped bring-your-own-key options. > - Longitudinal study of macOS reliability complaints per major release, benchmarked against Snow Leopard-style refinement releases historically. > - Best practices for keeping AI-agent-generated test suites lean without losing regression coverage during long unsupervised runs. > ### ๐Ÿ’ก Implications > - **Practice**: vendors adding AI features should decide up front whether pricing tracks value delivered or cost incurred โ€” the two hosts' entire disagreement stems from picking different anchors for the same feature. > - **Security**: an unsupervised 40-hour agent run that fixes "incomplete permission structure" gaps implies the pre-run system had live authorization holes โ€” a reminder that agent-assisted hardening passes are valuable but should be verified, not just trusted because "no bugs" surfaced. > - **Education**: Aaron's course-encoding bottleneck is a common problem for course creators; cfmpeg's chunked-pipeline pattern is a reusable idea even outside his specific stack. > - **Funding models**: Outro's shift to a $29 entry plan reflects a common bootstrapped-SaaS pattern of adding a lower tier after learning the high-price-only model leaves adoption on the table. > ### ๐Ÿง  Learning Styles Assessment > - Reading level estimate: Flesch-Kincaid Grade Level โ‰ˆ 6โ€“7 (Flesch Reading Ease โ‰ˆ high-70s/low-80s) โ€” typical of unscripted conversational speech: short clauses, contractions, low subordinate-clause density, frequent interruption and restart. > #### ๐Ÿ‘€ Visual learners > - Present: none โ€” pure audio transcript, no diagrams, screenshots, or labeled visuals. > - Improve: a simple architecture diagram of cfmpeg's chunked upload โ†’ transcode โ†’ download pipeline would clarify the "start downloading before upload finishes" claim, which is hard to picture from text alone. > #### ๐Ÿ”Š Aural learners > - Present: this is a podcast โ€” the native format already serves aural learners directly. > - Improve: chapter markers/timestamps (absent in this source) would let aural learners jump to the pricing debate or the cfmpeg explanation without listening start to finish. > #### ๐Ÿ—ฃ๏ธ Verbal learners > - Present: heavy use of analogy (SSO/enterprise-tier pricing, poker's "running good," Seinfeld's "yada yada") to explain abstract points. > - Improve: a short glossary distinguishing "fixed cost" vs. "variable cost" pricing would sharpen the central pricing debate for readers unfamiliar with the terms. > #### ๐Ÿงฉ Kinesthetic learners > - Present: none directly โ€” no exercises or hands-on steps. > - Improve: a reproducible mini-lab ("swap ffmpeg for a chunked-remote-execution wrapper") would let a builder try the cfmpeg pattern hands-on. > #### ๐Ÿง  Logical learners > - Present: the pricing debate is inherently logical/structural (fixed vs. variable cost, value-based vs. cost-based pricing). > - Improve: a simple decision table (feature type โ†’ cost structure โ†’ recommended pricing model) would make the debate's underlying logic reusable beyond this one case. > #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners > - Present: the episode itself models productive disagreement between two peers as a social learning artifact. > - Improve: an explicit "we'll let listeners weigh in" prompt with a structured question (as the hosts informally do) would invite social learners to engage directly. > #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners > - Present: none explicit. > - Improve: a short self-reflection prompt ("which side of the BYOK pricing debate matches your own product's cost structure?") would suit solitary processing. > #### ๐ŸŒฟ Naturalistic learners > - Present: none โ€” no sustainability or ecosystem framing. > - Improve: n/a โ€” not a natural fit for this content. > ### ๐Ÿ“Š Accessibility Assessment > #### Screen reader semantics > - Present: n/a in the source video itself (unknown); this note applies heading structure to make the content navigable. > - Improve: publish an accurate transcript with speaker labels (this raw transcript uses ambiguous ">>" markers without consistent speaker attribution). > #### Keyboard navigation > - Present: n/a โ€” audio/video content, not interactive. > - Improve: n/a. > #### Contrast and readability > - Present: n/a โ€” no visual UI in this source. > - Improve: n/a. > #### Text resizing and reflow > - Present: n/a. > - Improve: n/a. > #### Media and captions > - Present: unknown whether the source video has captions. > - Improve: verify closed captions are accurate (auto-captions on conversational podcasts often mis-transcribe names like "cfmpeg" or "Modal"); provide a downloadable transcript. > #### Forms and interactions > - Present: n/a โ€” no forms in this content. > - Improve: n/a. > #### Standards reference > - Primary WCAG 2.2 AA gap identified: 1.2.2 (Captions, prerecorded) โ€” cannot confirm caption accuracy from a text transcript alone; flag for verification against the actual video. > ### ๐ŸŒ DEIB Assessment > #### Cultural breadth > - Present: World Cup discussion references Spain and Argentina; otherwise the content is US-centric (Apple, HubSpot/Helpspot, US SaaS pricing norms). > - Improve: no specific gap flagged โ€” the content's scope (two US-based SaaS operators) doesn't call for broader regional representation. > #### Inclusive language > - Present: casual, informal register throughout ("boy," "man," idiomatic sports/poker terms); no exclusionary language identified. > - Improve: idioms like "running good" (poker slang) could be briefly glossed for readers unfamiliar with the term. > #### Neurodiversity support > - Present: conversational structure with frequent topic drift and interruption, which can be harder to follow without segment markers. > - Improve: the topic-based headings in this note's Notes section serve this purpose in the absence of source timestamps. > #### Representation > - Present: two male hosts; no other identities represented in the source. > - Improve: n/a to flag from this content alone. > #### Psychological safety > - Present: disagreement (the pricing debate) stays respectful and explicitly deferred to audience judgment rather than escalating. > - Improve: n/a โ€” this is a positive example already. > ### โœ… Logical Validity > #### Strong reasoning > - **Analogical reasoning** (Ian, pricing debate): SSO/HIPAA enterprise-tier pricing as a precedent for charging a premium for a feature with near-zero marginal cost to the vendor. Strong because it's a well-established, verifiable market pattern (enterprise software pricing tiers) used to justify a specific pricing decision. > - **Economic/cost-structure reasoning** (Aaron, pricing debate): distinguishing fixed cost (development/maintenance) from variable cost (per-use inference spend) to argue that only the fixed portion should be charged when the customer bears the variable cost directly. Strong because it identifies a real accounting distinction rather than an appeal to what "feels fair." > - **Inductive reasoning** (both, Tahoe rant): generalizing from multiple specific failures (headphone switching, account-switching lag, restart-to-refresh behavior) to a broader claim about macOS Tahoe's overall quality โ€” supported by multiple independent, concrete examples rather than a single anecdote. > #### Fallacies > - **False equivalence risk** (Ian's SSO analogy): SSO's marginal cost to the vendor really is close to zero, but AI inference has genuine variable cost when Helpspot pays for it โ€” the analogy holds only in the bring-your-own-key case, which Ian's own argument occasionally blurs by treating "cost doesn't matter" as true across contract types. Fix: state explicitly that the analogy applies specifically to the fixed-development-cost portion, not to variable inference cost when the vendor is the one paying. > - **Appeal to future trend as settled fact** (both, on declining inference cost): both assume inference cost will keep falling and reason from that as if certain, without acknowledging this could reverse (e.g., new premium model tiers, changing provider pricing). Fix: hedge the prediction or frame it as a scenario rather than a given. > #### Tone of voice > - Casual, fast-paced, bantering โ€” heavy use of hyperbole ("biggest pile of crap Apple has ever shipped," "insanity") for emphasis rather than literal claim; the pricing debate shifts to a more measured, structured tone even while remaining informal, signaling the hosts treat it as substantively important despite the show's overall lightness. > ### ๐Ÿ›ก๏ธ DARVO Analysis > - Not applicable โ€” this is a collegial, technical disagreement between peers, not an accusation/defense dynamic. No denial, attack-the-accuser, or victim/offender reversal patterns are present. > - The closest analog โ€” the pricing debate โ€” is notable for the *absence* of DARVO-style rhetoric: both hosts state positions, acknowledge partial agreement ("I understand what you're saying"), and explicitly defer resolution to the audience rather than escalating or personalizing the disagreement. > ## ๐ŸŽฏ Conclusion > The episode's throughline is that reliability and pricing are both, ultimately, questions of matching structure to reality: Apple's software quality slipping because expansion outpaced refinement, and SaaS AI pricing needing a clear-eyed split between what's genuinely fixed and what's genuinely variable before deciding what to charge for it. Practical next step for builders: before shipping an AI-priced feature, explicitly write down which costs are fixed (development, maintenance) and which are variable (per-call inference), then decide โ€” as this episode's unresolved debate makes clear you must โ€” whether your price should track cost or track value, because those two answers diverge exactly at moments like bring-your-own-key. > ## ๐Ÿ”„ Refactor Appendix โ€” 141: The Era of Sol > ### ๐Ÿ“š Literature Atoms (H3) > #### Bring-your-own-key should pay a flat premium, not usage fees > > [!quote] > > "You can charge a premium... But then you can't say you paid OpenAI $500 last month, therefore I'm gonna charge you $500." > **Context & use**: > - Mid-episode pricing debate between the two hosts on Helpspot's AI ticket-resolution feature. > - Central operational claim: fixed development/maintenance cost justifies a flat access premium; a customer's own third-party inference spend does not belong in the vendor's usage-based meter. > **Tags**: #xref #aphorisms > **Highlight**: source transcript, no timestamp available > <!-- atomicity: 1 idea โœ“ --> > #### Price tracks value delivered, not the vendor's own cost > > [!quote] > > "I'm charging the value of answering that ticket for you... I want it to be profitable beyond covering my costs." > **Context & use**: > - Counter-position in the same debate: ticket-based pricing is a proxy for staff-time savings, so it should hold even when the vendor incurs zero inference cost. > - Directly conflicts with the prior atom โ€” the two form a genuine unresolved thesis/antithesis pair worth linking. > **Tags**: #xref #aphorisms > **Highlight**: source transcript, no timestamp available > <!-- atomicity: 1 idea โœ“ --> > #### Chunked upload lets transcoding start before upload finishes > > [!quote] > > "The transcoding starts... you could actually have a situation where you are... redownloading the first part of it before it even finishes transcoding." > **Context & use**: > - Describes cfmpeg's core architectural trick: streaming chunks through upload โ†’ transcode โ†’ download so the three stages overlap instead of running sequentially. > - Generalizable pattern for any pipeline with a slow, chunkable transformation step. > **Tags**: #xref #articleseed > **Highlight**: source transcript, no timestamp available > <!-- atomicity: 1 idea โœ“ --> > #### Refine before expanding, don't just add more features > > [!quote] > > "We've had our era of expansion. Now it's era of contraction and refinement." > **Context & use**: > - Applied to Apple/macOS Tahoe, but stated as a general operating principle for mature products with feature sprawl. > - Directly parallels the "Snow Leopard" precedent invoked earlier in the same conversation. > **Tags**: #xref #aphorisms > **Highlight**: source transcript, no timestamp available > <!-- atomicity: 1 idea โœ“ --> > ### ๐Ÿง  Permanent Candidates (H4) > #### Fixed-cost features get a flat premium; variable-cost features get usage pricing > **Claim** (one sentence, my own voice): When a feature's marginal cost to me is zero, I charge a flat premium for it the way enterprise SSO tiers do; when a feature's marginal cost is real and ongoing, I price by usage โ€” and I never charge usage-based fees on a cost that isn't actually mine to carry. > **Evidence pointer**: [[#Bring-your-own-key should pay a flat premium, not usage fees]] and [[#Price tracks value delivered, not the vendor's own cost]] > **Scope & conditions**: > - Holds when: the vendor can cleanly separate what it pays for (fixed dev/maintenance) from what the customer pays for directly (their own API key's usage). > - Breaks when: the two costs are genuinely entangled (e.g., support burden scales with the customer's choice of model/provider) โ€” then a pure fixed/variable split understates real cost variability. > **Links** (โ‰ฅ1 with annotation): > - [[Value-based pricing]] โ€” because contrasts on anchor (cost vs. value as the pricing basis) > - [[Enterprise tier gating]] โ€” because applies-in SSO/HIPAA-style feature-access pricing > <!-- atomicity: 1 idea โœ“ --> > #### Chunked pipelines overlap slow sequential stages > **Claim** (one sentence, my own voice): Any pipeline with a slow, chunkable transformation step (upload, transcode, render) should stream chunks through all stages concurrently rather than waiting for each stage to fully finish before starting the next. > **Evidence pointer**: [[#Chunked upload lets transcoding start before upload finishes]] > **Scope & conditions**: > - Holds when: the transformation can operate on partial input (most media transcoding, some data-processing jobs). > - Breaks when: the transformation requires the full input up front (e.g., operations needing global context like a full-file checksum or format requiring a complete header pass). > **Links** (โ‰ฅ1 with annotation): > - [[Streaming architecture]] โ€” because extends > - [[cfmpeg]] โ€” because evidence-for > <!-- atomicity: 1 idea โœ“ --> > ### โœ๏ธ Fleeting Queue > - [F1] Check whether Helpspot's final pricing decision on bring-your-own-key ends up flat-premium or usage-linked โ€” follow up after the show resolves it #fleeting #inbox > - [F2] Look into whether "Soul Ultra"-style long unsupervised agent runs have a standard verification pattern beyond "did the test suite pass" #fleeting #inbox > ### โ†’ Things 3 > - [ ] Draft a fixed-vs-variable cost checklist for pricing any new AI feature before it ships โ€” #things > --- > ## Full Transcript > [00:00] Hello.<br>[00:01] >> Hello, sir. You said you have a rant.<br>[00:03] I'm nervous.<br>[00:04] >> Oh, first of all, let me tell you, I<br>[00:07] slept like four hours last night in two<br>[00:09] separate blocks total. So, I'm a little<br>[00:11] delirious. You're getting delirious,<br>[00:13] Ian. This is<br>[00:15] >> top my game.<br>[00:18] So, I had to Here's my rant, though.<br>[00:23] Tahoe is the biggest pile of crap Apple<br>[00:26] has ever shipped. It's absolutely<br>[00:28] terrible. Wow.<br>[00:29] >> I spend hours every week fighting it. I<br>[00:33] We're trying to record this podcast. I<br>[00:35] had to restart my computer because my<br>[00:37] headphones are connected but won't<br>[00:40] become the active output. It's insanity.<br>[00:44] Everything is slow. The account<br>[00:45] switching is slow. It's crazy. I had a<br>[00:49] MacBook Air that I got rid of because I<br>[00:52] was like, you know, the RAM price is<br>[00:53] going to go crazy. I know they're going<br>[00:54] to make these computers twice the price.<br>[00:55] So, I'm just going to get the MacBook<br>[00:56] Pro with a bunch of RAM, which was<br>[00:58] accurate, but now I'm forced to Tahoe.<br>[01:02] And this MacBook Pro is like half the<br>[01:04] speed the Air was. It's freaking crazy.<br>[01:08] >> That's why we don't That's why we don't<br>[01:10] use Tahoe. I [laughter] still haven't<br>[01:11] upgraded because it sucks.<br>[01:14] >> It's It's We are talking like Windows,<br>[01:19] you know, bad Windows XP or was that the<br>[01:22] good one? Whichever. Which was the good<br>[01:23] one. That was the one. Windows XP was<br>[01:25] the good one. Yeah.<br>[01:26] >> The the what was the one? The one where<br>[01:27] they made it like an iPad UI. That was a<br>[01:29] bad one, right? Like<br>[01:30] >> uh Windows ME Millennial Edition or<br>[01:34] >> all the Windows<br>[01:35] >> I think when they switched to like the<br>[01:37] Surface version and it had all those<br>[01:39] tiles<br>[01:39] >> Metro and all that.<br>[01:41] >> Yeah. Yeah. Yeah. Yeah.<br>[01:42] >> Well, this is that this is back to the<br>[01:44] days of like I I just let me restart my<br>[01:47] computer every two days so it's all<br>[01:49] fresh and it works fast for a day. Like<br>[01:52] it's insanity. I don't understand what's<br>[01:55] going on.<br>[01:56] >> My my my Mac OS Synoma serves at my<br>[02:00] pleasure. I unplug stuff. I It's running<br>[02:03] and I just It's in clamshell mode and I<br>[02:05] just disconnect all the cables and walk<br>[02:07] out the door<br>[02:08] >> and then I open it when I get home and<br>[02:09] I'm like, "Figure it out, man." And it<br>[02:11] just figures it out. It's great.<br>[02:13] >> You never update. Never update. They<br>[02:15] need a Snow Leopard release. They need<br>[02:17] Snow Tahoe where all they do is fix<br>[02:21] bugs. All they do is fix bugs.<br>[02:23] >> This is what I want to hear from John<br>[02:25] Turnis.<br>[02:25] >> This is what I'm hoping John Turnis will<br>[02:27] do. I love I love Tim Cook. He's a<br>[02:30] ruthless operations expert and I have a<br>[02:33] lot of respect for that. Um he in my<br>[02:36] opinion is not he's not a software guy.<br>[02:39] He's a supply chain guy. And so I'm<br>[02:42] hoping this new I'm hoping this new guy<br>[02:45] uh is more of the Steve Jobs school of<br>[02:49] thought than the Tim Cook school of<br>[02:51] thought. Tim Cook great COO and you<br>[02:54] can't argue with the stock's performance<br>[02:57] uh under him as CEO, but I do think we<br>[03:00] need a little bit of vision back in the<br>[03:02] game over there.<br>[03:03] >> I think just a guy Tim Cook strikes me<br>[03:05] as a guy he works off his iPad and like<br>[03:07] that's fine, right? He's iPad guy. It's<br>[03:10] lighter. It's easier. He's just typing a<br>[03:12] million emails a day. He's got the<br>[03:13] little keyboard thing, right? And the<br>[03:15] iPad never It's never slow. It's a<br>[03:17] freaking iPad. It's fine. Right.<br>[03:19] >> How could it be? Yeah.<br>[03:20] >> Right. But like Turnis, I'm hoping is a<br>[03:23] Mac guy. And when he's like, "Boy, I<br>[03:25] switch over to my AI account and I use<br>[03:27] my little finger fast switcher thing and<br>[03:29] it's slow. Why is that? Oh, my<br>[03:30] headphones don't work. That sucks." Like<br>[03:32] I want him to be annoyed by these things<br>[03:34] and heads to roll because he's like,<br>[03:36] "Why the hell does it work like this?"<br>[03:38] Have you seen the juxtiposition of the<br>[03:40] Steve Jobs office and the Tim Cook<br>[03:43] office? Like when they're they're actual<br>[03:45] personal offices,<br>[03:47] >> the Steve Jobs office is like Einstein's<br>[03:50] office uh at his death um<br>[03:53] [clears throat] at Einstein's death. The<br>[03:54] Steve Jobs office has a giant like iMac<br>[03:57] in the middle and then it's just<br>[03:59] surrounded by detritus just papers and<br>[04:03] documents everything.<br>[04:05] The uh Tim Cook office is basically like<br>[04:09] an Apple store, but it cost, you know,<br>[04:12] maybe double or triple the cost of it.<br>[04:14] Um, but it's just this sleek office, not<br>[04:18] a thing to be found. Maybe like four<br>[04:20] framed pictures on the floor leaning<br>[04:22] against the wall,<br>[04:23] >> but there's just nothing out of place<br>[04:26] because there's nothing in there. Um,<br>[04:28] and I think it just really illuminates<br>[04:30] the difference between like creative<br>[04:31] genius and strategic operational genius.<br>[04:34] just different. They're just playing<br>[04:36] different games.<br>[04:37] >> He doesn't have a bunch of prototypes<br>[04:39] laying around that he was playing with<br>[04:41] like Yeah,<br>[04:42] >> he's just<br>[04:44] >> Yeah. And I love Tim Cook Operations<br>[04:46] guy. This is why we call them iPhones.<br>[04:47] This is why the iPhone hasn't gone up in<br>[04:49] price in 10 years or something crazy<br>[04:51] like that's<br>[04:51] >> why they can make a billion of them and<br>[04:53] they're all good. Yeah.<br>[04:54] >> And they're still making 40% margins on<br>[04:56] a thing they haven't raised the price on<br>[04:57] in 10 years because he's a genius and<br>[04:59] that's great. But<br>[05:00] >> it's time to come back around. We<br>[05:02] absolutely need the snow leopard or<br>[05:04] whatever that thing was called and let's<br>[05:06] fix the stuff. Got 8 million features<br>[05:08] you shipped. Let's bring it back<br>[05:09] together. Let's make it all work nice.<br>[05:11] Nice.<br>[05:11] >> We've had our era of expansion. Now it's<br>[05:14] era of contraction and refinement.<br>[05:17] >> Refinement. They don't have to contract.<br>[05:18] They have to refine. I like that too.<br>[05:20] >> Yes. Refine what we have. We got a lot<br>[05:23] of stuff. I'm sure they're working on<br>[05:25] new stuff that's whatever. Some their<br>[05:27] tabletop robots and their glasses and<br>[05:29] their stuff. Okay. before that stuff<br>[05:31] comes out. Let's make sure the stuff we<br>[05:34] have is working. Let's do that.<br>[05:37] >> A lesson for us all. In fact, [laughter]<br>[05:40] >> you you did just spring a side project<br>[05:42] to your side project on me yesterday.<br>[05:44] You're like, I got a thing that does<br>[05:45] that. Here it is. I got a side project<br>[05:47] to my<br>[05:47] >> project. There's there's a possibility I<br>[05:50] don't tell you about some things because<br>[05:52] you're going to tell me things I don't<br>[05:55] want to hear like what are you doing or<br>[05:58] you should focus or you're never going<br>[06:01] to retire or software is hard.<br>[06:04] >> So sometimes sometimes I'll do things in<br>[06:06] secret. I keep it secret even from you<br>[06:10] Ian. And yesterday,<br>[06:11] >> yesterday I was in church paying very<br>[06:13] close attention to the sermon and then I<br>[06:15] checked my phone just for a second to<br>[06:17] see what was going on. It was like a<br>[06:18] little downtime, you know, it wasn't it<br>[06:21] wasn't during the sermon and I see<br>[06:23] >> I see Ian talking about this problem in<br>[06:26] a Telegram group I'm in. And I'm like,<br>[06:28] "Ah, man. Hey, Ian, I got a I built out<br>[06:31] a full solution for this, by the way,<br>[06:34] but I've I only use it and I've never<br>[06:36] ever told anyone about it." And then I<br>[06:39] go back to paying attention to the<br>[06:40] sermon. So<br>[06:41] >> nothing that makes me feel more like I<br>[06:42] want to use that in my production app<br>[06:44] than I use this occasionally for myself.<br>[06:47] You can use it too.<br>[06:48] >> It's very good. I will say<br>[06:50] >> you have a nice homepage. I mean it's<br>[06:51] like it's ready to go as far.<br>[06:52] >> Let's just talk about it. Why not? Why<br>[06:54] the hell not? Let's just say<br>[06:56] >> you were trying to do some FFmpeg stuff.<br>[06:58] Um, FFmpeg notorious or famous maybe for<br>[07:03] being uh able to use every single core<br>[07:07] on the machine. Um, it can be pretty<br>[07:10] heavy. It can max out. It can fully<br>[07:12] saturate all these cores doing this<br>[07:14] transcoding, re-encoding, all this<br>[07:16] stuff.<br>[07:17] >> Hard hard to get good throughput on uh a<br>[07:22] VPS web server. So in my case, I'm I've<br>[07:26] got a lot on uh I've got database school<br>[07:29] on Laravel Forge. I've got faster.dev on<br>[07:32] Laravel Forge. So the issue is when I<br>[07:36] when I have like a course that I upload,<br>[07:38] let's say the Convex course, and I've<br>[07:40] got 50 videos that need to be encoded.<br>[07:44] Uh that is going to literally take days.<br>[07:48] And we've been through this whole mess,<br>[07:49] right, where I'm like, I'm going to set<br>[07:51] up my local Mac Studio as a Q worker for<br>[07:55] my remote web server cuz it's beefy, and<br>[07:58] then I'll just transcode it there. I'm<br>[08:00] going to spin up Forge servers on demand<br>[08:04] and transcode it there.<br>[08:06] >> And it just started becoming a pain<br>[08:08] across these these different uh<br>[08:11] properties, these different web apps<br>[08:13] that need to do encoding. So, I built<br>[08:16] something that works great and nobody's<br>[08:19] ever heard of.<br>[08:20] >> Yes, Ian.<br>[08:22] >> This is no different than saying I used<br>[08:25] my IDE to build it. This is just how we<br>[08:28] build things now. I built something.<br>[08:30] Okay.<br>[08:31] >> Okay. All right.<br>[08:32] >> It's just a tool. I don't say I used a<br>[08:34] hammer to build the house. I say I built<br>[08:36] the house. Okay.<br>[08:38] >> First of all, so I built something. um<br>[08:41] it is both a local binary and a remote<br>[08:45] execution environment. So<br>[08:48] >> okay<br>[08:48] >> now instead of just typing ffmpeg you<br>[08:52] type cfmpeg for cloud ffmpeg. So it's a<br>[08:56] local binary called cfmpeg. It takes all<br>[08:59] the exact same arguments as ffmpeg.<br>[09:02] >> Mhm.<br>[09:03] >> But in uh in the background, it uploads<br>[09:08] uh and there's some very clever parts<br>[09:10] about it, but just broadly it uploads<br>[09:13] your video file to a remote sandbox that<br>[09:17] runs on modal. So modal.com has all<br>[09:20] these like big beefy VPS's or I guess I<br>[09:23] don't know if they're actually VPS's but<br>[09:25] you can get GPU enabled and like super<br>[09:28] CPU enabled which is where FFmpeg<br>[09:30] thrives.<br>[09:31] >> So behind the scenes it uh provisions<br>[09:34] your own sandbox and it uploads your<br>[09:37] video and it does all the transcoding,<br>[09:39] re-encoding, everything that FFmpeg<br>[09:41] does. It does it on modal and then it<br>[09:43] streams it back down. So from your<br>[09:45] perspective, it's as if you ran it<br>[09:48] locally. It's just way faster.<br>[09:51] >> And so some of the some of the things I<br>[09:53] was able to pull off is like uh fast<br>[09:57] starting. So I upload the video in<br>[09:59] chunks and when the first chunk arrives<br>[10:02] at Modal, the transcoding starts. And so<br>[10:06] you could actually have a situation<br>[10:08] where you are transcoding a video and<br>[10:12] you're already reddownloading the first<br>[10:15] part of it before it even finishes<br>[10:17] transcoding. So, it's this nice like<br>[10:20] upload in chunks, start transcoding or<br>[10:23] running these commands in chunks, and<br>[10:24] then start downloading before you might<br>[10:27] even start downloading before it's<br>[10:28] finished uploading because you can do it<br>[10:30] all in chunks<br>[10:31] >> and it just comes back like the output<br>[10:34] just comes back as regular ffmpeg<br>[10:36] output. So, if you were like ah and<br>[10:38] write it to this file, it would write to<br>[10:39] that file. But it all happens on modal<br>[10:42] and you can configure you can configure<br>[10:45] the size of the box just directly from<br>[10:48] your ffmpeg command. So you can say I<br>[10:50] want you know 32 vCPUs for this encoding<br>[10:54] job and I want four for this one or<br>[10:56] something. So<br>[10:57] >> it's a full-on thing. It's got billing.<br>[11:00] It's got you know it's got API. You can<br>[11:03] download the binary and put it on your<br>[11:05] You could download the binary and put it<br>[11:07] in like a serverless environment and you<br>[11:11] could still run it in a serverless<br>[11:13] environment which is kind of neat. So<br>[11:15] cfmpeg.com<br>[11:17] don't sign up for it.<br>[11:20] [laughter]<br>[11:20] >> Don't sign up for it. Is it is it<br>[11:22] blocked or no?<br>[11:24] >> No, it's it's just out there.<br>[11:25] >> It's working. Okay. All right.<br>[11:27] >> cfmpeg.com. I think I have a new landing<br>[11:30] coming business because I feel like you<br>[11:31] know what's weird about this ffmpeg<br>[11:33] stuff is that like even like AWS<br>[11:35] Cloudflare like nobody has the tools to<br>[11:37] do this. So I feel like if it was a<br>[11:40] thing that a lot of<br>[11:41] >> they're not trying hard enough<br>[11:42] >> they would it would exist but it doesn't<br>[11:44] exist. So I feel like it's like not<br>[11:46] really a business probably. But<br>[11:48] >> that's where you're wrong. They're just<br>[11:50] they need to try harder. Yeah.<br>[11:51] >> Okay. All right.<br>[11:53] >> This is a good website. This landing<br>[11:55] page is good. How long ago did you build<br>[11:57] this thing?<br>[11:59] >> Oh, probably four or five months ago.<br>[12:02] >> Okay. You still using it?<br>[12:05] >> Yep.<br>[12:07] >> I'm hoping I don't even need to do any<br>[12:09] of that stuff. I just need to like I<br>[12:11] start Outro was using 11 Labs because<br>[12:14] it'll take like the whole audio file at<br>[12:16] once.<br>[12:17] >> Sure.<br>[12:18] >> But 11 Labs is super weird. It's quite<br>[12:21] expensive. It just does a bunch of stuff<br>[12:23] I don't need. it just seems like<br>[12:25] overkill and weirdness for no reason.<br>[12:27] Um, so I was like, let me just move to<br>[12:28] the OpenAI. They have the thing. Open<br>[12:30] AAI is actually better in a couple ways.<br>[12:33] And but OpenAI only accepts 25 megabyte<br>[12:38] chunks.<br>[12:39] >> So it's like I have to slice this audio<br>[12:41] file. So I think I need FFmpeg. This is<br>[12:43] what the AI thinks I should use. I don't<br>[12:45] know. Maybe there's some dumber way to<br>[12:46] do it. I wonder, can you just slice an<br>[12:48] MP3 in the middle?<br>[12:49] >> I don't know.<br>[12:50] >> You think I could just slice it? I would<br>[12:52] just keep using 11 personally. I I'll<br>[12:56] abide I will abide no 11 Labs slander. I<br>[12:59] think<br>[13:00] >> I think 11 I think 11 is<br>[13:03] >> top of the top. Um<br>[13:05] >> interesting.<br>[13:07] >> Yeah, let me revisit it. You they do<br>[13:09] this thing that I hate which is like you<br>[13:11] can't even understand the pricing<br>[13:12] really. It's like there's seven tiers.<br>[13:14] Why are there seven tiers of like<br>[13:15] creator and this thing<br>[13:17] >> and then yeah, you get a certain amount<br>[13:19] of credits. So ultimately, you're just<br>[13:20] paying for your overages because you're<br>[13:22] going to have overages because that's<br>[13:23] the whole they're not covering like your<br>[13:25] whole usage. So it's like I don't care<br>[13:28] for that model. Like if you're a metered<br>[13:30] thing, just say what the meter is and<br>[13:32] let me pay at the metered level and<br>[13:34] that's it. So anyway,<br>[13:36] >> I use 11 for all my transcription.<br>[13:38] >> It's great.<br>[13:39] >> Yeah, I do.<br>[13:40] >> I do. There's just just no beating it.<br>[13:44] You could string together. You could<br>[13:46] string together<br>[13:47] uh your goofy little setup, but you're a<br>[13:50] businessman. You should just use 11<br>[13:52] Labs.<br>[13:53] >> Well, here's the other thing. I'm trying<br>[13:55] to like do what I didn't want to do for<br>[13:57] Outro, which I can still do. This isn't<br>[13:59] like the killer thing of it, but like to<br>[14:02] have a $29 plan. I was going to have<br>[14:04] only a $99 plan,<br>[14:06] >> but I was like, there's so many people<br>[14:07] who aren't going to pay $99. Obviously,<br>[14:10] there'll be a free plan, but the free<br>[14:11] plan sucks because it doesn't have the<br>[14:12] AI and whatever, blah blah. I mean,<br>[14:14] it'll be fine for a lot of people.<br>[14:15] That's fine if you just want the cambian<br>[14:17] stuff.<br>[14:18] >> Um,<br>[14:20] >> so I don't know. I was like, the AI<br>[14:21] convinced me that I'm leaving too much<br>[14:23] on the table by not having like some<br>[14:25] type of more approachable plan.<br>[14:28] So, I was like, fine.<br>[14:30] I don't know. Anyway, I don't want to<br>[14:33] get down that road. All right, let me re<br>[14:34] look at 11 Labs and do a real analysis<br>[14:37] cuz then I won't have to rebuild<br>[14:38] anything which is nice. And<br>[14:41] well, it all already works so maybe it's<br>[14:44] fine.<br>[14:44] >> While you look at 11 Labs, let me tell<br>[14:46] you about two of my dear friends.<br>[14:48] >> Oh yeah, great idea.<br>[14:50] >> My first dear friend is Dropin Blog.<br>[14:53] Dropin blog is a headless blog CMS with<br>[14:57] a first class Laravel SDK, which means<br>[15:00] you get your domain, your design, your<br>[15:03] stack, and it doesn't say this here, but<br>[15:06] because it's your domain, you get your<br>[15:08] root level SEO. So, you can keep all of<br>[15:11] that on your own property. Check them<br>[15:14] out at dropinblog.com.<br>[15:17] And if we didn't convince you last week<br>[15:19] that blogging is not dead, well then you<br>[15:21] are unconvincible because we made a<br>[15:23] pretty good argument. Now our other<br>[15:25] friend, Bento, brought to you by Bento<br>[15:29] at bento.com.<br>[15:32] This just says the sponsor copy that<br>[15:35] Jesse Hanley himself wrote says, "As you<br>[15:39] were, sir." So we're just gonna do it<br>[15:42] live. Bento is the best way to send<br>[15:45] marketing and transactional email with<br>[15:48] AI. And check out their new<br>[15:50] transactional pricing, which I believe<br>[15:53] is free for up to it's up like free for<br>[15:56] up to a hundred emails and then 9 cents<br>[15:59] per uh 1,000 after 12,500 emails. So you<br>[16:05] can send 12,500 emails for $5. So check<br>[16:09] them out at bento.com.<br>[16:12] Thank you to uh Jesse and Jesse. They're<br>[16:15] both Jesse. Thank you to the Jess's for<br>[16:18] sponsoring this show. Small production<br>[16:20] note for Ian. Uh we got to make sure<br>[16:23] that there's actual ad copy in here cuz<br>[16:25] as you were sir, you know, kind of it<br>[16:27] kind of spiked my cortisol a little bit<br>[16:29] and I was like, "Oh, I remember this. I<br>[16:31] remember what what Bento does. I know<br>[16:33] it." But hey, give the man a little help<br>[16:36] here. Uh, luckily we have the ability to<br>[16:39] edit the the content of the ads in batch<br>[16:42] for shows that haven't aired. So, we can<br>[16:44] do that in the sponsor section. So, I<br>[16:46] will update that.<br>[16:47] >> Put put the gopher on it.<br>[16:49] >> Yeah, the go I don't know if the gopher<br>[16:51] can actually do that. We should let him<br>[16:52] do that. But,<br>[16:53] >> make the gopher be able to do that and<br>[16:55] then put the gopher on it.<br>[16:56] >> Well, there's definitely a page where we<br>[16:57] can do it in the sponsor section, but it<br>[16:58] would be cool to have the gopher be able<br>[17:00] to do it. Um,<br>[17:02] Bento. So, I didn't let a person into<br>[17:04] Outro yet, but Bento is the first non<br>[17:07] one of us to use a feature of Outro,<br>[17:09] which he is now a subscription sponsor<br>[17:11] to the show. So, every four episodes,<br>[17:13] >> he will be renewing uh automatically.<br>[17:17] >> So, you built in you built in Stripe<br>[17:19] subscriptions into Outro.<br>[17:22] >> Yes. Through that crazy connect thing,<br>[17:25] it's all nuts. So now I had to create a<br>[17:27] new Stripe account for the show so we<br>[17:29] could do the Stripe Connect thing,<br>[17:31] whatever. Blah blah blah.<br>[17:32] >> Oh, so you're not even you're doing it<br>[17:35] the proper way that a c a future<br>[17:37] customer of yours would do it,<br>[17:39] >> right? Yeah.<br>[17:40] >> Oh, that's good.<br>[17:41] >> Yeah. So this actually using the real<br>[17:43] stuff, real customers use.<br>[17:45] >> There's a f I think by right now it's<br>[17:48] like 5% fee to use the sponsorship<br>[17:50] stuff. So that gets peeled off. Um,<br>[17:54] so I think I set R to zero though. I<br>[17:56] made a way you can override because it's<br>[17:58] us. Um,<br>[18:01] so yeah. So I don't know. Stuff's<br>[18:03] happening. Um, I'm too exhausted to get<br>[18:05] into all that. But anyway, stuff is<br>[18:07] going on there. Blah blah blah. Thanks<br>[18:09] everybody for sponsoring. He's the first<br>[18:11] sponsor to use new sponsor tool. That's<br>[18:14] cool. Um,<br>[18:15] >> you just Seinfeld. You just you just<br>[18:17] yada yada yada the best part. You just<br>[18:19] blah blah blah the best part. All the<br>[18:21] interesting technical you yada yada it.<br>[18:24] That's unbelievable.<br>[18:24] >> Tired.<br>[18:25] >> All right. Tired man.<br>[18:26] >> Can we talk about World Cup for a<br>[18:28] minute? Let's reset on World Cup.<br>[18:29] >> Let's reset on World Cup. But then I<br>[18:31] want to hear you let uh you let Soul rip<br>[18:34] for 48 hours. I want to hear the<br>[18:35] aftermath of that.<br>[18:36] >> Yeah.<br>[18:37] >> I want to hear if we landed anything and<br>[18:40] then we teased it on Tokentown<br>[18:42] tokentown.com<br>[18:44] uh that Aaron is training a model. So we<br>[18:46] can talk about that. But let's let's<br>[18:48] wake up pricing stuff. I have help<br>[18:50] placing stuff. You want your actual<br>[18:51] >> some World Cup. What is uh what's your<br>[18:54] opinion on Spain Argentina there?<br>[18:56] >> Ah, Spain was the better team. So<br>[18:58] annoying.<br>[18:58] >> Spain was the better team. So annoying.<br>[19:01] >> Let them hang around and it would have<br>[19:03] been crazy. Just snuck one in there and<br>[19:07] >> Yeah, I I don't know if I've ever seen a<br>[19:09] game ever where Messi was shut down as<br>[19:10] this. Like<br>[19:11] >> Messi was nonexistent on the field<br>[19:14] >> in Spain, in Paris. I don't think I've<br>[19:18] ever seen him this just totally out of<br>[19:20] the game. Just gone.<br>[19:21] >> Completely out of the game. It's like he<br>[19:22] wasn't even there.<br>[19:23] >> Yeah, it was pretty impressive, I have<br>[19:25] to say.<br>[19:25] >> How about that horrific tackle in like<br>[19:27] the whatever the 94th minute or whatever<br>[19:30] it was that got that guy the second<br>[19:31] yellow.<br>[19:32] >> Yeah, that was a dumb move. I don't know<br>[19:34] what he<br>[19:34] >> was both of his cards were so dumb. He<br>[19:37] got a card for descent, which get your<br>[19:39] head on your shoulders. This is a World<br>[19:41] Cup final. What the hell are you doing?<br>[19:43] And then you're on a yellow card and you<br>[19:46] fly into a tackle that literally makes<br>[19:49] the guy do a 360. Like what are you<br>[19:51] thinking?<br>[19:52] >> It's very bizarre. It's like you want to<br>[19:54] play down a man. He like doesn't you're<br>[19:56] getting destroyed but you're somehow<br>[19:58] still in the game. Like don't<br>[20:01] >> emotional regulation whatsoever. That<br>[20:03] was that was unbelievable.<br>[20:04] >> That was very bad. So the wheels came<br>[20:07] off a little bit there. Um, I guess<br>[20:10] frustration, but it's still 000. Like,<br>[20:12] yes, you're getting destroyed, but<br>[20:14] you're somehow still have it 00. So, you<br>[20:16] got to hold together. You can't just<br>[20:17] kicked out of the game on a<br>[20:19] >> completely ridiculous. Totally<br>[20:22] pointless. It's not like, oh, he's<br>[20:23] >> totally pointless. It was behind<br>[20:27] turn down like<br>[20:29] >> Yeah, it's the middle of the field.<br>[20:30] Like, okay, he maybe he got past you,<br>[20:31] whatever. Like, there's still seven guys<br>[20:33] behind you. Like, it's fine. You don't<br>[20:34] have to like take this guy out.<br>[20:36] >> Don't murder this guy. Jeez,<br>[20:38] >> it was very frustrating. It was one of<br>[20:40] the worst games of the World Cup really,<br>[20:42] like entertainment wise.<br>[20:44] >> Yeah, I was I was very disappointed. I<br>[20:47] >> I think a lot of people I'm learning<br>[20:49] hate Argentina.<br>[20:51] >> Um but I just wanted I just wanted Messi<br>[20:54] to win. That's all I wanted. It's not<br>[20:56] that complicated. Yeah,<br>[20:58] >> exactly. [laughter]<br>[21:00] >> Uh he made it back. He probably<br>[21:01] shouldn't have. You know, they beat<br>[21:02] Egypt there. They got they got some<br>[21:04] lucky goals along the way, so they had a<br>[21:07] good run. Yeah, they they if they had<br>[21:09] won, it would have been deserving.<br>[21:11] >> It would have been it would have been<br>[21:12] fine. They they came back from behind<br>[21:16] twice to win. Like<br>[21:18] >> that's not not deserving, but like they<br>[21:21] ran good as we would say in poker. You<br>[21:23] know, they had some run good where like<br>[21:25] they got teams made errors, they<br>[21:27] capitalized, which is how it's supposed<br>[21:29] to be. But uh [sighs] I don't know. I<br>[21:32] would have liked to see Messi take it<br>[21:33] down. But<br>[21:34] >> when they went down 10, I thought, "Oh,<br>[21:36] thank God they're Argentina is going to<br>[21:38] win two to one now." [laughter] But it<br>[21:40] didn't happen. Like it never it never<br>[21:42] materialized. I was that was fun.<br>[21:45] >> It was This is also one of the first<br>[21:46] times like I feel like Messi's sort of<br>[21:49] walking never really is a factor in the<br>[21:52] game. It's fine. Like he ends up where<br>[21:53] he used to be.<br>[21:54] >> Yeah. He doesn't play a lot of defense,<br>[21:56] but they built a defensive oriented<br>[21:58] team, so it kind it doesn't you never<br>[22:00] are like, "Boy, they need that<br>[22:01] defender." But this was the first game<br>[22:03] where I felt that way too. I was like,<br>[22:04] boy, Bessie, like we really need Messi<br>[22:06] to play some defense here. And he's<br>[22:08] like, it's just not that. He doesn't<br>[22:09] have that in the<br>[22:10] >> You're down a man<br>[22:12] >> and you're still walking around cuz<br>[22:14] you're 39, which brother, I get it. Like<br>[22:16] I totally get it. Um, but I'm not in the<br>[22:19] World Cup. So,<br>[22:21] >> yeah, that's hurt. That's where like,<br>[22:23] man, coaching wise, you just can't let<br>[22:24] that play that player cannot get that<br>[22:26] red card. He just can't like he's got<br>[22:28] another situation be like we're<br>[22:30] basically playing down a man already<br>[22:31] like when it comes to defense. We can't<br>[22:33] have too<br>[22:34] >> you gotta get him off the field.<br>[22:36] >> Just sub sub him out. So that that was<br>[22:39] too bad. Um and I'm also sad that the<br>[22:41] whole thing is over.<br>[22:43] >> Like it was it was a good month even<br>[22:45] after the group stage ended. I was like,<br>[22:48] "Oh man,<br>[22:49] >> there's not four games a day anymore."<br>[22:51] Like getting back to the real world,<br>[22:54] which sucks. Um<br>[22:55] >> yeah,<br>[22:56] >> but great tournament, very happy with uh<br>[23:00] almost all of the games. The the third<br>[23:03] place game was just like a was an<br>[23:05] all-star mess around, you know, ended<br>[23:08] 64, which was a lot of fun, but a little<br>[23:10] bit insane. Um<br>[23:11] >> that was a little insane.<br>[23:13] >> So that was fun. But I do agree that uh<br>[23:16] third place games should not have<br>[23:19] bearing on Golden Boot stats because<br>[23:22] that's like<br>[23:24] >> there's no stakes. You're just there<br>[23:26] because the Federation forced you to<br>[23:28] play for third place. You don't super<br>[23:30] care. You're not playing defense. And so<br>[23:33] it ends 64 and you're like, "Oh, that's<br>[23:36] not totally fair." Um<br>[23:38] >> they're not playing their starters.<br>[23:40] Yeah. Like the whole thing is like<br>[23:41] >> Yeah. Harry Kane, I don't even think<br>[23:43] played a minute if I recall correctly.<br>[23:46] So, all right. Let's see what else you<br>[23:49] got. You want to do you want to do your<br>[23:50] Fable uh or I'm sorry, your Soul Ultra<br>[23:53] recap or do you want to do some pricing<br>[23:56] followup?<br>[23:56] >> Ultra uh my Soul Ultra I talked about on<br>[23:59] Token Town, but basically I sent it off<br>[24:01] for 50 hours or something. It did some<br>[24:04] stuff. It fable and soul came up with a<br>[24:06] plan of stuff that still needed to<br>[24:08] happen in outro. I looked at it briefly.<br>[24:11] I said, "Go forth and fix all those<br>[24:13] things. They seem reasonable." And it<br>[24:15] went forth and it seems to have fixed<br>[24:17] them all. I any bugs at all? It's kind<br>[24:19] of crazy. It went for 40 something hours<br>[24:20] without an issue.<br>[24:21] >> So, did did you did you land at all? Do<br>[24:23] the features work? Did you test it?<br>[24:25] Like, are you happy with the output? We<br>[24:27] we covered I think on Token Town, we<br>[24:29] covered that it was running, but we<br>[24:30] didn't get to the here's<br>[24:33] >> here's the result.<br>[24:35] >> So, it was all a lot of fiddly stuff and<br>[24:38] I uh did not check it that closely. It<br>[24:40] was like a lot of not super fiddly, but<br>[24:41] it was like, oh, like here's some gaps<br>[24:44] in the security stuff, which is, you<br>[24:45] know, good stuff. Here's some like um<br>[24:48] things with the billing stuff that's<br>[24:50] that are unfinished and here is this and<br>[24:53] that. So, it was like a lot of like<br>[24:55] little thing that was unfinished, little<br>[24:57] thing that doesn't actually properly<br>[25:00] implement<br>[25:01] the permission structure in a few spot<br>[25:03] like it was like a lot. It was like 30<br>[25:05] things like that and it did them. I<br>[25:09] don't really know why it took 40 hours.<br>[25:12] That part was a little weird. Like I<br>[25:13] mean it's like super testing and<br>[25:14] retesting and now it always runs the<br>[25:16] full test suite and now the test suite's<br>[25:17] really big which I kind of want to go<br>[25:19] through that and be like<br>[25:20] >> might spend 20 hours on a run of go<br>[25:22] through this test suite go through every<br>[25:24] test and is this like<br>[25:25] >> a legit test or is this just some<br>[25:27] [ย __ย ] where you're checking like<br>[25:28] >> right checking<br>[25:31] freaking hate that crap.<br>[25:32] >> Yeah. So like I know there's some of<br>[25:34] that stuff in there. So it's like let's<br>[25:35] kill these stupid tests so we can like<br>[25:37] run the test suite faster. But um yeah,<br>[25:41] so that was good. I did send it. I had<br>[25:43] another big one over the weekend where<br>[25:45] it build built out all the billing the<br>[25:48] like complete billing stuff so we can it<br>[25:51] doesn't have the $29 plan in it yet but<br>[25:54] you know the free plan the restrictions<br>[25:56] for the free plan<br>[25:59] um the quota limit system for the<br>[26:02] various aspects of the plan types and<br>[26:05] all that stuff.<br>[26:07] So I don't know. We'll see. I think at<br>[26:10] this point I'm not going to let anybody<br>[26:11] in there till after we're back from like<br>[26:13] Boston and stuff. But uh<br>[26:15] >> because it's like I just don't want to<br>[26:18] like once people start using it even one<br>[26:20] person<br>[26:22] >> one person there now like three or four<br>[26:23] people who want in like pretty badly but<br>[26:26] it's like one two one person in there<br>[26:27] they're going to have bugs<br>[26:28] >> you know I just listened to a podcast uh<br>[26:32] recently called notes on work where this<br>[26:34] one guy was telling Caleb Porzio you got<br>[26:37] a ship you got to ship you got a ship.<br>[26:39] You need to get back. You need to get<br>[26:40] back to shipping. I forget the guy's<br>[26:42] name, but that would be good. Good<br>[26:44] advice. Yeah. For you potentially is you<br>[26:47] just got to ship. You got to<br>[26:48] >> see. The thing [laughter] is, the thing<br>[26:51] is,<br>[26:51] >> no, I disagree.<br>[26:53] >> Advice is not the same. You can't just<br>[26:54] take advice for one person and stick it<br>[26:57] onto another person.<br>[26:58] >> I know that's true. But tell tell me why<br>[27:00] this guy's advice doesn't apply to you.<br>[27:02] >> Well, because first of all, I'm shipping<br>[27:04] a lot of stuff on the HubSpot end of the<br>[27:05] world. Like, there's things shipping.<br>[27:07] >> That's always your out. That's always<br>[27:08] your out.<br>[27:08] >> Yeah. Well, that's the real out. And so<br>[27:11] I don't want to be that little<br>[27:13] distraction. I have trips coming. We got<br>[27:14] Boston coming up. After that, I got<br>[27:16] another trip coming up. After that, I<br>[27:17] have another trip coming up. So, I got<br>[27:19] some trips coming up. So, I just want to<br>[27:22] be careful when I release it because I<br>[27:23] don't want to release it and be mad at<br>[27:24] it and be upset by it. So,<br>[27:27] >> get some people in there.<br>[27:29] >> We'll get some people in.<br>[27:31] >> But,<br>[27:32] >> you don't you don't want to release it<br>[27:33] and then be so frustrated that you cry<br>[27:36] and sleep in the office. You don't want<br>[27:37] to do that.<br>[27:38] >> Exactly. I don't want to be<br>[27:40] >> That's interesting.<br>[27:41] >> Trying to avoid that. I've already<br>[27:42] exhausted enough. I don't need to be<br>[27:44] sleeping at the office working on it.<br>[27:45] So,<br>[27:45] >> yeah, that's interesting. All right.<br>[27:47] Well, if you if you claim if you claim<br>[27:51] uh Helpspot is shipping so much, tell me<br>[27:53] about Helpspot B pricing.<br>[27:56] >> So, we talked about HubSpot pricing last<br>[27:58] week, right, which was a very useful<br>[28:00] session. Uh, we got some interesting,<br>[28:01] this is actually probably the most<br>[28:03] direct feedback I've gotten from a<br>[28:05] podcast in quite some time where like<br>[28:06] people are coming all out with their<br>[28:08] opinions on what we should do there. Um,<br>[28:12] whatever. I'm not sure what we're going<br>[28:14] to do there yet. I'm actually kind of<br>[28:15] leaning towards just the sort of inner<br>[28:17] rears. Last month you used X, we bill<br>[28:20] you for X.<br>[28:23] >> Keep it simple. This is what John Nolan<br>[28:24] was pushing in a Telegram with both of<br>[28:27] us. Um, the AI went through it with AI.<br>[28:30] The AI prefers that. So,<br>[28:33] >> so no buckets, just pure usage.<br>[28:36] >> No, I think still buckets. Maybe I'm a<br>[28:38] little torn. I kind of want to keep the<br>[28:39] buckets because I think people most<br>[28:41] people are going to generally stay in<br>[28:43] the buckets. And I think I like that<br>[28:45] from like a budgeting sort of angle for<br>[28:47] people.<br>[28:49] >> I don't know. But it could just be<br>[28:50] straight. It could just be straight,<br>[28:51] too. I I think there could be some kind<br>[28:53] of buckets. Maybe it ends up being<br>[28:55] tighter buckets if I do that method. So<br>[28:57] it's not just to lessen the people of<br>[28:59] like, oh, I 502 and that sent me over<br>[29:02] into the 500 to 1,000 tier and it's like<br>[29:06] a lot more money in the 500 to 1,000<br>[29:08] tier. So we might do like tighter<br>[29:10] buckets. I don't know. I'm not sure what<br>[29:12] to do with that yet. Here's a new<br>[29:13] wrinkle. On top of all that, which is<br>[29:16] one of the things that's going to be<br>[29:17] interesting and useful, especially since<br>[29:19] HubSpot can be run on premise, is that<br>[29:21] we in theory will be able to let people<br>[29:24] bring their own AI key. And so then<br>[29:28] their data doesn't go through us at all<br>[29:32] and they the AI calls go to OpenAI or<br>[29:37] whoever potentially we could have<br>[29:39] multiple providers even. And then the<br>[29:40] question is how do we build for that?<br>[29:43] >> So is the question is the thought here<br>[29:45] that you're like they can bring their<br>[29:47] own key but you still want to get some<br>[29:48] margin on that somehow or what's what's<br>[29:50] the question?<br>[29:52] >> Yes. So we built these features that let<br>[29:54] auto answering occur in theory. This is<br>[29:57] this is what you're paying for. So to me<br>[29:59] the like the cost of the AI doesn't<br>[30:03] really matter. Like if you end up if<br>[30:05] your staff is 20% more productive or you<br>[30:09] take that and you reduce your staff by<br>[30:11] 20% saving $150,000<br>[30:14] that we're charging you six grand a year<br>[30:16] or eight grand a year is like<br>[30:18] unconnected from whatever the AI costs<br>[30:21] are right so like<br>[30:24] so I don't necessarily want to be like<br>[30:25] oh if you bring your own key then these<br>[30:27] features are all free because the other<br>[30:29] problem with that is like these are the<br>[30:30] by far the most expensive features we've<br>[30:32] ever developed. they're going to be the<br>[30:33] most expensive features to maintain we<br>[30:35] probably ever had because most other<br>[30:37] features are just very straightforward.<br>[30:38] Oh, there's a toggle, there's a<br>[30:39] checkbox, it does a thing, whatever.<br>[30:41] Whereas like this is like going to be<br>[30:44] ongoing<br>[30:46] >> improvements, enhancements, does it work<br>[30:49] well? Answering stuff, things are<br>[30:51] changing. What do you got?<br>[30:52] >> Bring your own key costs a flat X,000 a<br>[30:56] year.<br>[30:57] >> Problem solved.<br>[30:58] >> I thought about that. does like an<br>[30:59] add-on. But again,<br>[31:01] >> I said it, so I get the credit.<br>[31:02] >> No, I don't like this.<br>[31:03] >> You thought about it, but I said it. Why<br>[31:06] don't you like it?<br>[31:07] >> Because like first of all, if you have<br>[31:10] if it's if you say if you're a tiny<br>[31:12] shop, then it's going to be too<br>[31:14] expensive,<br>[31:14] >> right?<br>[31:17] >> It's going to be too cheap.<br>[31:19] >> Do you know what I'm saying?<br>[31:20] >> That's called in economics, that's<br>[31:21] called consumer surplus. You get yours<br>[31:23] and they get the bonus. That's fine.<br>[31:26] >> No, it's not fine. I want to capture<br>[31:28] some of that bonus. Why do they get all<br>[31:29] >> you do? You capture you capture some of<br>[31:32] it and the rest goes to the consumer.<br>[31:34] It's consumer surplus.<br>[31:35] >> I am leaning towards still just charging<br>[31:38] the ticketed rate.<br>[31:40] >> Maybe even if they bring their own key.<br>[31:43] >> Yes. Because here you're crazy.<br>[31:45] [clears throat]<br>[31:45] >> Here's the thing. Think about this way.<br>[31:47] >> The most expensive plan on every SAS app<br>[31:50] is so that you can have single sign on,<br>[31:52] right? You got to go to the enterprise<br>[31:54] plan if you want single sign on.<br>[31:55] >> Sure.<br>[31:55] >> Why? It's just a you built it. it done.<br>[31:58] Like, it cost you no money to have<br>[32:00] single sign on.<br>[32:01] >> But yet, you're making me go from the<br>[32:03] $19 a month plan to the $120 a month<br>[32:06] plan so I can have single sign on.<br>[32:08] >> Like,<br>[32:09] >> that's the same exact thing as this.<br>[32:11] Like, okay, you want to bring your own<br>[32:12] key because you have your own like you<br>[32:15] have your own deal with OpenAI. You<br>[32:17] don't want it to pass through our<br>[32:18] server, whatever. You have a security<br>[32:21] most likely scenario of why you don't<br>[32:23] want it or privacy scenario. Not the you<br>[32:27] I could charge a premium for that.<br>[32:29] That's what other people do with privacy<br>[32:31] and security.<br>[32:32] >> You can and you should, but you can't<br>[32:35] then turn around and charge them usage<br>[32:38] for something that is not actually part<br>[32:40] of your cost of goods sold. So you can<br>[32:43] charge a premium. No, you can't. So you<br>[32:45] can charge a premium and say instead of<br>[32:47] six grand a year, it's 12 grand a year<br>[32:50] to bring your own key. That is a<br>[32:52] premium. But then you can't say you paid<br>[32:55] OpenAI $500 last month, therefore I'm<br>[32:58] gonna charge you $500. You can't like<br>[33:01] charge usage on top of something that is<br>[33:04] not running your cost center,<br>[33:06] >> right? Let's say like let's say in the<br>[33:08] normal scenario without bringing your<br>[33:09] own key, you have 200 tickets that<br>[33:13] however we ultimately bill buy, you have<br>[33:15] 200 tickets is your volume.<br>[33:17] >> Uh and so it's $100 for the month. Let's<br>[33:20] just say whatever, right? Mhm.<br>[33:21] >> That's a normal scenario. 50 cents a<br>[33:24] ticket. Now, if you bring your own key<br>[33:27] and you have 200 tickets,<br>[33:30] I still think charging you $100 makes<br>[33:32] sense.<br>[33:33] >> No, that's crazy because<br>[33:36] >> you're not actually charging for<br>[33:37] tickets. This is a huristic. This is<br>[33:40] like a derivative of your cost of goods<br>[33:43] sold. You're saying, "I'm going to<br>[33:44] charge you for 100 tickets." In reality,<br>[33:47] you're charging them uh for AI usage to<br>[33:51] complete a 100 tickets, right? And so if<br>[33:54] you turn around,<br>[33:56] >> yes, you are.<br>[33:57] >> You 100% are. What are you talking<br>[33:59] about?<br>[34:00] >> No, I'm charging the value of answering<br>[34:03] that ticket for you.<br>[34:05] >> No, you're positioning you're<br>[34:06] positioning as the value. You're<br>[34:09] charging to cover your costs.<br>[34:11] >> No, I I mean, I want it to be profitable<br>[34:13] beyond covering my costs. But what I'm<br>[34:16] what I'm saying is<br>[34:17] >> I get what you're saying and I get that<br>[34:18] that's obvious.<br>[34:19] >> You don't get what I'm saying.<br>[34:21] >> I get that's why people are going to<br>[34:22] push back on.<br>[34:23] >> Sleepy guy does not get what I'm<br>[34:25] [laughter] saying.<br>[34:26] >> Okay.<br>[34:27] >> What what<br>[34:28] >> the cost of every customer, every<br>[34:30] additional customer before AI was zero.<br>[34:33] Right.<br>[34:33] >> Correct.<br>[34:34] >> So why was I charging them anything?<br>[34:36] Like having one more customer cost me<br>[34:38] nothing. So I should have charged them<br>[34:39] nothing or close to nothing. But instead<br>[34:41] I charged them thousands of dollars.<br>[34:43] >> Right. Even though there was no more<br>[34:45] cost to me effectively.<br>[34:47] >> Yes. Cuz you're offsetting fixed costs<br>[34:49] there. But with the ticket bucket, this<br>[34:51] is a variable cost. If they<br>[34:54] >> only part of it is<br>[34:56] >> only<br>[34:58] >> but not all the development work and<br>[35:00] support and maintenance<br>[35:01] >> and that is where you get to charge<br>[35:03] bring your own key people a flat rate to<br>[35:07] offset the fixed development costs. You<br>[35:09] you should you can and should do that.<br>[35:11] That is the premium that is that I built<br>[35:15] these features. I maintain these<br>[35:16] features and you will fund these<br>[35:18] features.<br>[35:19] >> On top of that, you can't then go and<br>[35:22] say I'm going to charge you an amount to<br>[35:25] offset my variable costs which do not<br>[35:28] exist<br>[35:29] >> if they bo right. Mhm.<br>[35:32] >> So in in the world where they use your<br>[35:35] keys, you are charging a usagebased cost<br>[35:40] to not only cover your variable costs<br>[35:43] but to defay the fixed costs of building<br>[35:45] and maintaining the application.<br>[35:48] >> If they bring their own key, you only,<br>[35:51] in my opinion, get to cover the fixed<br>[35:53] costs by charging them double the yearly<br>[35:56] price. But then you don't get to double<br>[35:58] dip and say, "I'm also gonna charge you<br>[36:00] variable costs for which I'm gonna<br>[36:02] charge you variable pricing for which I<br>[36:04] have no variable costs." That feels<br>[36:07] crazy to me.<br>[36:08] >> But here we go. Like we just talked<br>[36:10] about this I think during our pricing<br>[36:12] talk last week or whatever it was. We<br>[36:15] are both believers I think that the cost<br>[36:16] of the inference is going to go down,<br>[36:19] >> right?<br>[36:19] >> Yes.<br>[36:20] >> So the people who are just signing up<br>[36:23] not bringing their own key. Okay.<br>[36:24] They're just signing up. we're gonna pay<br>[36:26] you by by the ticket,<br>[36:28] >> right? The inference cost is gonna keep<br>[36:29] going down. The amount that's profit is<br>[36:31] gonna get bigger.<br>[36:32] >> Okay?<br>[36:33] >> So, those people are are paying more<br>[36:39] even though two years from now, the<br>[36:40] inference cost nothing to answer these<br>[36:42] tickets effectively.<br>[36:45] >> Why should the people bring their own<br>[36:46] key get this feature for free, but the<br>[36:49] people who use our key pay?<br>[36:50] >> They don't get it for free. You charge<br>[36:52] them. But it's the same difference like<br>[36:53] they're they're they're getting it<br>[36:56] potentially they're they're less aligned<br>[36:58] because like some people are going to be<br>[36:59] overpaying in that scenario and some<br>[37:01] people are going to be underpaying in<br>[37:02] that scenario.<br>[37:03] >> I think you're parsing it too thin. I<br>[37:05] think you're thinking about it too<br>[37:07] technically.<br>[37:08] >> Okay. [clears throat]<br>[37:09] >> I think I think you have two you have<br>[37:11] two buckets here. Fixed and variable<br>[37:13] cost<br>[37:14] >> and you should cover them both.<br>[37:16] >> You should price by by cost in software.<br>[37:19] I don't believe that's a thing.<br>[37:21] >> You have to price directionally like<br>[37:25] directionally<br>[37:26] based even even if just based on<br>[37:29] perception. I cannot imagine<br>[37:32] >> I cannot imagine the hardest part of<br>[37:34] this. I agree with<br>[37:35] >> I cannot imagine going to the market and<br>[37:37] saying<br>[37:39] >> you you cover your own variable cost<br>[37:43] and I'm going to charge you based upon<br>[37:45] your variable cost. That sounds really<br>[37:49] tough.<br>[37:49] >> It sounds crazy to go to Zenesk, right,<br>[37:52] and pay five to 10 times the amount of<br>[37:55] the base plan so that you can have sock<br>[37:57] 2, which their whole organization is<br>[37:59] sock 2, but you only get sock two,<br>[38:02] whatever. It's I mean, it's even bizarre<br>[38:04] to even say it because it actually<br>[38:05] doesn't make any sense.<br>[38:06] >> It's different.<br>[38:07] >> You only get sock two on the enterprise<br>[38:09] plan and you only get single sign on on<br>[38:11] the enterprise plan. So, you're going to<br>[38:13] pay 10 times more for that. Even though<br>[38:15] those are things that are already just<br>[38:16] part of the organization, part of the<br>[38:18] application already built.<br>[38:19] >> I think it's different. I think that's<br>[38:20] different.<br>[38:21] >> I think it is different. I think<br>[38:22] >> there's no variable there's no variable<br>[38:24] cost there.<br>[38:25] >> Yeah,<br>[38:26] >> I think it's I think it's different.<br>[38:28] >> But the end result is that the variable<br>[38:30] cost is probably going to be reduced in<br>[38:34] the future,<br>[38:34] >> which is fine. That just means people<br>[38:37] that aren't No, that just means the<br>[38:39] people that aren't bringing their own<br>[38:40] key, their uh their mixture to your to<br>[38:44] your uh income statement changes over<br>[38:47] time from<br>[38:49] predominantly maybe covering variable to<br>[38:52] predominantly deferring fixed. I don't<br>[38:55] think that's a problem at all. and they<br>[38:57] understand when you bill by<br>[39:00] bucket of tickets, they understand, oh,<br>[39:03] there must be some variable cost here.<br>[39:06] And so I think it's just the mixture<br>[39:08] changes over time. And if they want, if<br>[39:10] they want to be cheap, bring Okay, the<br>[39:12] pricing is,<br>[39:13] >> let's just, you said 6,000 earlier, so<br>[39:15] we'll go with it. Let's say for a<br>[39:17] certain client customer, Helpspot costs<br>[39:20] six grand a year.<br>[39:21] If they want to bring their own key,<br>[39:24] >> they have to pay just like SSO or<br>[39:27] whatever else, HIPPA, they have to pay<br>[39:29] some increased uh increased plan. Let's<br>[39:33] say it's 10,000 a year. That feels like<br>[39:35] a lot, but I have no idea. So, they pay<br>[39:37] for access to these extra features.<br>[39:41] >> Mhm. If they don't want to bring their<br>[39:44] own key and they want to use Helpspot<br>[39:46] provided keys, then they fall into the<br>[39:49] buckets thing. They just, you know, you<br>[39:52] pay X dollars for 100 tickets. That's<br>[39:55] how it works.<br>[39:59] >> You know, there are some other wrinkles<br>[40:00] here. Like if when it's not our key,<br>[40:05] well, it depends. If they're using the<br>[40:07] same provider as us, it should be like<br>[40:09] close enough that it won't matter. But<br>[40:10] if they're using like if they switch<br>[40:12] providers or if we let them switch<br>[40:13] providers, if we let them switch uh<br>[40:16] models potentially, right? Like now like<br>[40:19] support costs increase because it's like<br>[40:21] this doesn't work. Well, that's because<br>[40:22] you switched it on to sonnet for<br>[40:25] everything or<br>[40:26] >> that's what the extra grand is for or<br>[40:28] whatever, right?<br>[40:30] >> I don't know. This is not I don't I<br>[40:32] don't know. I don't like it. I don't<br>[40:34] like that extra complexity in the<br>[40:36] pricing. It's now like a whole another<br>[40:38] tier. It's a whole different thing. What<br>[40:41] about this? What about we have the<br>[40:45] ticket buckets. You used 500 tickets<br>[40:47] that cost $200 a month, whatever it is.<br>[40:52] But if you bring your own key,<br>[40:55] it's 20% less.<br>[40:57] >> No.<br>[40:59] >> Why are you tying it to the cost? That's<br>[41:01] not how you price software.<br>[41:02] >> I I<br>[41:04] understand that completely. I am<br>[41:07] thinking from a consumer point of view.<br>[41:10] >> If you're telling me that you have a<br>[41:13] price for AI, like<br>[41:16] if you're if I go to your pricing page<br>[41:18] and it says AI enabled ticket closing,<br>[41:21] whatever.<br>[41:22] >> Uh 100 tickets, $100. 200 tickets, $200,<br>[41:26] doesn't matter. If I go and I look at<br>[41:28] that pricing<br>[41:30] >> and I'm like, "Oh, okay. I understand<br>[41:32] that the more that I the more tickets<br>[41:34] that I close using Ian's AI, whatever,<br>[41:37] the more that I pay. That seems<br>[41:39] reasonable to me. And then I look and I<br>[41:41] see if I bring my own key, which is code<br>[41:45] word for if I pay my own costs,<br>[41:48] >> sure,<br>[41:49] >> then Ian's cost only gets cut down by<br>[41:53] 20%. That feels like why am I paying for<br>[41:56] >> why am I paying my own cost and I'm<br>[41:59] paying 80% of yens? That makes no sense<br>[42:02] to me. I know you do. I know you do.<br>[42:05] It's impossible. This is crazy. You<br>[42:07] haven't slept in days. This is crazy.<br>[42:10] >> Like the the the clearest uh which I<br>[42:13] don't think it's going to necessarily<br>[42:14] always work out this way, but let's just<br>[42:15] take the clearest angle, which is<br>[42:17] >> sure.<br>[42:17] >> I cannot wait for John O Nolan to tell<br>[42:19] me how right I am on this episode. Oh,<br>[42:22] it's my best when he wakes up wherever<br>[42:24] he is in the world.<br>[42:25] >> Convince him, too.<br>[42:25] >> And he says, "I'm with I'm with Aaron on<br>[42:28] this one. I'm usually with Ian."<br>[42:30] >> So, here we go. First of all, let's just<br>[42:32] say you're going to take this savings.<br>[42:34] You're pure taking as savings on your<br>[42:37] payroll.<br>[42:38] >> So, if this if this thing can ultimately<br>[42:40] answer 10% of your requests perfectly or<br>[42:43] very close to perfectly reliably and you<br>[42:45] have 10% less staff,<br>[42:47] >> Mhm. You're saving<br>[42:50] tens to hundreds of thousands of<br>[42:52] dollars, let's say, right?<br>[42:54] >> Yes. Agrees. Agree so far with the<br>[42:57] caveat that this is a tangential<br>[42:58] argument, but I agree so far.<br>[43:00] >> I saved you $80,000. Let's say one two<br>[43:04] two $40,000 a year employees and you're<br>[43:07] paying again 5,000 or 6,000 a year or<br>[43:11] whatever. Fine. Okay. So, you have a<br>[43:12] huge savings there regardless. Forget<br>[43:14] the cost stuff. That's just your costs<br>[43:16] are going down in absolute. Okay.<br>[43:18] But I understand that's not always how<br>[43:19] people look at software file. Now let's<br>[43:22] look at the bigger market. Who else even<br>[43:24] lets you bring your own key? That would<br>[43:26] be nobody. So if you want to bring your<br>[43:28] own key, you will have like literally no<br>[43:31] options other than like build your own<br>[43:32] help desk software. Maybe there's like<br>[43:34] an open source thing out there<br>[43:35] somewhere. Who knows? But like none of<br>[43:36] the you're not going to help scout, not<br>[43:38] going to Zenesk, you're not going any of<br>[43:39] these guys be like I'm bringing my own<br>[43:41] key. Like you're not going to Finn.<br>[43:42] Nobody's letting you bring your own key.<br>[43:45] Then on top of that, if we average the<br>[43:47] price to let's say 50 cents a ticketish.<br>[43:51] Now, everybody's got different models<br>[43:53] for this. So, this the cross comparison<br>[43:54] is a little harder here, but like you<br>[43:56] know, Finn's 99 cents, Help Scouts 75<br>[43:59] cents, I think, whatever. Like, again,<br>[44:01] we were thinking about going on ticket<br>[44:02] volume, so it probably be even less per<br>[44:04] ticket, but they're charging based on<br>[44:07] answers. So, that one's a little<br>[44:08] trickier, but still, I still think we'll<br>[44:10] ultimately end up being cheaper. The<br>[44:12] goal even I want it to be cheaper per<br>[44:15] resolution even if we don't exactly<br>[44:17] build that way. So it's cheaper. It does<br>[44:20] something that literally nobody else<br>[44:21] lets you do. You can't do it. And it's<br>[44:24] also saving you money in absolute terms<br>[44:28] if you're using it either on staff or if<br>[44:30] those staff are freed up to, you know,<br>[44:32] treat do more stuff in other parts of<br>[44:34] the business or do more outreach or<br>[44:36] whatever you want to have them do<br>[44:37] because now they have more time. So, how<br>[44:40] is that not worth the extra few thousand<br>[44:42] dollars that you think you're saving<br>[44:43] with bringing your own kid?<br>[44:46] >> Yeah, I think [clears throat] I think<br>[44:48] your argument is is fine<br>[44:51] >> based on like<br>[44:53] based on on value metrics like let's say<br>[44:58] I bring my own key and then I fire<br>[45:00] everyone and I'm so happy like I'm super<br>[45:03] ahead except for like the state of the<br>[45:04] world besides that part. Um,<br>[45:07] >> and I can write down on a sheet of paper<br>[45:10] the value that was derived from using<br>[45:13] Helpspot and I can see that most of the<br>[45:16] surplus acred to me, you know, the the<br>[45:19] owner of the company. I just don't think<br>[45:22] that's how it's going to I I don't think<br>[45:24] that's the correct argument or the<br>[45:26] correct um like the correct lens through<br>[45:30] which to make this argument. I think<br>[45:34] >> I mean let's take like let's take<br>[45:36] Laravel Forge for example.<br>[45:39] >> Um what if what if Laravel Holdings<br>[45:41] Incorporated charged me based on how<br>[45:44] many uh vCPUs my servers that I'm paying<br>[45:50] for are using. That just doesn't seem<br>[45:53] like<br>[45:54] >> I understand paying for Laravel Forge to<br>[45:59] orchestrate resources that I'm also<br>[46:01] paying for. I understand Laravel cloud<br>[46:04] charging me based on usage. I don't<br>[46:07] understand Laravel Forge<br>[46:09] being an orchestration layer and then<br>[46:12] charging me for usage that I'm paying<br>[46:14] for directly to Digital Ocean or Lenode<br>[46:17] or whatever.<br>[46:18] >> Right? I also understand<br>[46:21] uh firms charging double for SSO because<br>[46:25] it meets some enterprise mandate and<br>[46:27] therefore your buyer is price<br>[46:29] insensitive. I understand that as well.<br>[46:32] >> And so<br>[46:32] >> that's what I'm talking about exactly.<br>[46:34] >> Well, but what I'm talking about is<br>[46:37] charging<br>[46:38] >> charging these we'll call them privacy<br>[46:42] maybe they're not even cost sensitive<br>[46:44] they're privacy sensitive and they want<br>[46:45] to use their own open router account or<br>[46:47] whatever,<br>[46:47] >> right? Uh, I understand charging them<br>[46:51] double, but I still don't understand<br>[46:54] charging them based on<br>[46:58] usage of their own private resources.<br>[47:00] That's the thing I don't understand. How<br>[47:02] can you glom on to their private<br>[47:05] resource usage and say, "I'm going to<br>[47:08] charge you extra based on what you're<br>[47:10] paying to this party that is your<br>[47:12] business and not mine." That's the part<br>[47:14] that like from a from a customer<br>[47:18] perspective I don't I don't fully<br>[47:20] understand.<br>[47:21] >> Yeah. Well, I think that the Forge<br>[47:24] example is a little different because<br>[47:25] like the competitors to Forge also don't<br>[47:28] charge that way, right? So whereas the<br>[47:31] competitors to what I'm talking about,<br>[47:33] first of all, don't even let you do this<br>[47:34] period. Can't do it. So if you want to<br>[47:37] from privacy or because you have a<br>[47:39] special deal with OpenAI where they only<br>[47:40] route stuff through Germany, right? And<br>[47:43] you want to always route it through<br>[47:44] Germany,<br>[47:46] you literally can't do it. And so it's a<br>[47:50] service and that we are letting you do<br>[47:51] something the other providers will not<br>[47:53] even let you do. You want to do it, but<br>[47:55] you cannot do it. Now again, I think<br>[47:57] there's the spectrum, right? like a big<br>[47:59] company, I don't think they're going to<br>[48:01] care at all because it's like whatever.<br>[48:03] It's a if I tell them it's $10,000 or<br>[48:06] it's $10,000 in usage, what's the<br>[48:08] difference? Like it's it's not a lot of<br>[48:11] money to them. I do think there will be<br>[48:13] smaller people who are like, "Oh, I want<br>[48:15] this feature and if I can save $400 a<br>[48:18] year on it by using my own key, then<br>[48:21] that would be cool." Um,<br>[48:25] but then do I care about that? Maybe I<br>[48:27] don't care about that. like your option<br>[48:28] is use our key or<br>[48:31] not and pay the extra $400 you think<br>[48:35] you're paying, which may or may not be<br>[48:36] true, blah blah blah. But like<br>[48:39] >> I don't know.<br>[48:40] >> I'm unconvinced.<br>[48:41] >> My final<br>[48:42] >> I understand what you're saying, but<br>[48:44] >> my final stance, and we'll we'll let<br>[48:46] we'll let uh the people weigh in.<br>[48:48] >> My final stance is for bring your own<br>[48:50] key, you should charge them a premium.<br>[48:54] Mhm.<br>[48:54] >> For bring your own key, you should not<br>[48:56] charge them a usagebased premium.<br>[48:59] >> That's my final stance. You should<br>[49:01] charge charge the hell out of them<br>[49:03] because they're special little boys. And<br>[49:04] I love that. If you want to be special,<br>[49:06] you got to pay to be special.<br>[49:08] >> But that should be a uh a premium<br>[49:13] completely discreet from their usage,<br>[49:16] which is none of your business. I would<br>[49:18] just say the thing that's interesting<br>[49:19] about that is that it actually ends up<br>[49:20] being quite unfair to the smaller<br>[49:22] customers generally speaking.<br>[49:26] Like that's what it's going to that's<br>[49:27] what's ultimately going to happen is the<br>[49:28] smaller customers will actually pay more<br>[49:31] than they would have uh if it was usage<br>[49:35] build as opposed to<br>[49:37] >> they should figure that out<br>[49:39] >> when I say it's $5,000 to do this or<br>[49:41] whatever it is, right? like and then<br>[49:43] >> they should freaking figure that out or<br>[49:45] bask in the fact that HubSpot is<br>[49:48] providing them convenience of not having<br>[49:49] to manage keys. There are benefits on<br>[49:51] both sides.<br>[49:52] >> Now I think I might have to do it my way<br>[49:53] just so we could see report back.<br>[49:55] That'll be<br>[49:56] >> how much complaints we get or not<br>[49:59] intriguing.<br>[50:00] >> Should we even question the premise? Why<br>[50:02] do you need bring your own key if nobody<br>[50:03] else does it? Are you just signing up<br>[50:05] for pain? Like why are you doing this?<br>[50:07] >> It's possible. uh because I do think<br>[50:09] HubSpot has enough customers and some of<br>[50:13] our most of our biggest customers<br>[50:14] honestly are on premise and<br>[50:16] >> so they're sensitive applications.<br>[50:18] >> Yeah. And they I think will want to be<br>[50:21] in control of the whole thing. Um<br>[50:25] >> the way the AI stuff works right now is<br>[50:26] it routes through us. Even if you're on<br>[50:29] premise, if you're using AI features, it<br>[50:31] routes through us.<br>[50:32] >> Sure.<br>[50:32] >> And they could turn them off if they<br>[50:34] don't want that and that's fine. But I<br>[50:35] think turning them off is going to be<br>[50:36] less and less poss, right? People are<br>[50:39] going to want the features. Like they're<br>[50:40] not going to want to turn them off. And<br>[50:42] so then it's like, well, how do we do<br>[50:44] this and keep everything within our uh<br>[50:47] purview? Like there's kind of no choice<br>[50:49] now.<br>[50:51] >> I don't know. It'll be interesting to<br>[50:52] see. Maybe those customers don't want<br>[50:53] the AI as much and they'll only end up<br>[50:55] being a handful and this will all be<br>[50:56] pointless. It's not impossible. Um<br>[51:00] but yeah, hard to know. I mean, I do<br>[51:02] think there's other value of us doing it<br>[51:04] because we probably can do some other<br>[51:06] tricks when we're controlling the whole<br>[51:07] stack<br>[51:09] to some degree. I mean, the key is the<br>[51:11] key kind of. It depends what what we end<br>[51:12] up doing a little bit, but and if they<br>[51:14] want to use other providers and things<br>[51:16] like that. Um,<br>[51:18] >> which again is a is like a is a a value<br>[51:21] ad there. If you want to use Enthropic<br>[51:23] instead of OpenAI, like you might have<br>[51:25] to pay for that, right? So, anyway, all<br>[51:28] right, that's where we'll leave it. I<br>[51:29] like that. What else we got?<br>[51:32] >> Just need everybody to tell me how right<br>[51:34] I am because I feel really confident. I<br>[51:36] feel really confident.<br>[51:38] >> This is a tricky one. This is a tricky<br>[51:39] pricing one. We're in a whole new world<br>[51:41] here.<br>[51:42] >> It is a tricky pricing one. Um, okay. We<br>[51:45] covered this for a second or we<br>[51:46] announced it on Token Town, but the<br>[51:49] format of that show, which is very good<br>[51:50] and you all should listen to it, is a<br>[51:52] much tighter news like rundown. So, we<br>[51:56] didn't get to go into it in in detail,<br>[51:58] but I'm training my own model. Okay.<br>[52:00] >> Yes.<br>[52:01] >> And I got I got some good feedback after<br>[52:04] that podcast um on the fact that it's<br>[52:08] completely doable, the fact that Ian is<br>[52:10] totally wrong, and the fact that uh I I<br>[52:14] got a few pointers on how to do it.<br>[52:16] Well, um so Sam who Sam who and Chris I<br>[52:20] think his last name is Archer. Uh Chris<br>[52:22] Archer Orcher, what's his name? But he<br>[52:24] works<br>[52:25] >> sounds kind of familiar.<br>[52:26] >> Yeah, you know him. He [clears throat]<br>[52:27] works at uh he works at uh at Akard.<br>[52:31] Chris Akard Achard. Um he works at<br>[52:33] Google now. Yeah. Who sorry about your<br>[52:35] last name, bud. Um and he sent me a<br>[52:37] whole list of feedback on how to do it<br>[52:39] really well. Um<br>[52:41] >> so for those that didn't catch Token<br>[52:44] Town, the model is a super small, very<br>[52:48] specific uh model that serves one<br>[52:52] purpose. It will ship with Solo. It will<br>[52:54] be callable from Rust. you won't need<br>[52:56] any special hardware or anything to use<br>[52:59] it. And the entire purpose of the model<br>[53:02] is to look across the terminal grid. So<br>[53:05] I always have like a representation of<br>[53:07] what's being shown in the terminal um to<br>[53:10] look at a specific terminal grid and<br>[53:14] give me a confidence score as to whether<br>[53:16] it is uh waiting on user input, stalled<br>[53:19] on a user permission, idle or working.<br>[53:23] And so it's kind of like this, it's kind<br>[53:24] of like this object of keys and<br>[53:26] confidence scores.<br>[53:28] >> Um, and so the point here is obviously<br>[53:31] so I can make the notifications and<br>[53:33] attention mechanisms in solo better<br>[53:36] across uh current and importantly<br>[53:39] forthcoming CLIs<br>[53:42] >> cuz like these CLI change every day.<br>[53:45] People are using open code and pi and<br>[53:48] all these weird setups. Um, and I can't<br>[53:51] I I really am trying to stay out of the<br>[53:54] quagmire of let me code<br>[53:58] >> curistics specific to an individual CLI.<br>[54:03] I'm trying to stay out of that as much<br>[54:05] as possible<br>[54:06] >> because that is a a never- ending<br>[54:09] treadmill. Yeah,<br>[54:10] >> what I'm trying to do is what is a<br>[54:12] universal like what is a universal way<br>[54:14] that I can accomplish this without<br>[54:17] coding to a specific CLI or<br>[54:20] >> mcking up with uh the hooks like the<br>[54:24] user home directory of cloud code and<br>[54:27] open code or whatever to like get my<br>[54:28] hooks in there. Um<br>[54:31] >> and so I have now orchestrated I've<br>[54:34] built in a dev only part of Solo. I've<br>[54:37] now orchestrated a way for an agent<br>[54:40] running inside of Solo uh to spawn other<br>[54:43] agents, which is public or always been<br>[54:45] there. Um but then control them and<br>[54:49] capture at any moment that this lead<br>[54:51] agent wants. It can capture all of the<br>[54:54] relevant signals and write it to a<br>[54:57] training file. So it can write like<br>[54:59] discrete training files. And what it'll<br>[55:01] do is it will capture the terminal grid.<br>[55:04] It'll capture like and a few other<br>[55:07] signals that Solo has like last uh last<br>[55:10] bytes output from the underlying<br>[55:12] process, last human input from the user,<br>[55:15] >> um and then a couple of other weird like<br>[55:18] things that we have because we own the<br>[55:20] process. And so now via MCP I can set<br>[55:24] off like a researcher agent and be like,<br>[55:27] "Hey,<br>[55:28] >> go go go get me a thousand more<br>[55:31] instances of training data." And then<br>[55:34] after that um so it can spawn Kimmy and<br>[55:37] Claude and Codeex and just do random<br>[55:39] stuff until it reaches certain points<br>[55:41] that it wants to capture. And then after<br>[55:44] that I have a system whereby two models<br>[55:48] uh I think it's like a sole maybe a sole<br>[55:51] medium and like a clawed uh opus 48. Two<br>[55:56] models will grade the individual file as<br>[56:01] um so I guess this is distillation. I<br>[56:04] don't really know. Uh maybe I'm<br>[56:06] distilling a Frontier model here. But<br>[56:08] two models will grade that file and give<br>[56:11] it the confidence scores. So then I have<br>[56:13] the input and the correct output from<br>[56:16] like a two major labs. Um and if they<br>[56:19] don't agree, it kicks it out to me, the<br>[56:20] human, to make the final call. Um but<br>[56:23] then I've got my full set of training<br>[56:25] data all labeled by, you know, the<br>[56:28] biggest smartest models in the world.<br>[56:30] And then it's got a full like training<br>[56:32] pipeline that's all written in Python<br>[56:34] that will run through and basically give<br>[56:37] me this tiny uh under 10 megabyte. And<br>[56:40] I've heard that's even generous there.<br>[56:42] It could even be down to like 2 or 3<br>[56:44] megabytes<br>[56:45] >> uh under 10 megabyte under 500<br>[56:48] millisecond model that will be given<br>[56:51] this set of signals from Solo itself and<br>[56:53] return a confidence score as to uh the<br>[56:57] state of the running CLI. So that that<br>[57:00] is the plan.<br>[57:01] >> And you're looking for just a particular<br>[57:03] state or no like a waiting state or<br>[57:05] you're looking for different types of<br>[57:06] states. it will return. I forget what<br>[57:08] the it's not a tupil because it's more I<br>[57:10] forget what the object is but it's like<br>[57:13] uh it's like waiting a there's a couple<br>[57:16] it's like waiting on human uh permission<br>[57:19] or approval required working idle<br>[57:23] unknown something like that um and then<br>[57:25] solo<br>[57:26] >> I will need to write into solo some<br>[57:29] heruristics to consume that output and<br>[57:31] make decisions but the model itself<br>[57:34] merely exists to classify by a terminal<br>[57:37] grid into probabilities of where it<br>[57:40] could be or what it should be.<br>[57:41] >> Now is there a base model as part of<br>[57:44] this? That's like the or there's only<br>[57:47] this. This is all the data there is.<br>[57:49] There is no base learnings<br>[57:53] learnings or anything else. There's just<br>[57:54] this input<br>[57:56] >> and what the output should be. So it<br>[57:57] just<br>[57:58] >> that's the whole transformers are only<br>[58:00] being trained on your specific data in<br>[58:03] >> Yep.<br>[58:04] >> That's interesting. I'll be curious to<br>[58:06] see if like in the end it's flexible<br>[58:08] enough with as things change and all<br>[58:10] that stuff or if the if like the error<br>[58:12] rate ends up being sufficiently low, you<br>[58:15] know. Um<br>[58:17] >> and this will layer<br>[58:18] >> this will layer into other heruristics I<br>[58:20] have in solo which is um<br>[58:23] >> like I have a few strategies for<br>[58:25] detecting if a agent has gone idle like<br>[58:28] for AMP I think they stop changing the<br>[58:31] title of the terminal. So that's like an<br>[58:33] OSC title strategy. And then the a few a<br>[58:37] few of the agents do OSC title updates.<br>[58:41] That's like when<br>[58:42] >> uh you're in ghost your iTerm and you<br>[58:45] see like working working and it has a<br>[58:47] little you know asy uh animation. So<br>[58:51] that's one strategy that the agents in<br>[58:53] solo employ. The other strategy is just<br>[58:56] pure uh bite silence. So like if the PTY<br>[59:00] goes silent, like the output goes silent<br>[59:02] for like three, four, five seconds,<br>[59:03] whatever it is, then I count that agent<br>[59:06] as idle as well. Um, and then well-<br>[59:09] behaved agents fire their own uh<br>[59:12] notifications which solo just consumes<br>[59:15] and replays. Those are the best where<br>[59:17] it's like cloud code sends a<br>[59:20] notification via its output that it's<br>[59:24] waiting on permissions and so then it<br>[59:26] term ghosty and solo can all just<br>[59:28] consume that and display it as a push<br>[59:30] notification. Those are the best but not<br>[59:32] all of them do that.<br>[59:35] H you could see that getting<br>[59:37] standardized maybe at some point I guess<br>[59:39] as people catch up with things but now<br>[59:42] why not just use like the cheapest<br>[59:44] smallest model that the person has<br>[59:45] connected just to save that so you're<br>[59:47] not spending their their dough<br>[59:49] >> one one fewer thing to configure uh one<br>[59:52] less thing to configure<br>[59:54] >> well it's it's innumerable so you'd<br>[59:57] think it would be fewer um one thing you<br>[60:00] don't have to configure um I really want<br>[60:03] to I I'm really trying to get to a point<br>[60:06] where<br>[60:08] >> um everything cool works automatically<br>[60:12] and that's a really tough spot to be in<br>[60:14] when you're relying on CLIs and binaries<br>[60:17] on the user's machine.<br>[60:19] >> And so I'm I'm doing my best one not to<br>[60:22] muck with the user's machine and two to<br>[60:25] enable cool features by default. And so<br>[60:28] for example in that in that vein is um<br>[60:31] you know when you quit a cloud code<br>[60:34] session or a chat GPT or codeex session<br>[60:37] it says to resume this session use this<br>[60:39] uid it's like if you want to pick this<br>[60:41] conversation back up<br>[60:42] >> um right now uh solo captures whenever<br>[60:46] an agent whenever an agent is quit solo<br>[60:49] captures all uuids that are printed to<br>[60:52] the screen<br>[60:53] >> and then it will store that in your<br>[60:55] database and so when you come back to a<br>[60:58] agent that has quit, you can actually<br>[61:00] resume the previous session, which is<br>[61:03] really nice.<br>[61:03] >> I need that today.<br>[61:04] >> I know.<br>[61:05] >> Uh you can do that today with a one<br>[61:08] major caveat. You have to do control C<br>[61:12] inside the terminal to actually quit it.<br>[61:14] You can't use the rightclick stop inside<br>[61:18] of Solo because if you do rightclick<br>[61:20] stop, it just kills it. And if you do<br>[61:22] control C inside of cloud code, it does<br>[61:24] this graceful exit of the tui itself<br>[61:27] that uh prints the uyuid. That's not a<br>[61:30] great experience, right? So<br>[61:32] >> what I'm doing now is<br>[61:35] >> I have uh and this is agent specific,<br>[61:37] but what I'm doing now is I have um I<br>[61:41] have little like monitors. So every time<br>[61:43] you start a claude session, it's looking<br>[61:46] on the disc to be like which session is<br>[61:49] this? and it will automatically<br>[61:51] um put that uid into the database. So<br>[61:54] then if god forbid solo crashes or you<br>[61:56] quit it without stopping the agents, all<br>[61:59] those uids are durably stored. And so<br>[62:01] I'm trying to like I'm really pushing to<br>[62:04] try to get all the cool stuff to be<br>[62:06] default without having to configure it.<br>[62:09] And so this is part of why I'm doing<br>[62:11] this own little model thing is so it<br>[62:14] just works and you don't have to like<br>[62:16] you don't have to configure it. You<br>[62:17] don't have to pay tokens for it. It just<br>[62:18] freaking works. That's that's the idea.<br>[62:21] >> And how do you actually train the model?<br>[62:23] Like it's a Python thing or it's youth<br>[62:25] send up to a server thing or no? It's<br>[62:27] can it run on your machine or is it<br>[62:29] heavier than that? Like<br>[62:30] >> it's going to run on the Mac Studio.<br>[62:32] It's going to run on the Mac Studio. Um<br>[62:34] how are we training this model? Can you<br>[62:38] give me a highlevel overview? [laughter]<br>[62:42] Um I'm just talking to my coworker here.<br>[62:45] Don't don't worry about that. Yeah. No,<br>[62:46] I definitely definitely know<br>[62:49] >> getting the the guy with the details on<br>[62:50] the horn.<br>[62:51] >> Um, so<br>[62:53] while my friend is typing, um, I will<br>[62:57] tell you, here we go. Here's here's the<br>[63:00] answer.<br>[63:01] >> Uh, so we're not fitting the real model.<br>[63:04] We built the machinery to collect<br>[63:05] trustworthy data. Yeah. Yeah. Yeah. I<br>[63:07] know that. I know that. Uh, we capture<br>[63:09] the terminal states. Yeah, I know that.<br>[63:11] Um, all right. So here are the that<br>[63:14] object I was describing earlier has four<br>[63:16] outcomes. Approval required,<br>[63:18] >> input required, ready for review and no<br>[63:21] attention needed.<br>[63:24] >> Codeex and Claude sonnet independently<br>[63:26] score every observation. If they<br>[63:27] disagree, another frontier model<br>[63:30] adjudicates it. A smaller blind human<br>[63:33] reviewed set becomes the gold evaluation<br>[63:36] set. We never average teacher opinions<br>[63:39] into truth. So I will do I will handle<br>[63:41] label some of them.<br>[63:43] >> Um<br>[63:45] it is<br>[63:48] uh<br>[63:51] it still doesn't tell me how we're<br>[63:52] training it. What's the hardware Python<br>[63:56] that does the training library etc.<br>[64:00] >> Um it is going to run on the Mac Studio.<br>[64:02] I already told it that. I gave it a<br>[64:04] screenshot of my Mac Studio specs and it<br>[64:06] was like oh man super overpowered. like<br>[64:08] you'll you'll be fine here. Um,<br>[64:11] >> but it is a it is a Python pipeline. I'm<br>[64:14] just waiting for it to tell me what<br>[64:15] library.<br>[64:16] >> Cool. I can imagine a world in software<br>[64:18] where you have a bunch of little models<br>[64:19] like if this if this works and then like<br>[64:21] I feel like there should be more tooling<br>[64:23] around this to make it easier for people<br>[64:24] to do in general. But like<br>[64:26] >> well there's a lot of places that could<br>[64:27] just classify little bits of things.<br>[64:29] >> I know that's what I was saying that<br>[64:31] 19th.com actually is.<br>[64:33] >> Um but I still haven't I still haven't<br>[64:35] heard back from them. I mean, they<br>[64:36] emailed me back after I messaged them on<br>[64:40] uh on Twitter [clears throat] and was<br>[64:42] like, "What's the deal?" And they're<br>[64:42] like, "Oh, we're so close." Um, but I<br>[64:45] was like, "I'll just do it myself then.<br>[64:47] This is this is this is the era of soul.<br>[64:49] I can just do everything." Um,<br>[64:52] >> so I don't know. It's still thinking.<br>[64:53] I'll I'll figure out what Python, you<br>[64:55] know, framework it's using or whatever.<br>[64:57] Um, but yeah, that's the plan. And I<br>[65:00] think if I can pull this off, you better<br>[65:03] believe I'm going to be thinking about<br>[65:04] where can I shove other little 2<br>[65:06] [clears throat] megabyte models that do<br>[65:07] specific things. That sounds awesome.<br>[65:10] >> That does sound awesome. So, I don't<br>[65:12] know. You're you're winning me around on<br>[65:14] this uh this concept here. Especially<br>[65:17] >> for your particular use case where like<br>[65:19] you don't have every time you're doing<br>[65:20] something custom for each<br>[65:23] >> CLI, it's going to be super annoying to<br>[65:25] have to like custom build it and all<br>[65:27] that stuff. So, I like it.<br>[65:31] I personally wouldn't care if it used<br>[65:32] just haiku on its own and you have a<br>[65:34] little check box that says, "Hey, it's<br>[65:35] going to cost you tokens." But this will<br>[65:38] be faster presumably and<br>[65:40] >> it will be<br>[65:41] >> uh obviously in theory. So, there's<br>[65:43] probably some people out there still<br>[65:45] using solo without an agent because<br>[65:47] they're just running their uh task. So,<br>[65:50] this would still I don't know. Would you<br>[65:51] ever use this in that case though? It<br>[65:52] would only really be used for the<br>[65:53] agents, I guess. Yeah. I mean, you could<br>[65:54] run it I guess I could run it against<br>[65:56] blank terminals and if the terminal is<br>[65:59] requiring input from you, I could<br>[66:00] classify that. That's true. That's Yeah,<br>[66:02] that's not bad.<br>[66:03] >> Or other types of like error states or<br>[66:06] things like that. You seem to be able to<br>[66:08] detect that already, right?<br>[66:10] >> Yeah, I can I can detect uh I can detect<br>[66:13] exit codes obviously. Um most of the<br>[66:16] most of like the testing libraries do<br>[66:19] use correct OSC notifications and so<br>[66:22] like if you're pest or PHP unit or vi<br>[66:25] test fail it usually pops a<br>[66:27] notification. Okay. Most of those are<br>[66:30] from times. Yeah. So, something's<br>[66:32] looping failure. You seem to kill it<br>[66:34] after 10 or something. And<br>[66:36] >> yeah, if there's a if there's a command<br>[66:38] that you have set to auto restart and it<br>[66:42] doom loops, I think 10 times, it won't<br>[66:45] auto restart again. And it'll show you a<br>[66:47] notification like, hey, we tried and<br>[66:48] this crashed too many times.<br>[66:50] >> Yeah. So, you've done some stuff there.<br>[66:52] >> Yeah.<br>[66:56] >> Did he get back to you yet, your<br>[66:57] coworker? No. No, he's he's like, "Oh,<br>[67:00] we we should do that. We should do that.<br>[67:01] We should do this."<br>[67:03] >> Yeah. He says something about uh He says<br>[67:07] something about<br>[67:09] >> uh Yeah. hashing vectorzers. We're going<br>[67:12] to have to get back to you on this one.<br>[67:14] We'll get We'll get back to you.<br>[67:16] >> It'll be done by next episode. Who<br>[67:18] knows?<br>[67:19] >> We It will know that we should talk<br>[67:21] about that. There won't be a show next<br>[67:22] week. Most likely be in Boston. So,<br>[67:24] everybody,<br>[67:25] >> we'll be in Boston. I'm headed this week<br>[67:28] uh I'm headed to<br>[67:30] uh Bosezeman, Montana for Big Sky<br>[67:34] DevCon. So I will be I'll be mcing uh<br>[67:37] Big Sky and then directly from Bosezeman<br>[67:40] I'm flying to Boston uh [snorts] to to<br>[67:43] kick off the Laracon party.<br>[67:46] >> So we'll have a day zero dodgeball<br>[67:48] tournament, the mostly technical prom<br>[67:52] um and then the show the big show<br>[67:54] begins. Did you actually get your tuxedo<br>[67:56] ordered yet?<br>[67:58] >> I didn't.<br>[67:59] >> Me either. And I just looked and they<br>[68:00] want kind of a lot of lead time. So now<br>[68:02] I'm looking.<br>[68:04] >> I'm wearing I'm wearing my best suit and<br>[68:06] a tie. That's what I'm wearing.<br>[68:08] >> Okay. You're auding.<br>[68:09] >> Yeah. I'm going I'm going blue suit and<br>[68:11] a tie.<br>[68:12] >> I'm considering that.<br>[68:13] >> That's pretty metal. Yeah.<br>[68:15] >> Now Banana Public had a awesome sale. It<br>[68:18] was like almost the same price as just<br>[68:20] like renting the tuxedo. Uh it was like<br>[68:22] super It was going to be like 400 bucks<br>[68:23] or something. Of course they<br>[68:24] >> a Banana Republic tux.<br>[68:26] >> Yeah, but they don't have that size in<br>[68:28] the in the jacket. It might even been<br>[68:30] less than 400. It was like going to be<br>[68:31] like three something for the whole<br>[68:33] thing, but they don't have my size in<br>[68:35] the jacket. And they did when I looked<br>[68:37] at this a month ago, but then I was<br>[68:38] like, I'll just rent one, buy one. When<br>[68:40] am I going to use this thing again?<br>[68:41] Whatever.<br>[68:42] >> Now I wish I bought it.<br>[68:43] >> So listen listen to the provenance of my<br>[68:46] suit. Okay. So, back when I back when I<br>[68:48] was a big dog at Resolute Property Tax<br>[68:50] Solutions,<br>[68:52] >> uh, we had a very good year<br>[68:54] >> and so me and the three owners went and<br>[68:58] got custom suits made.<br>[68:59] >> Oh, I've never done that. I love that<br>[69:01] idea.<br>[69:02] >> Freaking cool.<br>[69:04] >> So cool. So, my my suit is custom made.<br>[69:08] It is this nice it's this nice blue and<br>[69:12] on the inside it has this insane liner<br>[69:14] that I picked out. It's like dogs<br>[69:16] wearing sunglasses or something. It's so<br>[69:19] great.<br>[69:20] >> Oh, that's better than a tux. Okay. It's<br>[69:22] like a suit with history. Okay. It is a<br>[69:24] suit. Still fits. Okay.<br>[69:25] >> It still fits me. Still fits me. Still<br>[69:28] got it, baby. Still got it.<br>[69:31] >> I don't know what I'm going to do. I<br>[69:33] might just come in pajamas then. Forget<br>[69:34] it. Who cares?<br>[69:35] >> No, you got to you got to You're the<br>[69:38] You're the big dog. You got to lead the<br>[69:40] way. Lead the way.<br>[69:41] >> We'll see. I do have some suits,<br>[69:44] whatever. But if they don't, they're not<br>[69:45] cool suits like that. They're just, you<br>[69:46] know,<br>[69:47] >> this is a cool suit.<br>[69:48] >> It's a cool suit.<br>[69:48] >> A cool suit.<br>[69:49] >> Although if I open up the suits, that<br>[69:52] does open up some other possibilities.<br>[69:54] >> That does still lead time is a question.<br>[69:56] But you could you could just go buy a<br>[69:57] cool suit off the rack for sure.<br>[69:59] >> Yeah. I don't know.<br>[70:01] >> Got [snorts] to get custom. Got to get<br>[70:02] custom made. Let's end it here with The<br>[70:04] Great Illustrated Classics. Have I told<br>[70:06] you about this?<br>[70:07] >> No, I don't think so.<br>[70:08] >> Oh man. The Great Illustrated Classics.<br>[70:11] Let's find out. It's great<br>[70:13] illustratedclassics.com<br>[70:16] which redirects you. This is how you<br>[70:17] know it's legit. It redirects you to<br>[70:20] slashdefault.asp.<br>[70:22] >> Okay. So, it's it's it's an ASP website.<br>[70:27] >> You go there and it's like a time<br>[70:29] capsule. It's like this is what the<br>[70:30] internet this is what the internet used<br>[70:33] to be.<br>[70:34] >> It is going to be I just want<br>[70:36] >> this is good internet. So, great<br>[70:38] illustrated classics.com everywhere.<br>[70:41] >> Now, let me tell you about the great Let<br>[70:43] me tell you about the great illustrated<br>[70:44] classics. Okay.<br>[70:45] >> So, you have your classics, right?<br>[70:47] That's not what we're talking about, but<br>[70:48] this is this is groundwork.<br>[70:50] >> Okay.<br>[70:50] >> So, I'm looking I'm looking at the<br>[70:52] homepage. I've got Adventures of<br>[70:53] Huckleberry Finn, Adventures of Tom<br>[70:55] Sawer, Around the World in 80 Days,<br>[70:57] 20,000 Leagues Under the Sea. Okay,<br>[71:00] those are the classics. Now what makes<br>[71:02] them great illustrated is they have been<br>[71:05] abridged and rewritten for children and<br>[71:09] every single opposite page is an<br>[71:11] illustration.<br>[71:12] >> Oh.<br>[71:13] >> So you have text Yeah. It's a chapter<br>[71:14] book. You have text on one side and an<br>[71:17] illustration on the other.<br>[71:18] >> Mhm.<br>[71:19] >> I have two 5-year-olds.<br>[71:20] >> I wish you would have told me about this<br>[71:22] like years ago. My kids big for this<br>[71:24] now.<br>[71:25] >> I know.<br>[71:26] >> So you got the 5-year-olds. What did you<br>[71:27] start them with here? I'm tired of<br>[71:29] reading um<br>[71:31] >> I'm tired of reading Dr. Seuss. Do you<br>[71:34] like my hat? I do not like your hat.<br>[71:35] Hello, sir. Goodbye, sir. I'm like I am<br>[71:38] so tired of that. So, I thought<br>[71:41] >> I'm the parent. I'm the captain.<br>[71:44] >> Yeah, they don't even know about these<br>[71:45] books. YOU<br>[71:46] >> NO, WE'RE GOING TO we're going to do<br>[71:48] what I want to do. And I want my kids to<br>[71:50] be readers because readers are leaders.<br>[71:52] And so, we're going to start reading<br>[71:53] we're going to start reading real books.<br>[71:55] >> Okay. And so, um, I started with The<br>[71:59] Jungle Book and Adventures of Tom<br>[72:01] Sawyer.<br>[72:02] >> So, we have just, uh, we finished The<br>[72:05] Jungle Book last week and we're five<br>[72:06] chapters into Tom Sawyer.<br>[72:09] >> Okay.<br>[72:09] >> And the new routine now is every night,<br>[72:12] uh, when I I put the big kids to bed.<br>[72:14] Every night, Jennifer puts the little<br>[72:15] kids to bed. Um, every night we read one<br>[72:19] chapter of a great illustrated classic.<br>[72:21] So they come sit on my lap. I read a<br>[72:24] chapter book out loud to them and I can<br>[72:27] hear their brains worring. Like I can<br>[72:31] hear them I can hear the synapses like<br>[72:34] firing and connecting. It's it's<br>[72:36] incredible cuz they're like<br>[72:38] >> why is Mowgli sad? What does that word<br>[72:41] mean? Why does he have a knife around<br>[72:42] his neck? Is Belaloo a good guy? Is Sher<br>[72:45] Khan bad? Why did they kill Sher Khan?<br>[72:47] And it's like,<br>[72:48] >> oh, you guys are like, this is the first<br>[72:50] time you have literally ever heard these<br>[72:53] stories and probably the first time<br>[72:55] you've ever read a 14 chapter book. And<br>[72:58] so every night we're like, remember last<br>[73:00] night this happened and then, oh yeah,<br>[73:02] Mowgli was sad. That's right. Let's read<br>[73:04] the next chapter.<br>[73:05] >> So we've we've finished Jungle Book.<br>[73:08] We're five chapters into Tom Sawyer. And<br>[73:11] it has been<br>[73:12] >> it's just been one of my favorite dad<br>[73:15] things so far. parent win.<br>[73:17] >> Oh, dude, it's so great. So, like<br>[73:19] they're they're learning to pay<br>[73:21] attention. They're learning to sit<br>[73:23] still. They're learning to follow<br>[73:25] stories, ask questions like, "What does<br>[73:27] that word mean? I've never heard that<br>[73:28] word before." Um, and it's far more<br>[73:31] enjoyable for me. And now,<br>[73:34] >> now it's become so enjoyable for them<br>[73:36] that it's now uh having that taken away<br>[73:38] as a punishment. So, like somebody will<br>[73:41] be misbehaving and me or Jennifer will<br>[73:44] be like, "Hey, if you don't if you don't<br>[73:46] obey, you don't get to read Tom Sawer<br>[73:48] tonight."<br>[73:48] >> Okay. It's like, "Oh, wow. You guys<br>[73:50] actually do really like this. This is<br>[73:52] working."<br>[73:54] >> So, we read Jungle Book and then we<br>[73:56] capped it off with watching uh the 1967<br>[74:00] Disney Jungle Book. Um, and so we were<br>[74:03] watching it and they're like, "Oh, is<br>[74:04] that Mowgli? Is that is that Balloon?"<br>[74:06] Like, "Yeah, it is." Um, so there are<br>[74:09] like I think 65<br>[74:12] 66 uh titles available. Treasure Island,<br>[74:15] Three Musketeers, Call the Wild, Secret<br>[74:16] Garden, Oliver Twist, Moby Dick, all of<br>[74:18] those. Um, I don't think I'll read<br>[74:20] Picture of Dorian Gray to them. That<br>[74:22] feels a little I don't know. That feels<br>[74:24] a little tough. Um, but<br>[74:26] >> there's some in here that are Yeah.<br>[74:27] Well, they're only five, too, so maybe<br>[74:29] they<br>[74:30] >> work into some of these more advanced<br>[74:32] ones as you go, you know? And you can<br>[74:34] buy them directly from this website for<br>[74:36] $7.55<br>[74:38] each direct to the publisher.<br>[74:40] >> It is not a bad world. So I would highly<br>[74:43] I would highly recommend if you have<br>[74:45] kids under 10, maybe even like under 12,<br>[74:48] they could read it on their own. Check<br>[74:50] out the great illustrated classics.<br>[74:52] >> And Grim's Fairy Tales, too, so you get<br>[74:54] into some of those.<br>[74:55] >> Yep. You know,<br>[74:56] >> Red Badge of Courage.<br>[74:58] >> I know. Little Women. Ann of I remember<br>[75:02] reading Ann of Green Gables in like the<br>[75:03] third or fourth grade or second grade<br>[75:05] maybe. Um so I like I remember these<br>[75:08] books. Swiss Family Robinson. I love<br>[75:10] that book.<br>[75:11] >> We did read some of the bigger books to<br>[75:13] them but like we just read the full book<br>[75:14] and it is a slog with like<br>[75:16] >> the little kids like especially on the<br>[75:18] on the younger end. They're just like a<br>[75:20] little<br>[75:20] >> hard to keep the attention when you're<br>[75:22] in every detail of like a 400page book.<br>[75:25] So I do like this. We were at this age<br>[75:27] too. We also did a lot of Magic<br>[75:28] Treehouse. I don't know if you got to<br>[75:29] Magic Tree House.<br>[75:30] >> No, we haven't.<br>[75:31] >> So, Magic Tree House is like the it's<br>[75:35] like a story a huge series. I don't<br>[75:37] know. It's probably like 200 books or<br>[75:38] whatever.<br>[75:39] >> And they're pretty good. They're for<br>[75:41] more like the f I would say five, six,<br>[75:43] seven. Like, so you should if you want<br>[75:44] some like original storytelling, you<br>[75:46] could go with that. And there is a<br>[75:48] there's they're written in a very<br>[75:50] specific way which is probably good for<br>[75:52] little kids which is like basically<br>[75:53] every one of them starts the same and<br>[75:54] basically every one of them ends the<br>[75:56] same like because they continue into<br>[75:58] each other. So it's like okay now we go<br>[76:00] home at the end of the story like they<br>[76:01] go to the magic treehouse to start on<br>[76:03] their next adventure and then they come<br>[76:04] home through the magic treehouse to go<br>[76:06] back home.<br>[76:07] >> But like they're literally like almost<br>[76:09] identical every single story. So, it's<br>[76:11] like the reading the beginning and the<br>[76:12] end of each one, like when you're on<br>[76:14] book 72 of it, you're like, "Boy, this<br>[76:17] is really getting to me." Just because<br>[76:18] they're identical as the adult,<br>[76:20] >> but they're kind of fun. And then they<br>[76:21] can read themselves and whatever, blah<br>[76:23] blah. But, um, but this is cool. I wish<br>[76:26] I'd known about this.<br>[76:27] >> Read read to your kids, folks. Give them<br>[76:30] give them an unfair advantage.<br>[76:33] >> All right, that's it. We're done. Thanks<br>[76:36] to the sponsors. Check sponsor us at<br>[76:39] mostlytechnical.com<br>[76:40] or we do have another new sponsor coming<br>[76:42] up in August which will be cool but<br>[76:44] there's still room so get those new<br>[76:45] sponsorships. I got to update that link<br>[76:47] but by the time you hear this you'll be<br>[76:49] able to sponsor through the new outro.<br>[76:51] Won't that be exciting? So<br>[76:52] >> maybe<br>[76:53] >> no you can do that. Um and yeah if you<br>[76:56] want to email us mostly<br>[76:57] [email protected]<br>[77:01] and we will not see you next week but<br>[77:03] the week after. Talk to you later. See<br>[77:05] you. Hello. >> Hello, sir. You said you have a rant. I'm nervous. >> Oh, first of all, let me tell you, I slept like four hours last night in two separate blocks total. So, I'm a little delirious. You're getting delirious, Ian. This is >> top my game. So, I had to Here's my rant, though. Tahoe is the biggest pile of crap Apple has ever shipped. It's absolutely terrible. Wow. >> I spend hours every week fighting it. I We're trying to record this podcast. I had to restart my computer because my headphones are connected but won't become the active output. It's insanity. Everything is slow. The account switching is slow. It's crazy. I had a MacBook Air that I got rid of because I was like, you know, the RAM price is going to go crazy. I know they're going to make these computers twice the price. So, I'm just going to get the MacBook Pro with a bunch of RAM, which was accurate, but now I'm forced to Tahoe. And this MacBook Pro is like half the speed the Air was. It's freaking crazy. >> That's why we don't That's why we don't use Tahoe. I [laughter] still haven't upgraded because it sucks. >> It's It's We are talking like Windows, you know, bad Windows XP or was that the good one? Whichever. Which was the good one. That was the one. Windows XP was the good one. Yeah. >> The the what was the one? The one where they made it like an iPad UI. That was a bad one, right? Like >> uh Windows ME Millennial Edition or >> all the Windows >> I think when they switched to like the Surface version and it had all those tiles >> Metro and all that. >> Yeah. Yeah. Yeah. Yeah. >> Well, this is that this is back to the days of like I I just let me restart my computer every two days so it's all fresh and it works fast for a day. Like it's insanity. I don't understand what's going on. >> My my my Mac OS Synoma serves at my pleasure. I unplug stuff. I It's running and I just It's in clamshell mode and I just disconnect all the cables and walk out the door >> and then I open it when I get home and I'm like, "Figure it out, man." And it just figures it out. It's great. >> You never update. Never update. They need a Snow Leopard release. They need Snow Tahoe where all they do is fix bugs. All they do is fix bugs. >> This is what I want to hear from John Turnis. >> This is what I'm hoping John Turnis will do. I love I love Tim Cook. He's a ruthless operations expert and I have a lot of respect for that. Um he in my opinion is not he's not a software guy. He's a supply chain guy. And so I'm hoping this new I'm hoping this new guy uh is more of the Steve Jobs school of thought than the Tim Cook school of thought. Tim Cook great COO and you can't argue with the stock's performance uh under him as CEO, but I do think we need a little bit of vision back in the game over there. >> I think just a guy Tim Cook strikes me as a guy he works off his iPad and like that's fine, right? He's iPad guy. It's lighter. It's easier. He's just typing a million emails a day. He's got the little keyboard thing, right? And the iPad never It's never slow. It's a freaking iPad. It's fine. Right. >> How could it be? Yeah. >> Right. But like Turnis, I'm hoping is a Mac guy. And when he's like, "Boy, I switch over to my AI account and I use my little finger fast switcher thing and it's slow. Why is that? Oh, my headphones don't work. That sucks." Like I want him to be annoyed by these things and heads to roll because he's like, "Why the hell does it work like this?" Have you seen the juxtiposition of the Steve Jobs office and the Tim Cook office? Like when they're they're actual personal offices, >> the Steve Jobs office is like Einstein's office uh at his death um [clears throat] at Einstein's death. The Steve Jobs office has a giant like iMac in the middle and then it's just surrounded by detritus just papers and documents everything. The uh Tim Cook office is basically like an Apple store, but it cost, you know, maybe double or triple the cost of it. Um, but it's just this sleek office, not a thing to be found. Maybe like four framed pictures on the floor leaning against the wall, >> but there's just nothing out of place because there's nothing in there. Um, and I think it just really illuminates the difference between like creative genius and strategic operational genius. just different. They're just playing different games. >> He doesn't have a bunch of prototypes laying around that he was playing with like Yeah, >> he's just >> Yeah. And I love Tim Cook Operations guy. This is why we call them iPhones. This is why the iPhone hasn't gone up in price in 10 years or something crazy like that's >> why they can make a billion of them and they're all good. Yeah. >> And they're still making 40% margins on a thing they haven't raised the price on in 10 years because he's a genius and that's great. But >> it's time to come back around. We absolutely need the snow leopard or whatever that thing was called and let's fix the stuff. Got 8 million features you shipped. Let's bring it back together. Let's make it all work nice. Nice. >> We've had our era of expansion. Now it's era of contraction and refinement. >> Refinement. They don't have to contract. They have to refine. I like that too. >> Yes. Refine what we have. We got a lot of stuff. I'm sure they're working on new stuff that's whatever. Some their tabletop robots and their glasses and their stuff. Okay. before that stuff comes out. Let's make sure the stuff we have is working. Let's do that. >> A lesson for us all. In fact, [laughter] >> you you did just spring a side project to your side project on me yesterday. You're like, I got a thing that does that. Here it is. I got a side project to my >> project. There's there's a possibility I don't tell you about some things because you're going to tell me things I don't want to hear like what are you doing or you should focus or you're never going to retire or software is hard. >> So sometimes sometimes I'll do things in secret. I keep it secret even from you Ian. And yesterday, >> yesterday I was in church paying very close attention to the sermon and then I checked my phone just for a second to see what was going on. It was like a little downtime, you know, it wasn't it wasn't during the sermon and I see >> I see Ian talking about this problem in a Telegram group I'm in. And I'm like, "Ah, man. Hey, Ian, I got a I built out a full solution for this, by the way, but I've I only use it and I've never ever told anyone about it." And then I go back to paying attention to the sermon. So >> nothing that makes me feel more like I want to use that in my production app than I use this occasionally for myself. You can use it too. >> It's very good. I will say >> you have a nice homepage. I mean it's like it's ready to go as far. >> Let's just talk about it. Why not? Why the hell not? Let's just say >> you were trying to do some FFmpeg stuff. Um, FFmpeg notorious or famous maybe for being uh able to use every single core on the machine. Um, it can be pretty heavy. It can max out. It can fully saturate all these cores doing this transcoding, re-encoding, all this stuff. >> Hard hard to get good throughput on uh a VPS web server. So in my case, I'm I've got a lot on uh I've got database school on Laravel Forge. I've got faster.dev on Laravel Forge. So the issue is when I when I have like a course that I upload, let's say the Convex course, and I've got 50 videos that need to be encoded. Uh that is going to literally take days. And we've been through this whole mess, right, where I'm like, I'm going to set up my local Mac Studio as a Q worker for my remote web server cuz it's beefy, and then I'll just transcode it there. I'm going to spin up Forge servers on demand and transcode it there. >> And it just started becoming a pain across these these different uh properties, these different web apps that need to do encoding. So, I built something that works great and nobody's ever heard of. >> Yes, Ian. >> This is no different than saying I used my IDE to build it. This is just how we build things now. I built something. Okay. >> Okay. All right. >> It's just a tool. I don't say I used a hammer to build the house. I say I built the house. Okay. >> First of all, so I built something. um it is both a local binary and a remote execution environment. So >> okay >> now instead of just typing ffmpeg you type cfmpeg for cloud ffmpeg. So it's a local binary called cfmpeg. It takes all the exact same arguments as ffmpeg. >> Mhm. >> But in uh in the background, it uploads uh and there's some very clever parts about it, but just broadly it uploads your video file to a remote sandbox that runs on modal. So modal.com has all these like big beefy VPS's or I guess I don't know if they're actually VPS's but you can get GPU enabled and like super CPU enabled which is where FFmpeg thrives. >> So behind the scenes it uh provisions your own sandbox and it uploads your video and it does all the transcoding, re-encoding, everything that FFmpeg does. It does it on modal and then it streams it back down. So from your perspective, it's as if you ran it locally. It's just way faster. >> And so some of the some of the things I was able to pull off is like uh fast starting. So I upload the video in chunks and when the first chunk arrives at Modal, the transcoding starts. And so you could actually have a situation where you are transcoding a video and you're already reddownloading the first part of it before it even finishes transcoding. So, it's this nice like upload in chunks, start transcoding or running these commands in chunks, and then start downloading before you might even start downloading before it's finished uploading because you can do it all in chunks >> and it just comes back like the output just comes back as regular ffmpeg output. So, if you were like ah and write it to this file, it would write to that file. But it all happens on modal and you can configure you can configure the size of the box just directly from your ffmpeg command. So you can say I want you know 32 vCPUs for this encoding job and I want four for this one or something. So >> it's a full-on thing. It's got billing. It's got you know it's got API. You can download the binary and put it on your You could download the binary and put it in like a serverless environment and you could still run it in a serverless environment which is kind of neat. So cfmpeg.com don't sign up for it. [laughter] >> Don't sign up for it. Is it is it blocked or no? >> No, it's it's just out there. >> It's working. Okay. All right. >> cfmpeg.com. I think I have a new landing coming business because I feel like you know what's weird about this ffmpeg stuff is that like even like AWS Cloudflare like nobody has the tools to do this. So I feel like if it was a thing that a lot of >> they're not trying hard enough >> they would it would exist but it doesn't exist. So I feel like it's like not really a business probably. But >> that's where you're wrong. They're just they need to try harder. Yeah. >> Okay. All right. >> This is a good website. This landing page is good. How long ago did you build this thing? >> Oh, probably four or five months ago. >> Okay. You still using it? >> Yep. >> I'm hoping I don't even need to do any of that stuff. I just need to like I start Outro was using 11 Labs because it'll take like the whole audio file at once. >> Sure. >> But 11 Labs is super weird. It's quite expensive. It just does a bunch of stuff I don't need. it just seems like overkill and weirdness for no reason. Um, so I was like, let me just move to the OpenAI. They have the thing. Open AAI is actually better in a couple ways. And but OpenAI only accepts 25 megabyte chunks. >> So it's like I have to slice this audio file. So I think I need FFmpeg. This is what the AI thinks I should use. I don't know. Maybe there's some dumber way to do it. I wonder, can you just slice an MP3 in the middle? >> I don't know. >> You think I could just slice it? I would just keep using 11 personally. I I'll abide I will abide no 11 Labs slander. I think >> I think 11 I think 11 is >> top of the top. Um >> interesting. >> Yeah, let me revisit it. You they do this thing that I hate which is like you can't even understand the pricing really. It's like there's seven tiers. Why are there seven tiers of like creator and this thing >> and then yeah, you get a certain amount of credits. So ultimately, you're just paying for your overages because you're going to have overages because that's the whole they're not covering like your whole usage. So it's like I don't care for that model. Like if you're a metered thing, just say what the meter is and let me pay at the metered level and that's it. So anyway, >> I use 11 for all my transcription. >> It's great. >> Yeah, I do. >> I do. There's just just no beating it. You could string together. You could string together uh your goofy little setup, but you're a businessman. You should just use 11 Labs. >> Well, here's the other thing. I'm trying to like do what I didn't want to do for Outro, which I can still do. This isn't like the killer thing of it, but like to have a $29 plan. I was going to have only a $99 plan, >> but I was like, there's so many people who aren't going to pay $99. Obviously, there'll be a free plan, but the free plan sucks because it doesn't have the AI and whatever, blah blah. I mean, it'll be fine for a lot of people. That's fine if you just want the cambian stuff. >> Um, >> so I don't know. I was like, the AI convinced me that I'm leaving too much on the table by not having like some type of more approachable plan. So, I was like, fine. I don't know. Anyway, I don't want to get down that road. All right, let me re look at 11 Labs and do a real analysis cuz then I won't have to rebuild anything which is nice. And well, it all already works so maybe it's fine. >> While you look at 11 Labs, let me tell you about two of my dear friends. >> Oh yeah, great idea. >> My first dear friend is Dropin Blog. Dropin blog is a headless blog CMS with a first class Laravel SDK, which means you get your domain, your design, your stack, and it doesn't say this here, but because it's your domain, you get your root level SEO. So, you can keep all of that on your own property. Check them out at dropinblog.com. And if we didn't convince you last week that blogging is not dead, well then you are unconvincible because we made a pretty good argument. Now our other friend, Bento, brought to you by Bento at bento.com. This just says the sponsor copy that Jesse Hanley himself wrote says, "As you were, sir." So we're just gonna do it live. Bento is the best way to send marketing and transactional email with AI. And check out their new transactional pricing, which I believe is free for up to it's up like free for up to a hundred emails and then 9 cents per uh 1,000 after 12,500 emails. So you can send 12,500 emails for $5. So check them out at bento.com. Thank you to uh Jesse and Jesse. They're both Jesse. Thank you to the Jess's for sponsoring this show. Small production note for Ian. Uh we got to make sure that there's actual ad copy in here cuz as you were sir, you know, kind of it kind of spiked my cortisol a little bit and I was like, "Oh, I remember this. I remember what what Bento does. I know it." But hey, give the man a little help here. Uh, luckily we have the ability to edit the the content of the ads in batch for shows that haven't aired. So, we can do that in the sponsor section. So, I will update that. >> Put put the gopher on it. >> Yeah, the go I don't know if the gopher can actually do that. We should let him do that. But, >> make the gopher be able to do that and then put the gopher on it. >> Well, there's definitely a page where we can do it in the sponsor section, but it would be cool to have the gopher be able to do it. Um, Bento. So, I didn't let a person into Outro yet, but Bento is the first non one of us to use a feature of Outro, which he is now a subscription sponsor to the show. So, every four episodes, >> he will be renewing uh automatically. >> So, you built in you built in Stripe subscriptions into Outro. >> Yes. Through that crazy connect thing, it's all nuts. So now I had to create a new Stripe account for the show so we could do the Stripe Connect thing, whatever. Blah blah blah. >> Oh, so you're not even you're doing it the proper way that a c a future customer of yours would do it, >> right? Yeah. >> Oh, that's good. >> Yeah. So this actually using the real stuff, real customers use. >> There's a f I think by right now it's like 5% fee to use the sponsorship stuff. So that gets peeled off. Um, so I think I set R to zero though. I made a way you can override because it's us. Um, so yeah. So I don't know. Stuff's happening. Um, I'm too exhausted to get into all that. But anyway, stuff is going on there. Blah blah blah. Thanks everybody for sponsoring. He's the first sponsor to use new sponsor tool. That's cool. Um, >> you just Seinfeld. You just you just yada yada yada the best part. You just blah blah blah the best part. All the interesting technical you yada yada it. That's unbelievable. >> Tired. >> All right. Tired man. >> Can we talk about World Cup for a minute? Let's reset on World Cup. >> Let's reset on World Cup. But then I want to hear you let uh you let Soul rip for 48 hours. I want to hear the aftermath of that. >> Yeah. >> I want to hear if we landed anything and then we teased it on Tokentown tokentown.com uh that Aaron is training a model. So we can talk about that. But let's let's wake up pricing stuff. I have help placing stuff. You want your actual >> some World Cup. What is uh what's your opinion on Spain Argentina there? >> Ah, Spain was the better team. So annoying. >> Spain was the better team. So annoying. >> Let them hang around and it would have been crazy. Just snuck one in there and >> Yeah, I I don't know if I've ever seen a game ever where Messi was shut down as this. Like >> Messi was nonexistent on the field >> in Spain, in Paris. I don't think I've ever seen him this just totally out of the game. Just gone. >> Completely out of the game. It's like he wasn't even there. >> Yeah, it was pretty impressive, I have to say. >> How about that horrific tackle in like the whatever the 94th minute or whatever it was that got that guy the second yellow. >> Yeah, that was a dumb move. I don't know what he >> was both of his cards were so dumb. He got a card for descent, which get your head on your shoulders. This is a World Cup final. What the hell are you doing? And then you're on a yellow card and you fly into a tackle that literally makes the guy do a 360. Like what are you thinking? >> It's very bizarre. It's like you want to play down a man. He like doesn't you're getting destroyed but you're somehow still in the game. Like don't >> emotional regulation whatsoever. That was that was unbelievable. >> That was very bad. So the wheels came off a little bit there. Um, I guess frustration, but it's still 000. Like, yes, you're getting destroyed, but you're somehow still have it 00. So, you got to hold together. You can't just kicked out of the game on a >> completely ridiculous. Totally pointless. It's not like, oh, he's >> totally pointless. It was behind turn down like >> Yeah, it's the middle of the field. Like, okay, he maybe he got past you, whatever. Like, there's still seven guys behind you. Like, it's fine. You don't have to like take this guy out. >> Don't murder this guy. Jeez, >> it was very frustrating. It was one of the worst games of the World Cup really, like entertainment wise. >> Yeah, I was I was very disappointed. I >> I think a lot of people I'm learning hate Argentina. >> Um but I just wanted I just wanted Messi to win. That's all I wanted. It's not that complicated. Yeah, >> exactly. [laughter] >> Uh he made it back. He probably shouldn't have. You know, they beat Egypt there. They got they got some lucky goals along the way, so they had a good run. Yeah, they they if they had won, it would have been deserving. >> It would have been it would have been fine. They they came back from behind twice to win. Like >> that's not not deserving, but like they ran good as we would say in poker. You know, they had some run good where like they got teams made errors, they capitalized, which is how it's supposed to be. But uh [sighs] I don't know. I would have liked to see Messi take it down. But >> when they went down 10, I thought, "Oh, thank God they're Argentina is going to win two to one now." [laughter] But it didn't happen. Like it never it never materialized. I was that was fun. >> It was This is also one of the first times like I feel like Messi's sort of walking never really is a factor in the game. It's fine. Like he ends up where he used to be. >> Yeah. He doesn't play a lot of defense, but they built a defensive oriented team, so it kind it doesn't you never are like, "Boy, they need that defender." But this was the first game where I felt that way too. I was like, boy, Bessie, like we really need Messi to play some defense here. And he's like, it's just not that. He doesn't have that in the >> You're down a man >> and you're still walking around cuz you're 39, which brother, I get it. Like I totally get it. Um, but I'm not in the World Cup. So, >> yeah, that's hurt. That's where like, man, coaching wise, you just can't let that play that player cannot get that red card. He just can't like he's got another situation be like we're basically playing down a man already like when it comes to defense. We can't have too >> you gotta get him off the field. >> Just sub sub him out. So that that was too bad. Um and I'm also sad that the whole thing is over. >> Like it was it was a good month even after the group stage ended. I was like, "Oh man, >> there's not four games a day anymore." Like getting back to the real world, which sucks. Um >> yeah, >> but great tournament, very happy with uh almost all of the games. The the third place game was just like a was an all-star mess around, you know, ended 64, which was a lot of fun, but a little bit insane. Um >> that was a little insane. >> So that was fun. But I do agree that uh third place games should not have bearing on Golden Boot stats because that's like >> there's no stakes. You're just there because the Federation forced you to play for third place. You don't super care. You're not playing defense. And so it ends 64 and you're like, "Oh, that's not totally fair." Um >> they're not playing their starters. Yeah. Like the whole thing is like >> Yeah. Harry Kane, I don't even think played a minute if I recall correctly. So, all right. Let's see what else you got. You want to do you want to do your Fable uh or I'm sorry, your Soul Ultra recap or do you want to do some pricing followup? >> Ultra uh my Soul Ultra I talked about on Token Town, but basically I sent it off for 50 hours or something. It did some stuff. It fable and soul came up with a plan of stuff that still needed to happen in outro. I looked at it briefly. I said, "Go forth and fix all those things. They seem reasonable." And it went forth and it seems to have fixed them all. I any bugs at all? It's kind of crazy. It went for 40 something hours without an issue. >> So, did did you did you land at all? Do the features work? Did you test it? Like, are you happy with the output? We we covered I think on Token Town, we covered that it was running, but we didn't get to the here's >> here's the result. >> So, it was all a lot of fiddly stuff and I uh did not check it that closely. It was like a lot of not super fiddly, but it was like, oh, like here's some gaps in the security stuff, which is, you know, good stuff. Here's some like um things with the billing stuff that's that are unfinished and here is this and that. So, it was like a lot of like little thing that was unfinished, little thing that doesn't actually properly implement the permission structure in a few spot like it was like a lot. It was like 30 things like that and it did them. I don't really know why it took 40 hours. That part was a little weird. Like I mean it's like super testing and retesting and now it always runs the full test suite and now the test suite's really big which I kind of want to go through that and be like >> might spend 20 hours on a run of go through this test suite go through every test and is this like >> a legit test or is this just some [ย \_\_ย ] where you're checking like >> right checking freaking hate that crap. >> Yeah. So like I know there's some of that stuff in there. So it's like let's kill these stupid tests so we can like run the test suite faster. But um yeah, so that was good. I did send it. I had another big one over the weekend where it build built out all the billing the like complete billing stuff so we can it doesn't have the $29 plan in it yet but you know the free plan the restrictions for the free plan um the quota limit system for the various aspects of the plan types and all that stuff. So I don't know. We'll see. I think at this point I'm not going to let anybody in there till after we're back from like Boston and stuff. But uh >> because it's like I just don't want to like once people start using it even one person >> one person there now like three or four people who want in like pretty badly but it's like one two one person in there they're going to have bugs >> you know I just listened to a podcast uh recently called notes on work where this one guy was telling Caleb Porzio you got a ship you got to ship you got a ship. You need to get back. You need to get back to shipping. I forget the guy's name, but that would be good. Good advice. Yeah. For you potentially is you just got to ship. You got to >> see. The thing [laughter] is, the thing is, >> no, I disagree. >> Advice is not the same. You can't just take advice for one person and stick it onto another person. >> I know that's true. But tell tell me why this guy's advice doesn't apply to you. >> Well, because first of all, I'm shipping a lot of stuff on the HubSpot end of the world. Like, there's things shipping. >> That's always your out. That's always your out. >> Yeah. Well, that's the real out. And so I don't want to be that little distraction. I have trips coming. We got Boston coming up. After that, I got another trip coming up. After that, I have another trip coming up. So, I got some trips coming up. So, I just want to be careful when I release it because I don't want to release it and be mad at it and be upset by it. So, >> get some people in there. >> We'll get some people in. >> But, >> you don't you don't want to release it and then be so frustrated that you cry and sleep in the office. You don't want to do that. >> Exactly. I don't want to be >> That's interesting. >> Trying to avoid that. I've already exhausted enough. I don't need to be sleeping at the office working on it. So, >> yeah, that's interesting. All right. Well, if you if you claim if you claim uh Helpspot is shipping so much, tell me about Helpspot B pricing. >> So, we talked about HubSpot pricing last week, right, which was a very useful session. Uh, we got some interesting, this is actually probably the most direct feedback I've gotten from a podcast in quite some time where like people are coming all out with their opinions on what we should do there. Um, whatever. I'm not sure what we're going to do there yet. I'm actually kind of leaning towards just the sort of inner rears. Last month you used X, we bill you for X. >> Keep it simple. This is what John Nolan was pushing in a Telegram with both of us. Um, the AI went through it with AI. The AI prefers that. So, >> so no buckets, just pure usage. >> No, I think still buckets. Maybe I'm a little torn. I kind of want to keep the buckets because I think people most people are going to generally stay in the buckets. And I think I like that from like a budgeting sort of angle for people. >> I don't know. But it could just be straight. It could just be straight, too. I I think there could be some kind of buckets. Maybe it ends up being tighter buckets if I do that method. So it's not just to lessen the people of like, oh, I 502 and that sent me over into the 500 to 1,000 tier and it's like a lot more money in the 500 to 1,000 tier. So we might do like tighter buckets. I don't know. I'm not sure what to do with that yet. Here's a new wrinkle. On top of all that, which is one of the things that's going to be interesting and useful, especially since HubSpot can be run on premise, is that we in theory will be able to let people bring their own AI key. And so then their data doesn't go through us at all and they the AI calls go to OpenAI or whoever potentially we could have multiple providers even. And then the question is how do we build for that? >> So is the question is the thought here that you're like they can bring their own key but you still want to get some margin on that somehow or what's what's the question? >> Yes. So we built these features that let auto answering occur in theory. This is this is what you're paying for. So to me the like the cost of the AI doesn't really matter. Like if you end up if your staff is 20% more productive or you take that and you reduce your staff by 20% saving $150,000 that we're charging you six grand a year or eight grand a year is like unconnected from whatever the AI costs are right so like so I don't necessarily want to be like oh if you bring your own key then these features are all free because the other problem with that is like these are the by far the most expensive features we've ever developed. they're going to be the most expensive features to maintain we probably ever had because most other features are just very straightforward. Oh, there's a toggle, there's a checkbox, it does a thing, whatever. Whereas like this is like going to be ongoing >> improvements, enhancements, does it work well? Answering stuff, things are changing. What do you got? >> Bring your own key costs a flat X,000 a year. >> Problem solved. >> I thought about that. does like an add-on. But again, >> I said it, so I get the credit. >> No, I don't like this. >> You thought about it, but I said it. Why don't you like it? >> Because like first of all, if you have if it's if you say if you're a tiny shop, then it's going to be too expensive, >> right? >> It's going to be too cheap. >> Do you know what I'm saying? >> That's called in economics, that's called consumer surplus. You get yours and they get the bonus. That's fine. >> No, it's not fine. I want to capture some of that bonus. Why do they get all >> you do? You capture you capture some of it and the rest goes to the consumer. It's consumer surplus. >> I am leaning towards still just charging the ticketed rate. >> Maybe even if they bring their own key. >> Yes. Because here you're crazy. [clears throat] >> Here's the thing. Think about this way. >> The most expensive plan on every SAS app is so that you can have single sign on, right? You got to go to the enterprise plan if you want single sign on. >> Sure. >> Why? It's just a you built it. it done. Like, it cost you no money to have single sign on. >> But yet, you're making me go from the $19 a month plan to the $120 a month plan so I can have single sign on. >> Like, >> that's the same exact thing as this. Like, okay, you want to bring your own key because you have your own like you have your own deal with OpenAI. You don't want it to pass through our server, whatever. You have a security most likely scenario of why you don't want it or privacy scenario. Not the you I could charge a premium for that. That's what other people do with privacy and security. >> You can and you should, but you can't then turn around and charge them usage for something that is not actually part of your cost of goods sold. So you can charge a premium. No, you can't. So you can charge a premium and say instead of six grand a year, it's 12 grand a year to bring your own key. That is a premium. But then you can't say you paid OpenAI $500 last month, therefore I'm gonna charge you $500. You can't like charge usage on top of something that is not running your cost center, >> right? Let's say like let's say in the normal scenario without bringing your own key, you have 200 tickets that however we ultimately bill buy, you have 200 tickets is your volume. >> Uh and so it's $100 for the month. Let's just say whatever, right? Mhm. >> That's a normal scenario. 50 cents a ticket. Now, if you bring your own key and you have 200 tickets, I still think charging you $100 makes sense. >> No, that's crazy because >> you're not actually charging for tickets. This is a huristic. This is like a derivative of your cost of goods sold. You're saying, "I'm going to charge you for 100 tickets." In reality, you're charging them uh for AI usage to complete a 100 tickets, right? And so if you turn around, >> yes, you are. >> You 100% are. What are you talking about? >> No, I'm charging the value of answering that ticket for you. >> No, you're positioning you're positioning as the value. You're charging to cover your costs. >> No, I I mean, I want it to be profitable beyond covering my costs. But what I'm what I'm saying is >> I get what you're saying and I get that that's obvious. >> You don't get what I'm saying. >> I get that's why people are going to push back on. >> Sleepy guy does not get what I'm [laughter] saying. >> Okay. >> What what >> the cost of every customer, every additional customer before AI was zero. Right. >> Correct. >> So why was I charging them anything? Like having one more customer cost me nothing. So I should have charged them nothing or close to nothing. But instead I charged them thousands of dollars. >> Right. Even though there was no more cost to me effectively. >> Yes. Cuz you're offsetting fixed costs there. But with the ticket bucket, this is a variable cost. If they >> only part of it is >> only >> but not all the development work and support and maintenance >> and that is where you get to charge bring your own key people a flat rate to offset the fixed development costs. You you should you can and should do that. That is the premium that is that I built these features. I maintain these features and you will fund these features. >> On top of that, you can't then go and say I'm going to charge you an amount to offset my variable costs which do not exist >> if they bo right. Mhm. >> So in in the world where they use your keys, you are charging a usagebased cost to not only cover your variable costs but to defay the fixed costs of building and maintaining the application. >> If they bring their own key, you only, in my opinion, get to cover the fixed costs by charging them double the yearly price. But then you don't get to double dip and say, "I'm also gonna charge you variable costs for which I'm gonna charge you variable pricing for which I have no variable costs." That feels crazy to me. >> But here we go. Like we just talked about this I think during our pricing talk last week or whatever it was. We are both believers I think that the cost of the inference is going to go down, >> right? >> Yes. >> So the people who are just signing up not bringing their own key. Okay. They're just signing up. we're gonna pay you by by the ticket, >> right? The inference cost is gonna keep going down. The amount that's profit is gonna get bigger. >> Okay? >> So, those people are are paying more even though two years from now, the inference cost nothing to answer these tickets effectively. >> Why should the people bring their own key get this feature for free, but the people who use our key pay? >> They don't get it for free. You charge them. But it's the same difference like they're they're they're getting it potentially they're they're less aligned because like some people are going to be overpaying in that scenario and some people are going to be underpaying in that scenario. >> I think you're parsing it too thin. I think you're thinking about it too technically. >> Okay. [clears throat] >> I think I think you have two you have two buckets here. Fixed and variable cost >> and you should cover them both. >> You should price by by cost in software. I don't believe that's a thing. >> You have to price directionally like directionally based even even if just based on perception. I cannot imagine >> I cannot imagine the hardest part of this. I agree with >> I cannot imagine going to the market and saying >> you you cover your own variable cost and I'm going to charge you based upon your variable cost. That sounds really tough. >> It sounds crazy to go to Zenesk, right, and pay five to 10 times the amount of the base plan so that you can have sock 2, which their whole organization is sock 2, but you only get sock two, whatever. It's I mean, it's even bizarre to even say it because it actually doesn't make any sense. >> It's different. >> You only get sock two on the enterprise plan and you only get single sign on on the enterprise plan. So, you're going to pay 10 times more for that. Even though those are things that are already just part of the organization, part of the application already built. >> I think it's different. I think that's different. >> I think it is different. I think >> there's no variable there's no variable cost there. >> Yeah, >> I think it's I think it's different. >> But the end result is that the variable cost is probably going to be reduced in the future, >> which is fine. That just means people that aren't No, that just means the people that aren't bringing their own key, their uh their mixture to your to your uh income statement changes over time from predominantly maybe covering variable to predominantly deferring fixed. I don't think that's a problem at all. and they understand when you bill by bucket of tickets, they understand, oh, there must be some variable cost here. And so I think it's just the mixture changes over time. And if they want, if they want to be cheap, bring Okay, the pricing is, >> let's just, you said 6,000 earlier, so we'll go with it. Let's say for a certain client customer, Helpspot costs six grand a year. If they want to bring their own key, >> they have to pay just like SSO or whatever else, HIPPA, they have to pay some increased uh increased plan. Let's say it's 10,000 a year. That feels like a lot, but I have no idea. So, they pay for access to these extra features. >> Mhm. If they don't want to bring their own key and they want to use Helpspot provided keys, then they fall into the buckets thing. They just, you know, you pay X dollars for 100 tickets. That's how it works. >> You know, there are some other wrinkles here. Like if when it's not our key, well, it depends. If they're using the same provider as us, it should be like close enough that it won't matter. But if they're using like if they switch providers or if we let them switch providers, if we let them switch uh models potentially, right? Like now like support costs increase because it's like this doesn't work. Well, that's because you switched it on to sonnet for everything or >> that's what the extra grand is for or whatever, right? >> I don't know. This is not I don't I don't know. I don't like it. I don't like that extra complexity in the pricing. It's now like a whole another tier. It's a whole different thing. What about this? What about we have the ticket buckets. You used 500 tickets that cost $200 a month, whatever it is. But if you bring your own key, it's 20% less. >> No. >> Why are you tying it to the cost? That's not how you price software. >> I I understand that completely. I am thinking from a consumer point of view. >> If you're telling me that you have a price for AI, like if you're if I go to your pricing page and it says AI enabled ticket closing, whatever. >> Uh 100 tickets, $100. 200 tickets, $200, doesn't matter. If I go and I look at that pricing >> and I'm like, "Oh, okay. I understand that the more that I the more tickets that I close using Ian's AI, whatever, the more that I pay. That seems reasonable to me. And then I look and I see if I bring my own key, which is code word for if I pay my own costs, >> sure, >> then Ian's cost only gets cut down by 20%. That feels like why am I paying for >> why am I paying my own cost and I'm paying 80% of yens? That makes no sense to me. I know you do. I know you do. It's impossible. This is crazy. You haven't slept in days. This is crazy. >> Like the the the clearest uh which I don't think it's going to necessarily always work out this way, but let's just take the clearest angle, which is >> sure. >> I cannot wait for John O Nolan to tell me how right I am on this episode. Oh, it's my best when he wakes up wherever he is in the world. >> Convince him, too. >> And he says, "I'm with I'm with Aaron on this one. I'm usually with Ian." >> So, here we go. First of all, let's just say you're going to take this savings. You're pure taking as savings on your payroll. >> So, if this if this thing can ultimately answer 10% of your requests perfectly or very close to perfectly reliably and you have 10% less staff, >> Mhm. You're saving tens to hundreds of thousands of dollars, let's say, right? >> Yes. Agrees. Agree so far with the caveat that this is a tangential argument, but I agree so far. >> I saved you $80,000. Let's say one two two $40,000 a year employees and you're paying again 5,000 or 6,000 a year or whatever. Fine. Okay. So, you have a huge savings there regardless. Forget the cost stuff. That's just your costs are going down in absolute. Okay. But I understand that's not always how people look at software file. Now let's look at the bigger market. Who else even lets you bring your own key? That would be nobody. So if you want to bring your own key, you will have like literally no options other than like build your own help desk software. Maybe there's like an open source thing out there somewhere. Who knows? But like none of the you're not going to help scout, not going to Zenesk, you're not going any of these guys be like I'm bringing my own key. Like you're not going to Finn. Nobody's letting you bring your own key. Then on top of that, if we average the price to let's say 50 cents a ticketish. Now, everybody's got different models for this. So, this the cross comparison is a little harder here, but like you know, Finn's 99 cents, Help Scouts 75 cents, I think, whatever. Like, again, we were thinking about going on ticket volume, so it probably be even less per ticket, but they're charging based on answers. So, that one's a little trickier, but still, I still think we'll ultimately end up being cheaper. The goal even I want it to be cheaper per resolution even if we don't exactly build that way. So it's cheaper. It does something that literally nobody else lets you do. You can't do it. And it's also saving you money in absolute terms if you're using it either on staff or if those staff are freed up to, you know, treat do more stuff in other parts of the business or do more outreach or whatever you want to have them do because now they have more time. So, how is that not worth the extra few thousand dollars that you think you're saving with bringing your own kid? >> Yeah, I think [clears throat] I think your argument is is fine >> based on like based on on value metrics like let's say I bring my own key and then I fire everyone and I'm so happy like I'm super ahead except for like the state of the world besides that part. Um, >> and I can write down on a sheet of paper the value that was derived from using Helpspot and I can see that most of the surplus acred to me, you know, the the owner of the company. I just don't think that's how it's going to I I don't think that's the correct argument or the correct um like the correct lens through which to make this argument. I think >> I mean let's take like let's take Laravel Forge for example. >> Um what if what if Laravel Holdings Incorporated charged me based on how many uh vCPUs my servers that I'm paying for are using. That just doesn't seem like >> I understand paying for Laravel Forge to orchestrate resources that I'm also paying for. I understand Laravel cloud charging me based on usage. I don't understand Laravel Forge being an orchestration layer and then charging me for usage that I'm paying for directly to Digital Ocean or Lenode or whatever. >> Right? I also understand uh firms charging double for SSO because it meets some enterprise mandate and therefore your buyer is price insensitive. I understand that as well. >> And so >> that's what I'm talking about exactly. >> Well, but what I'm talking about is charging >> charging these we'll call them privacy maybe they're not even cost sensitive they're privacy sensitive and they want to use their own open router account or whatever, >> right? Uh, I understand charging them double, but I still don't understand charging them based on usage of their own private resources. That's the thing I don't understand. How can you glom on to their private resource usage and say, "I'm going to charge you extra based on what you're paying to this party that is your business and not mine." That's the part that like from a from a customer perspective I don't I don't fully understand. >> Yeah. Well, I think that the Forge example is a little different because like the competitors to Forge also don't charge that way, right? So whereas the competitors to what I'm talking about, first of all, don't even let you do this period. Can't do it. So if you want to from privacy or because you have a special deal with OpenAI where they only route stuff through Germany, right? And you want to always route it through Germany, you literally can't do it. And so it's a service and that we are letting you do something the other providers will not even let you do. You want to do it, but you cannot do it. Now again, I think there's the spectrum, right? like a big company, I don't think they're going to care at all because it's like whatever. It's a if I tell them it's $10,000 or it's $10,000 in usage, what's the difference? Like it's it's not a lot of money to them. I do think there will be smaller people who are like, "Oh, I want this feature and if I can save $400 a year on it by using my own key, then that would be cool." Um, but then do I care about that? Maybe I don't care about that. like your option is use our key or not and pay the extra $400 you think you're paying, which may or may not be true, blah blah blah. But like >> I don't know. >> I'm unconvinced. >> My final >> I understand what you're saying, but >> my final stance, and we'll we'll let we'll let uh the people weigh in. >> My final stance is for bring your own key, you should charge them a premium. Mhm. >> For bring your own key, you should not charge them a usagebased premium. >> That's my final stance. You should charge charge the hell out of them because they're special little boys. And I love that. If you want to be special, you got to pay to be special. >> But that should be a uh a premium completely discreet from their usage, which is none of your business. I would just say the thing that's interesting about that is that it actually ends up being quite unfair to the smaller customers generally speaking. Like that's what it's going to that's what's ultimately going to happen is the smaller customers will actually pay more than they would have uh if it was usage build as opposed to >> they should figure that out >> when I say it's $5,000 to do this or whatever it is, right? like and then >> they should freaking figure that out or bask in the fact that HubSpot is providing them convenience of not having to manage keys. There are benefits on both sides. >> Now I think I might have to do it my way just so we could see report back. That'll be >> how much complaints we get or not intriguing. >> Should we even question the premise? Why do you need bring your own key if nobody else does it? Are you just signing up for pain? Like why are you doing this? >> It's possible. uh because I do think HubSpot has enough customers and some of our most of our biggest customers honestly are on premise and >> so they're sensitive applications. >> Yeah. And they I think will want to be in control of the whole thing. Um >> the way the AI stuff works right now is it routes through us. Even if you're on premise, if you're using AI features, it routes through us. >> Sure. >> And they could turn them off if they don't want that and that's fine. But I think turning them off is going to be less and less poss, right? People are going to want the features. Like they're not going to want to turn them off. And so then it's like, well, how do we do this and keep everything within our uh purview? Like there's kind of no choice now. >> I don't know. It'll be interesting to see. Maybe those customers don't want the AI as much and they'll only end up being a handful and this will all be pointless. It's not impossible. Um but yeah, hard to know. I mean, I do think there's other value of us doing it because we probably can do some other tricks when we're controlling the whole stack to some degree. I mean, the key is the key kind of. It depends what what we end up doing a little bit, but and if they want to use other providers and things like that. Um, >> which again is a is like a is a a value ad there. If you want to use Enthropic instead of OpenAI, like you might have to pay for that, right? So, anyway, all right, that's where we'll leave it. I like that. What else we got? >> Just need everybody to tell me how right I am because I feel really confident. I feel really confident. >> This is a tricky one. This is a tricky pricing one. We're in a whole new world here. >> It is a tricky pricing one. Um, okay. We covered this for a second or we announced it on Token Town, but the format of that show, which is very good and you all should listen to it, is a much tighter news like rundown. So, we didn't get to go into it in in detail, but I'm training my own model. Okay. >> Yes. >> And I got I got some good feedback after that podcast um on the fact that it's completely doable, the fact that Ian is totally wrong, and the fact that uh I I got a few pointers on how to do it. Well, um so Sam who Sam who and Chris I think his last name is Archer. Uh Chris Archer Orcher, what's his name? But he works >> sounds kind of familiar. >> Yeah, you know him. He [clears throat] works at uh he works at uh at Akard. Chris Akard Achard. Um he works at Google now. Yeah. Who sorry about your last name, bud. Um and he sent me a whole list of feedback on how to do it really well. Um >> so for those that didn't catch Token Town, the model is a super small, very specific uh model that serves one purpose. It will ship with Solo. It will be callable from Rust. you won't need any special hardware or anything to use it. And the entire purpose of the model is to look across the terminal grid. So I always have like a representation of what's being shown in the terminal um to look at a specific terminal grid and give me a confidence score as to whether it is uh waiting on user input, stalled on a user permission, idle or working. And so it's kind of like this, it's kind of like this object of keys and confidence scores. >> Um, and so the point here is obviously so I can make the notifications and attention mechanisms in solo better across uh current and importantly forthcoming CLIs >> cuz like these CLI change every day. People are using open code and pi and all these weird setups. Um, and I can't I I really am trying to stay out of the quagmire of let me code >> curistics specific to an individual CLI. I'm trying to stay out of that as much as possible >> because that is a a never- ending treadmill. Yeah, >> what I'm trying to do is what is a universal like what is a universal way that I can accomplish this without coding to a specific CLI or >> mcking up with uh the hooks like the user home directory of cloud code and open code or whatever to like get my hooks in there. Um >> and so I have now orchestrated I've built in a dev only part of Solo. I've now orchestrated a way for an agent running inside of Solo uh to spawn other agents, which is public or always been there. Um but then control them and capture at any moment that this lead agent wants. It can capture all of the relevant signals and write it to a training file. So it can write like discrete training files. And what it'll do is it will capture the terminal grid. It'll capture like and a few other signals that Solo has like last uh last bytes output from the underlying process, last human input from the user, >> um and then a couple of other weird like things that we have because we own the process. And so now via MCP I can set off like a researcher agent and be like, "Hey, >> go go go get me a thousand more instances of training data." And then after that um so it can spawn Kimmy and Claude and Codeex and just do random stuff until it reaches certain points that it wants to capture. And then after that I have a system whereby two models uh I think it's like a sole maybe a sole medium and like a clawed uh opus 48. Two models will grade the individual file as um so I guess this is distillation. I don't really know. Uh maybe I'm distilling a Frontier model here. But two models will grade that file and give it the confidence scores. So then I have the input and the correct output from like a two major labs. Um and if they don't agree, it kicks it out to me, the human, to make the final call. Um but then I've got my full set of training data all labeled by, you know, the biggest smartest models in the world. And then it's got a full like training pipeline that's all written in Python that will run through and basically give me this tiny uh under 10 megabyte. And I've heard that's even generous there. It could even be down to like 2 or 3 megabytes >> uh under 10 megabyte under 500 millisecond model that will be given this set of signals from Solo itself and return a confidence score as to uh the state of the running CLI. So that that is the plan. >> And you're looking for just a particular state or no like a waiting state or you're looking for different types of states. it will return. I forget what the it's not a tupil because it's more I forget what the object is but it's like uh it's like waiting a there's a couple it's like waiting on human uh permission or approval required working idle unknown something like that um and then solo >> I will need to write into solo some heruristics to consume that output and make decisions but the model itself merely exists to classify by a terminal grid into probabilities of where it could be or what it should be. >> Now is there a base model as part of this? That's like the or there's only this. This is all the data there is. There is no base learnings learnings or anything else. There's just this input >> and what the output should be. So it just >> that's the whole transformers are only being trained on your specific data in >> Yep. >> That's interesting. I'll be curious to see if like in the end it's flexible enough with as things change and all that stuff or if the if like the error rate ends up being sufficiently low, you know. Um >> and this will layer >> this will layer into other heruristics I have in solo which is um >> like I have a few strategies for detecting if a agent has gone idle like for AMP I think they stop changing the title of the terminal. So that's like an OSC title strategy. And then the a few a few of the agents do OSC title updates. That's like when >> uh you're in ghost your iTerm and you see like working working and it has a little you know asy uh animation. So that's one strategy that the agents in solo employ. The other strategy is just pure uh bite silence. So like if the PTY goes silent, like the output goes silent for like three, four, five seconds, whatever it is, then I count that agent as idle as well. Um, and then well- behaved agents fire their own uh notifications which solo just consumes and replays. Those are the best where it's like cloud code sends a notification via its output that it's waiting on permissions and so then it term ghosty and solo can all just consume that and display it as a push notification. Those are the best but not all of them do that. H you could see that getting standardized maybe at some point I guess as people catch up with things but now why not just use like the cheapest smallest model that the person has connected just to save that so you're not spending their their dough >> one one fewer thing to configure uh one less thing to configure >> well it's it's innumerable so you'd think it would be fewer um one thing you don't have to configure um I really want to I I'm really trying to get to a point where >> um everything cool works automatically and that's a really tough spot to be in when you're relying on CLIs and binaries on the user's machine. >> And so I'm I'm doing my best one not to muck with the user's machine and two to enable cool features by default. And so for example in that in that vein is um you know when you quit a cloud code session or a chat GPT or codeex session it says to resume this session use this uid it's like if you want to pick this conversation back up >> um right now uh solo captures whenever an agent whenever an agent is quit solo captures all uuids that are printed to the screen >> and then it will store that in your database and so when you come back to a agent that has quit, you can actually resume the previous session, which is really nice. >> I need that today. >> I know. >> Uh you can do that today with a one major caveat. You have to do control C inside the terminal to actually quit it. You can't use the rightclick stop inside of Solo because if you do rightclick stop, it just kills it. And if you do control C inside of cloud code, it does this graceful exit of the tui itself that uh prints the uyuid. That's not a great experience, right? So >> what I'm doing now is >> I have uh and this is agent specific, but what I'm doing now is I have um I have little like monitors. So every time you start a claude session, it's looking on the disc to be like which session is this? and it will automatically um put that uid into the database. So then if god forbid solo crashes or you quit it without stopping the agents, all those uids are durably stored. And so I'm trying to like I'm really pushing to try to get all the cool stuff to be default without having to configure it. And so this is part of why I'm doing this own little model thing is so it just works and you don't have to like you don't have to configure it. You don't have to pay tokens for it. It just freaking works. That's that's the idea. >> And how do you actually train the model? Like it's a Python thing or it's youth send up to a server thing or no? It's can it run on your machine or is it heavier than that? Like >> it's going to run on the Mac Studio. It's going to run on the Mac Studio. Um how are we training this model? Can you give me a highlevel overview? [laughter] Um I'm just talking to my coworker here. Don't don't worry about that. Yeah. No, I definitely definitely know >> getting the the guy with the details on the horn. >> Um, so while my friend is typing, um, I will tell you, here we go. Here's here's the answer. >> Uh, so we're not fitting the real model. We built the machinery to collect trustworthy data. Yeah. Yeah. Yeah. I know that. I know that. Uh, we capture the terminal states. Yeah, I know that. Um, all right. So here are the that object I was describing earlier has four outcomes. Approval required, >> input required, ready for review and no attention needed. >> Codeex and Claude sonnet independently score every observation. If they disagree, another frontier model adjudicates it. A smaller blind human reviewed set becomes the gold evaluation set. We never average teacher opinions into truth. So I will do I will handle label some of them. >> Um it is uh it still doesn't tell me how we're training it. What's the hardware Python that does the training library etc. >> Um it is going to run on the Mac Studio. I already told it that. I gave it a screenshot of my Mac Studio specs and it was like oh man super overpowered. like you'll you'll be fine here. Um, >> but it is a it is a Python pipeline. I'm just waiting for it to tell me what library. >> Cool. I can imagine a world in software where you have a bunch of little models like if this if this works and then like I feel like there should be more tooling around this to make it easier for people to do in general. But like >> well there's a lot of places that could just classify little bits of things. >> I know that's what I was saying that 19th.com actually is. >> Um but I still haven't I still haven't heard back from them. I mean, they emailed me back after I messaged them on uh on Twitter [clears throat] and was like, "What's the deal?" And they're like, "Oh, we're so close." Um, but I was like, "I'll just do it myself then. This is this is this is the era of soul. I can just do everything." Um, >> so I don't know. It's still thinking. I'll I'll figure out what Python, you know, framework it's using or whatever. Um, but yeah, that's the plan. And I think if I can pull this off, you better believe I'm going to be thinking about where can I shove other little 2 [clears throat] megabyte models that do specific things. That sounds awesome. >> That does sound awesome. So, I don't know. You're you're winning me around on this uh this concept here. Especially >> for your particular use case where like you don't have every time you're doing something custom for each >> CLI, it's going to be super annoying to have to like custom build it and all that stuff. So, I like it. I personally wouldn't care if it used just haiku on its own and you have a little check box that says, "Hey, it's going to cost you tokens." But this will be faster presumably and >> it will be >> uh obviously in theory. So, there's probably some people out there still using solo without an agent because they're just running their uh task. So, this would still I don't know. Would you ever use this in that case though? It would only really be used for the agents, I guess. Yeah. I mean, you could run it I guess I could run it against blank terminals and if the terminal is requiring input from you, I could classify that. That's true. That's Yeah, that's not bad. >> Or other types of like error states or things like that. You seem to be able to detect that already, right? >> Yeah, I can I can detect uh I can detect exit codes obviously. Um most of the most of like the testing libraries do use correct OSC notifications and so like if you're pest or PHP unit or vi test fail it usually pops a notification. Okay. Most of those are from times. Yeah. So, something's looping failure. You seem to kill it after 10 or something. And >> yeah, if there's a if there's a command that you have set to auto restart and it doom loops, I think 10 times, it won't auto restart again. And it'll show you a notification like, hey, we tried and this crashed too many times. >> Yeah. So, you've done some stuff there. >> Yeah. >> Did he get back to you yet, your coworker? No. No, he's he's like, "Oh, we we should do that. We should do that. We should do this." >> Yeah. He says something about uh He says something about >> uh Yeah. hashing vectorzers. We're going to have to get back to you on this one. We'll get We'll get back to you. >> It'll be done by next episode. Who knows? >> We It will know that we should talk about that. There won't be a show next week. Most likely be in Boston. So, everybody, >> we'll be in Boston. I'm headed this week uh I'm headed to uh Bosezeman, Montana for Big Sky DevCon. So I will be I'll be mcing uh Big Sky and then directly from Bosezeman I'm flying to Boston uh [snorts] to to kick off the Laracon party. >> So we'll have a day zero dodgeball tournament, the mostly technical prom um and then the show the big show begins. Did you actually get your tuxedo ordered yet? >> I didn't. >> Me either. And I just looked and they want kind of a lot of lead time. So now I'm looking. >> I'm wearing I'm wearing my best suit and a tie. That's what I'm wearing. >> Okay. You're auding. >> Yeah. I'm going I'm going blue suit and a tie. >> I'm considering that. >> That's pretty metal. Yeah. >> Now Banana Public had a awesome sale. It was like almost the same price as just like renting the tuxedo. Uh it was like super It was going to be like 400 bucks or something. Of course they >> a Banana Republic tux. >> Yeah, but they don't have that size in the in the jacket. It might even been less than 400. It was like going to be like three something for the whole thing, but they don't have my size in the jacket. And they did when I looked at this a month ago, but then I was like, I'll just rent one, buy one. When am I going to use this thing again? Whatever. >> Now I wish I bought it. >> So listen listen to the provenance of my suit. Okay. So, back when I back when I was a big dog at Resolute Property Tax Solutions, >> uh, we had a very good year >> and so me and the three owners went and got custom suits made. >> Oh, I've never done that. I love that idea. >> Freaking cool. >> So cool. So, my my suit is custom made. It is this nice it's this nice blue and on the inside it has this insane liner that I picked out. It's like dogs wearing sunglasses or something. It's so great. >> Oh, that's better than a tux. Okay. It's like a suit with history. Okay. It is a suit. Still fits. Okay. >> It still fits me. Still fits me. Still got it, baby. Still got it. >> I don't know what I'm going to do. I might just come in pajamas then. Forget it. Who cares? >> No, you got to you got to You're the You're the big dog. You got to lead the way. Lead the way. >> We'll see. I do have some suits, whatever. But if they don't, they're not cool suits like that. They're just, you know, >> this is a cool suit. >> It's a cool suit. >> A cool suit. >> Although if I open up the suits, that does open up some other possibilities. >> That does still lead time is a question. But you could you could just go buy a cool suit off the rack for sure. >> Yeah. I don't know. >> Got [snorts] to get custom. Got to get custom made. Let's end it here with The Great Illustrated Classics. Have I told you about this? >> No, I don't think so. >> Oh man. The Great Illustrated Classics. Let's find out. It's great illustratedclassics.com which redirects you. This is how you know it's legit. It redirects you to slashdefault.asp. >> Okay. So, it's it's it's an ASP website. >> You go there and it's like a time capsule. It's like this is what the internet this is what the internet used to be. >> It is going to be I just want >> this is good internet. So, great illustrated classics.com everywhere. >> Now, let me tell you about the great Let me tell you about the great illustrated classics. Okay. >> So, you have your classics, right? That's not what we're talking about, but this is this is groundwork. >> Okay. >> So, I'm looking I'm looking at the homepage. I've got Adventures of Huckleberry Finn, Adventures of Tom Sawer, Around the World in 80 Days, 20,000 Leagues Under the Sea. Okay, those are the classics. Now what makes them great illustrated is they have been abridged and rewritten for children and every single opposite page is an illustration. >> Oh. >> So you have text Yeah. It's a chapter book. You have text on one side and an illustration on the other. >> Mhm. >> I have two 5-year-olds. >> I wish you would have told me about this like years ago. My kids big for this now. >> I know. >> So you got the 5-year-olds. What did you start them with here? I'm tired of reading um >> I'm tired of reading Dr. Seuss. Do you like my hat? I do not like your hat. Hello, sir. Goodbye, sir. I'm like I am so tired of that. So, I thought >> I'm the parent. I'm the captain. >> Yeah, they don't even know about these books. YOU >> NO, WE'RE GOING TO we're going to do what I want to do. And I want my kids to be readers because readers are leaders. And so, we're going to start reading we're going to start reading real books. >> Okay. And so, um, I started with The Jungle Book and Adventures of Tom Sawyer. >> So, we have just, uh, we finished The Jungle Book last week and we're five chapters into Tom Sawyer. >> Okay. >> And the new routine now is every night, uh, when I I put the big kids to bed. Every night, Jennifer puts the little kids to bed. Um, every night we read one chapter of a great illustrated classic. So they come sit on my lap. I read a chapter book out loud to them and I can hear their brains worring. Like I can hear them I can hear the synapses like firing and connecting. It's it's incredible cuz they're like >> why is Mowgli sad? What does that word mean? Why does he have a knife around his neck? Is Belaloo a good guy? Is Sher Khan bad? Why did they kill Sher Khan? And it's like, >> oh, you guys are like, this is the first time you have literally ever heard these stories and probably the first time you've ever read a 14 chapter book. And so every night we're like, remember last night this happened and then, oh yeah, Mowgli was sad. That's right. Let's read the next chapter. >> So we've we've finished Jungle Book. We're five chapters into Tom Sawyer. And it has been >> it's just been one of my favorite dad things so far. parent win. >> Oh, dude, it's so great. So, like they're they're learning to pay attention. They're learning to sit still. They're learning to follow stories, ask questions like, "What does that word mean? I've never heard that word before." Um, and it's far more enjoyable for me. And now, >> now it's become so enjoyable for them that it's now uh having that taken away as a punishment. So, like somebody will be misbehaving and me or Jennifer will be like, "Hey, if you don't if you don't obey, you don't get to read Tom Sawer tonight." >> Okay. It's like, "Oh, wow. You guys actually do really like this. This is working." >> So, we read Jungle Book and then we capped it off with watching uh the 1967 Disney Jungle Book. Um, and so we were watching it and they're like, "Oh, is that Mowgli? Is that is that Balloon?" Like, "Yeah, it is." Um, so there are like I think 65 66 uh titles available. Treasure Island, Three Musketeers, Call the Wild, Secret Garden, Oliver Twist, Moby Dick, all of those. Um, I don't think I'll read Picture of Dorian Gray to them. That feels a little I don't know. That feels a little tough. Um, but >> there's some in here that are Yeah. Well, they're only five, too, so maybe they >> work into some of these more advanced ones as you go, you know? And you can buy them directly from this website for $7.55 each direct to the publisher. >> It is not a bad world. So I would highly I would highly recommend if you have kids under 10, maybe even like under 12, they could read it on their own. Check out the great illustrated classics. >> And Grim's Fairy Tales, too, so you get into some of those. >> Yep. You know, >> Red Badge of Courage. >> I know. Little Women. Ann of I remember reading Ann of Green Gables in like the third or fourth grade or second grade maybe. Um so I like I remember these books. Swiss Family Robinson. I love that book. >> We did read some of the bigger books to them but like we just read the full book and it is a slog with like >> the little kids like especially on the on the younger end. They're just like a little >> hard to keep the attention when you're in every detail of like a 400page book. So I do like this. We were at this age too. We also did a lot of Magic Treehouse. I don't know if you got to Magic Tree House. >> No, we haven't. >> So, Magic Tree House is like the it's like a story a huge series. I don't know. It's probably like 200 books or whatever. >> And they're pretty good. They're for more like the f I would say five, six, seven. Like, so you should if you want some like original storytelling, you could go with that. And there is a there's they're written in a very specific way which is probably good for little kids which is like basically every one of them starts the same and basically every one of them ends the same like because they continue into each other. So it's like okay now we go home at the end of the story like they go to the magic treehouse to start on their next adventure and then they come home through the magic treehouse to go back home. >> But like they're literally like almost identical every single story. So, it's like the reading the beginning and the end of each one, like when you're on book 72 of it, you're like, "Boy, this is really getting to me." Just because they're identical as the adult, >> but they're kind of fun. And then they can read themselves and whatever, blah blah. But, um, but this is cool. I wish I'd known about this. >> Read read to your kids, folks. Give them give them an unfair advantage. >> All right, that's it. We're done. Thanks to the sponsors. Check sponsor us at mostlytechnical.com or we do have another new sponsor coming up in August which will be cool but there's still room so get those new sponsorships. I got to update that link but by the time you hear this you'll be able to sponsor through the new outro. Won't that be exciting? So >> maybe >> no you can do that. Um and yeah if you want to email us mostly [email protected] and we will not see you next week but the week after. Talk to you later. See you., 141: The Era of Sol, YouTube, 01ky2mnjc61fm6tm20039cct7d.