Jeffrey Chupp
Jeffrey Chupp
  • 15
  • 75 132
Ergonomic Go CLIs with Cobra
In this episode, we add Cobra to improve the ergonomics of our Golang CLI for creating EPUB stories from markdown.
Github Repo: github.com/semanticart/squire/
PR with all code from this video: github.com/semanticart/squire/pull/4
More about Squire here: squirebooks.com
00:00:00 - Intro
00:02:02 - Using the Cobra Generator
00:04:22 - Adding our Validate command
00:08:32 - Adding our Convert command
00:18:48 - Outro
มุมมอง: 563

วีดีโอ

Creating EPUB Books in Go
มุมมอง 9066 หลายเดือนก่อน
In this episode, we build a converter to turn an interactive fiction story into an EPUB ready for publish in the Kindle Marketplace. We'll also support exporting a standalone interactive HTML website. We're using the Squire format to publish interactive fiction to the Kindle store using free tools and simple Markdown syntax. Learn more about the format here: www.squirebooks.com/ Github Repo: gi...
Let's Go(lang): building a parser + validator for Choose Your Own Adventure-style stories
มุมมอง 1K7 หลายเดือนก่อน
Ever wanted to publish your own Choose Your Own Adventure-style book? I did, and I wanted it to be as simple as possible. I'm introducing the Squire format to publish interactive fiction to the Kindle store using free tools and simple Markdown syntax. Learn more about the format here: www.squirebooks.com/ In this episode, we build the initial parser and validator in Go. We'll implement this as ...
Write Super-powered Documentation with Cognitive Breakpoints
มุมมอง 1K10 หลายเดือนก่อน
Software engineers famously hate writing documentation. I get it: it is hard! Reading documentation isn't all fun and games either. We need a new approach. Cognitive Breakpoints are like responsive-design for documentation. They allow readers to choose their own adventure on how much complexity they want and free documentation writers to pour all the detail they want into the docs without worry...
Beyond the LSP with ruby-lsp and Neovim - Custom Methods!
มุมมอง 2.9K11 หลายเดือนก่อน
ruby-lsp recently added a custom method (beyond the Language Server Protocol) to show dependencies. How does it work? It is only implemented in the VS Code extension, so how can we use it elsewhere (e.g. in Neovim)? Are custom methods a blessing or a curse and how should language server maintainers think about them? 00:00 - ruby-lsp just got better 00:29 - Spelunking in the VS Code implementati...
Language Server from Scratch: Integration Testing, Hover, and Hands-On Exercises (LSP)
มุมมอง 1.7K11 หลายเดือนก่อน
00:00 - Intro 00:10 - Integration testing our Language Server 07:31 - Challenge 1: Shutdown & Exit 07:45 - Implementing Shutdown and Exit Together 10:01 - Definitions on Hover 17:42 - Challenge 2: Hover 17:59 - Implementing Hover together 35:07 - Optional challenge 35:54 - Document Lifecycle fix with DidOpen 40:34 - Closing We'll continue building our own language server in TypeScript by follow...
Stop saying “um” - Building an AI-powered Filler Word Detector
มุมมอง 62711 หลายเดือนก่อน
Let's build an AI-powered filler-word detector to play an air horn when we say "um" or "uh." We'll use powerful off-the-shelf tools and wire them together with minimal code. 00:00 - Intro 01:17 - Getting Started 03:17 - Recording in chunks 06:15 - Roughing out recognition 07:16 - Detecting filler words 15:16 - Adding the air horn 16:56 - Faster feedback with whisper.cpp 20:58 - Outro - Sox: git...
LSP: Building a Language Server From Scratch 2 - Diagnostics and Code Actions
มุมมอง 4.1K11 หลายเดือนก่อน
00:00 - Intro 00:46 - A quick fix-up on completion 03:03 - Diagnostics 13:23 - Showing Spelling Errors with Diagnostics 21:48 - Spelling Suggestions in Diagnostics 37:16 - Code Actions for Spelling Corrections 51:44 - Outro We'll continue building our own language server in TypeScript by following the Language Server Protocol. We'll build diagnostics to show the user problems in their document ...
LSP: Building a Language Server From Scratch
มุมมอง 49Kปีที่แล้ว
00:00:00 - Intro 00:00:52 - Getting set up 00:05:52 - Starting from Scratch 00:12:40 - The initialize method 00:19:38 - Processing messages in batches 00:24:18 - Responding to initialize 00:30:43 - Implementing completion 00:42:45 - Document Synchronization 00:56:24 - Smarter completion 01:07:02 - Testing against Neovim 01:08:23 - Outro / Next Steps In this video, we'll start building our own l...
LSP Intro + Language Servers Aren't Just For Languages
มุมมอง 8Kปีที่แล้ว
0:00 Intro 0:12 A brief look at the official introduction 1:13 Not just for languages 1:22 An example interaction 1:57 LSP for languages 2:29 LSP for Frameworks 2:47 LSP for SaaS Developer Tools 3:07 Code reuse 3:26 Beyond the LSP: Progressive enhancement 4:58 Outro What is the Language Server Protocol? How are Language Servers being used in the real world today? What opportunities do they prov...
entr: --watch anything. Run arbitrary commands when files change.
มุมมอง 1.5Kปีที่แล้ว
entr is a commandline tool that brings watch flag functionality to anything: from a popular tool that doesn't have watch support yet to your bespoke shell script. - github.com/eradman/entr - eradman.com/entrproject/ 0:00 Intro 0:29 Eslint example and breakdown 0:50 Ruby/Rack example 0:57 SQL query example and /_ explanation 1:21 Rendering Markdown example 1:43 Observing newly-created files 1:55...
fx: A better JSON tool than jq
มุมมอง 1.4Kปีที่แล้ว
fx is my favorite terminal-based JSON tool. Let's look at how it lets us interactively explore, query, filter, and edit JSON. To wrap things up, we'll compare it to jq, and I'll explain why I prefer fx. Official fx website: fx.wtf/ Accompanying blog post: blog.semanticart.com/2024/01/02/fx/ 0:00 Intro 0:27 Interactively browsing JSON with fx 1:10 Querying JSON with fx 2:00 Writing custom functi...
JSON-RPC and the Language Server Protocol (LSP)
มุมมอง 2Kปีที่แล้ว
JSON-RPC and the Language Server Protocol (LSP)