Speaker 1: Jeremy Howard Speaker 2: Carson Gross Speaker 3: (unidentified) Speaker 4: (unidentified)

Concise Summary

0:00 | Introduction 0:42 | Welcome Carson Gross 1:32 | HTMX: The Most Misunderstood Technology 2:12 | HTMX Book: Free and Available on Libgen 3:56 | The Book’s Focus on HTML and HTTP 4:53 | Richard Stallman’s Website: A Web 1.0 Example 7:19 | HTTP: The Underlying Transfer Protocol 8:29 | Hypermedia Controls in HTML 9:18 | Roy Fielding and REST 10:59 | Forms: The Spark for Web Applications 11:33 | The Power of POST Requests 12:42 | The Web’s Universal Client: The Browser 13:00 | Limitations of Interactive Affordances 14:31 | The Browser’s Single Action: Replacing the Entire Page 15:42 | Server-Side Processing of HTTP Requests 17:11 | HTMX: Removing the Constraints 18:08 | Click to Load: A HTMX Example 20:07 | Fast HTML: A Simple Wrapper for HTMX 21:49 | HTMX Attributes: hx-get, hx-target, hx-swap 24:40 | hx-target: Specifying the Target Element 25:03 | hx-swap: Specifying the Placement Method 26:03 | Modifying the Example to Append Rows 27:38 | Fast HTML: Mapping Between HTML and Python 28:27 | Targeting the T Body with hx-target 29:38 | Revised Button: Moving it Outside the Target Area 30:54 | HTMX’s Small Surface Area 32:07 | HTMX: Rhyming with the Web 33:11 | HTMX’s Performance Advantages 34:14 | Responding to Events Other Than Clicking 34:46 | Active Search: A HTMX Example 36:39 | hx-trigger: Specifying the Triggering Event 37:01 | Input Event: A Standard DOM Event 38:00 | HTMX’s Reliance on Existing Ideas 39:19 | Event Modifiers: change and delay 40:16 | Gradual Learning of HTMX Features 41:01 | Mapping Between HTMX and Fast HTML Attributes 42:20 | Event Modifiers: search 43:27 | Pico CSS: A Lightweight CSS Framework 44:31 | HTMX and Pico: Embracing Existing Concepts 45:08 | Common HTMX Pattern: Targeting a Table Body 46:01 | Ajax Indicator: Addressing Loading Delays 46:55 | Lazy Loading: A HTMX Example 47:27 | Lazy Loading: Rendering the Page Quickly 48:51 | htmx:load: A Non-Standard Event 49:48 | Non-Standard Events: load, revealed, intersect 50:42 | htmx:load: A Synthetic Event 51:20 | Lazy Loading: A Straightforward Example 52:06 | HTMX’s Minimal Impact on CSS and JavaScript 53:00 | Fast HTML and Railway: A Powerful Combination 54:03 | Fast HTML: A Simple Blogging Framework 55:19 | JavaScript Integration with Fast HTML 56:03 | Sortable: A Drag-and-Drop Library 56:32 | HTMX: Not for People Who Hate JavaScript 57:08 | Drag-and-Drop Example: Integrating with Sortable 58:07 | HTMX and JavaScript: A Powerful Combination 59:03 | HTMX: Pro JavaScript 1:00:00 | Carson Gross: A Genius 1:01:09 | Pjax and jQuery: Early Precursors to HTMX 1:02:06 | The Genesis of HTMX: A Desperate Move 1:03:17 | Angular 1: Inspiration for HTMX 1:04:04 | HTMX: An Organic Evolution 1:04:57 | Existence Brings Essence into Being 1:05:24 | HTMX: A Solution to JavaScript Complexity 1:06:03 | Discovering the Power of HTMX 1:07:00 | The Reaction to Change: Psychological Pain 1:07:34 | Carson Gross: An Outsider 1:08:13 | The Importance of Looking Back 1:09:46 | HTMX: Rhyming with the Past 1:10:38 | Recognizing Deep Thoughts from the Past 1:11:06 | The Visual Basic 6 Debugger: A Great Example 1:11:33 | Microsoft Access: A Source of Inspiration 1:12:02 | Experimenting with Different Approaches 1:12:20 | nbdev: Software Development in Jupyter Notebooks 1:12:55 | The Psychological Reaction to Change 1:13:37 | Carson Gross: A University Professor and a Troll 1:14:09 | Humor as a Response to Bullshit Earnestness 1:14:22 | Change is Hard on Humans 1:14:54 | Memes: A Powerful Communication Medium 1:15:29 | The Power of Foundations 1:16:04 | Fast HTML: A Game Changer 1:16:29 | Memes: Cutting to the Bone 1:16:40 | Carson Gross: A Good Writer 1:17:12 | Memes: Explaining HTMX 1:17:31 | The Simplicity of Early Web Development 1:18:00 | Humor: A Good Way to Communicate 1:18:22 | The Importance of Positivity 1:18:44 | The Benefits of Living in Rural Montana 1:19:15 | Handling the Bay Area Better 1:19:58 | Finding a Community That Appreciates Your Weirdness 1:20:27 | HTMX: An Unexpected Success 1:20:52 | Embracing Twitter’s Crazy Side 1:21:14 | The Risks of Authenticity 1:21:35 | Finding Different Facets to Highlight 1:21:54 | HTMX: A One-Time Success 1:21:57 | The Future of HTMX 1:22:20 | Browsers Should Work Like HTMX 1:23:02 | Carson Gross’s Thoughts on the Future 1:23:14 | Browser Interest in HTMX 1:23:32 | The Fourth Constraint: Updating Any Part of the DOM 1:23:41 | Existing Infrastructure in Browsers 1:24:03 | A Formal Proposal for HTMX Features in HTML 1:24:17 | HTMX: Pretty Much Done 1:24:43 | Avoiding Ruining HTMX 1:24:49 | Discovering HTMX 1:25:11 | Idiomorph: A DOM Merging Algorithm 1:25:36 | Idiomorph: A Better Approach to DOM Morphing 1:26:24 | Idiomorph: An Improvement on Morphdom 1:26:55 | Idiomorph: Using ID Sets for Efficient Updates 1:27:29 | Hyperscript: A Scripting Language 1:27:53 | Hyperscript: A Spreadsheet Written in Hyperscript 1:28:02 | Hyperscript: An Alternative to JavaScript 1:28:17 | HyperTalk: The Inspiration for Hyperscript 1:28:30 | Hyperscript: Interesting Features 1:28:44 | Hyperscript: A Standard Recursive Descent Parser 1:29:18 | Hyperscript: Async Transparency 1:29:43 | Hyperscript: Event-Driven Control Flow 1:30:21 | Hyperscript: Event-Driven Loops 1:31:22 | Hyperscript: A Passion Project 1:31:31 | nbdev: A Passion Project 1:32:01 | Carson Gross’s Friends in the Compiler Space 1:32:20 | The Fun of Implementing a Language 1:32:35 | Hyperscript: Written in JavaScript 1:32:45 | Hyperscript: Not for Bitcoin Mining 1:33:01 | Right Click View Source Extremism 1:33:22 | Cory Doctorow: A Passionate Advocate for the Web 1:33:46 | Hyperscript: Not Open Source 1:33:52 | Embracing View Source 1:34:08 | Fast HTML: Copy Outer HTML, Paste into HTMX 1:34:25 | The Openness of the Early Web 1:34:39 | Google.com: A Cautionary Tale 1:34:49 | The Current Google: Not a Better Experience 1:35:03 | Hyperscript: Designed for Openness 1:35:13 | Surreal JS: A Similar Idea to Hyperscript 1:35:33 | Surreal JS: Inspecting Elements 1:35:45 | Surreal JS: A Script Tag Next to the Element 1:35:49 | Surreal JS: Beautiful CSS 1:36:01 | Surreal JS: Tailwind Killer 1:36:08 | Python Components: Self-Contained and Powerful 1:36:22 | HTMX and Surreal JS: No Need for Web Components 1:36:37 | Fast HTML: How It’s Treating Carson Gross 1:36:49 | Fast HTML: Positive Reactions 1:36:51 | Fast HTML: 2.7K Stars on GitHub 1:37:04 | Fast HTML: Number One on Hack and Use 1:37:14 | Reactions to Fast HTML: Style Guide and Jupyter Notebooks 1:38:06 | Fast HTML: Doing It Wrong 1:38:14 | HTMX: Similar Reactions 1:38:20 | Fast HTML: Creating Beautiful Applications 1:38:39 | Fast HTML: A Standalone Application 1:38:48 | Fast HTML: Getting the Current Temperature 1:39:07 | Fast HTML: Low Running Costs 1:39:25 | Railway: A Powerful Deployment Service 1:39:28 | Fast HTML: Using Python 1:39:33 | Fast HTML: Caching with Python 1:39:47 | Flexi Cache: A Tiny Caching Library 1:40:06 | Flexi Cache: Policies for Caching 1:40:23 | End Time Policy Cache: Auto Reload 1:40:42 | Fast HTML: Replacing Static Site Generators 1:40:52 | Fast HTML: Using Python Effectively 1:41:09 | The JavaScript-Only Programmer’s Reaction 1:41:18 | Python: A Powerful Language for Web Development 1:41:40 | Positive Reactions to Fast HTML 1:41:50 | Fast HTML: A Collaboration with Audrey and Daniel 1:42:07 | Fast HTML: Reacting to HTMX 1:42:12 | Fast HTML: Providing a Surface for Hypermedia Applications 1:42:22 | Fast HTML: Cobbled Together from Existing Ideas 1:42:43 | Fast HTML: A Small Implementation 1:42:53 | HTMX: A Small Implementation 1:43:01 | Type Annotations in HTMX 1:43:15 | HTMX: A Well-Tested Implementation 1:43:29 | HTMX: A Couple Thousand Lines of Code 1:43:52 | The Right Thing: A Good Thing About Getting Old 1:43:57 | Discovering the Right Thing 1:44:03 | Self-Contained Components: A Delightful Discovery 1:44:17 | Combining the Right Things 1:44:20 | Fast HTML: Creating Little Apps 1:44:23 | A Fast HTML App for Markdown Conversion 1:44:45 | An Obscure JavaScript Library 1:45:00 | HX Spells: Calling JavaScript Before Passing Back to Handler 1:45:10 | A Weird UI Experience: Copy from Word, Paste into Markdown 1:45:33 | Fast HTML: Creating Things That Feel Good 1:45:43 | Fast HTML: Scratching an Itch 1:45:51 | Fast HTML: Jono’s Moodle App 1:46:11 | Moodle: A Pictionary-Type Game 1:46:26 | Moodle: A Leaderboard 1:46:31 | Moodle: Combining Canvas and HTMX 1:46:45 | HTMX: Working with Canvas and JavaScript 1:46:57 | Moodle: Using WebSockets 1:47:05 | Server-Side Events: A Powerful Extension 1:47:14 | Server-Side Events: Read-Only 1:47:19 | Server-Side Events: Good for Language Models 1:47:25 | Server-Side Events: Dependent on Server-Side Environment 1:47:38 | ASGI: Clean Support for Server-Side Events 1:47:44 | Hyperscript: A Cleaner Example 1:47:48 | WebSockets and Server-Side Events: Everything is a Nail 1:48:14 | HTMX: Everything is a DOM Element 1:48:18 | HTMX: Discovering a Solution 1:48:26 | HTMX: Working for a Lot of Stuff 1:48:39 | Integrating with HTMX via Events 1:48:43 | A Good HTMX Developer: Thinking in Events 1:49:00 | A Web Programming from Scratch Course 1:49:10 | Building Up from Socket Handlers to ASGI 1:49:28 | The Pleasure of This Style of Web Development 1:49:37 | The Power of a VPS 1:49:43 | Teaching Hypermedia at MSU 1:49:52 | Recording the Hypermedia Class 1:49:58 | Collaborating on a Hypermedia Presentation 1:50:10 | Getting Permission to Share Slides 1:50:15 | Summertime: No One Responds 1:50:23 | Appreciation for Carson Gross’s Time 1:50:32 | Helping Others Learn 1:50:41 | Congratulations on the Launch of Fast HTML 1:50:45 | Showing People What Carson Gross Already Made 1:50:52 | The Python Community’s Interest in HTMX 1:51:06 | Excitement for the Future of Fast HTML 1:51:13 | Thank You and Goodbye