{"@attributes":{"version":"2.0"},"channel":{"title":"Brian Sunter","description":"Software engineer and writer exploring web development, productivity systems, AI, and creative projects. Sharing insights on building better tools and workflows.","link":"https:\/\/briansunter.com","language":"en-us","lastBuildDate":"Sat, 07 Nov 2026 00:00:00 GMT","copyright":"\u00a9 2026 Brian Sunter","managingEditor":"noreply@briansunter.com (Brian Sunter)","webMaster":"noreply@briansunter.com (Brian Sunter)","item":[{"title":"Typst Stationery","link":"https:\/\/briansunter.com\/projects\/typst-stationery","guid":"https:\/\/briansunter.com\/projects\/typst-stationery","description":"A web app and API that turns Typst stationery templates into finished PDFs \u2014 planners, journals, and paper goods generated from simple forms, including Hobonichi-style planner and weeks layouts.","pubDate":"Sat, 07 Nov 2026 00:00:00 GMT"},{"title":"Tallpine","link":"https:\/\/briansunter.com\/projects\/tallpine","guid":"https:\/\/briansunter.com\/projects\/tallpine","description":"An expert-led publishing tool that turns customer questions into briefs, drafts, and published articles, with managed WordPress and Payload publishing, plan-aware content autopilot, and per-site billing.","pubDate":"Thu, 20 Aug 2026 00:00:00 GMT"},{"title":"BlockSignal","link":"https:\/\/briansunter.com\/projects\/blocksignal","guid":"https:\/\/briansunter.com\/projects\/blocksignal","description":"An in-development fail-open blocker detection and recovery SDK for publishers, with separate blocker evidence and environment-health reporting.","pubDate":"Fri, 14 Aug 2026 00:00:00 GMT"},{"title":"BakeApp","link":"https:\/\/briansunter.com\/projects\/bakeapp","guid":"https:\/\/briansunter.com\/projects\/bakeapp","description":"An in-development native Apple sourdough planner with a Rust engine for formulas, scheduling, persistence, export, media, and CloudKit transport.","pubDate":"Sun, 19 Jul 2026 00:00:00 GMT"},{"title":"Codex Stream Deck","link":"https:\/\/briansunter.com\/projects\/codex-stream-deck","guid":"https:\/\/briansunter.com\/projects\/codex-stream-deck","description":"An importable Stream Deck XL profile and bundled status plugin for the local Codex desktop app, generated from a Node.js build script.","pubDate":"Sun, 19 Jul 2026 00:00:00 GMT"},{"title":"Yougroup","link":"https:\/\/briansunter.com\/projects\/groupie","guid":"https:\/\/briansunter.com\/projects\/groupie","description":"Yougroup is a local-first browser extension for YouTube Lists and combined Upload feeds, with Google sign-in and a paid Stripe subscription.","pubDate":"Sun, 19 Jul 2026 00:00:00 GMT"},{"title":"Reply Tidy","link":"https:\/\/briansunter.com\/projects\/reply-tidy","guid":"https:\/\/briansunter.com\/projects\/reply-tidy","description":"A high-performance webhook system that moderates Threads comments with OpenAI, combining free keyword rules with batched AI moderation and a human review queue.","pubDate":"Sun, 19 Jul 2026 00:00:00 GMT"},{"title":"ThoughtBubble Homepage","link":"https:\/\/briansunter.com\/projects\/thoughtbubble-homepage","guid":"https:\/\/briansunter.com\/projects\/thoughtbubble-homepage","description":"Thoughtbubble's company site, product landing pages, and journals, built with TanStack Start\/Router, React, Vite\/Nitro, and Tailwind CSS.","pubDate":"Sun, 19 Jul 2026 00:00:00 GMT"},{"title":"Umami Mobile SDK","link":"https:\/\/briansunter.com\/projects\/umami-mobile","guid":"https:\/\/briansunter.com\/projects\/umami-mobile","description":"Rust-first, local-first Umami analytics SDK for Rust services, iOS, iPadOS, macOS, and Android, with a durable SQLite queue and thin native overlays.","pubDate":"Sun, 19 Jul 2026 00:00:00 GMT"},{"title":"Bevy Agent","link":"https:\/\/briansunter.com\/projects\/bevy-agent","guid":"https:\/\/briansunter.com\/projects\/bevy-agent","description":"An in-development Bevy 0.18 workspace for deterministic game simulation control, snapshots, replay, and JSON-RPC, HTTP, and WebSocket agents.","pubDate":"Wed, 13 May 2026 00:00:00 GMT"},{"title":"Platform","link":"https:\/\/briansunter.com\/projects\/platform","guid":"https:\/\/briansunter.com\/projects\/platform","description":"A small 2D platformer rendered with isometric 3D models, written in C99 and built on Sokol and a tiny ECS. Same binary runs natively and in the browser via WebAssembly.","pubDate":"Wed, 13 May 2026 00:00:00 GMT"},{"title":"TRAD Strike","link":"https:\/\/briansunter.com\/projects\/trad","guid":"https:\/\/briansunter.com\/projects\/trad","description":"A small Raiden Trad-inspired vertical shooter written in C99, built on Sokol and a tiny ECS. The same binary runs natively and in the browser via WebAssembly.","pubDate":"Wed, 13 May 2026 00:00:00 GMT"},{"title":"Blackwater Rift","link":"https:\/\/briansunter.com\/projects\/blackwater-rift","guid":"https:\/\/briansunter.com\/projects\/blackwater-rift","description":"A playable Game Boy shooter ROM with a browser shell that runs the same ROM on desktop and mobile browsers.","pubDate":"Mon, 11 May 2026 00:00:00 GMT"},{"title":"c-ecs","link":"https:\/\/briansunter.com\/projects\/c-ecs","guid":"https:\/\/briansunter.com\/projects\/c-ecs","description":"An in-development single-header C99 entity-component-system library with caller-owned storage and compile-time capacities for small games and embedded targets.","pubDate":"Mon, 11 May 2026 00:00:00 GMT"},{"title":"Travel Map","link":"https:\/\/briansunter.com\/projects\/travel-map","guid":"https:\/\/briansunter.com\/projects\/travel-map","description":"An interactive map of the countries, US states, China provinces, and cities I have visited, powered by a small YAML travel log.","pubDate":"Mon, 11 May 2026 00:00:00 GMT"},{"title":"Obsidian Insights","link":"https:\/\/briansunter.com\/projects\/obsidian-insights","guid":"https:\/\/briansunter.com\/projects\/obsidian-insights","description":"An Obsidian plugin that generates live AI writing insights, connections, counter-arguments, and suggested edits while you write.","pubDate":"Fri, 01 May 2026 23:57:54 GMT"},{"title":"Rainybow","link":"https:\/\/briansunter.com\/projects\/rainybow","guid":"https:\/\/briansunter.com\/projects\/rainybow","description":"A Hawaii rainbow tracker that combines weather, rain chances, cloud cover, humidity, and sun angle to forecast when and where to look.","pubDate":"Fri, 01 May 2026 02:42:57 GMT"},{"title":"Obsidian Data Editor","link":"https:\/\/briansunter.com\/projects\/obsidian-data-editor","guid":"https:\/\/briansunter.com\/projects\/obsidian-data-editor","description":"An Obsidian plugin that opens .json, .yaml, and .yml files in a visual tree editor, with inline editing, schema validation, and a CodeMirror source mode.","pubDate":"Wed, 29 Apr 2026 02:01:05 GMT"},{"title":"Obsidian CSV Editor","link":"https:\/\/briansunter.com\/projects\/obsidian-csv-editor","guid":"https:\/\/briansunter.com\/projects\/obsidian-csv-editor","description":"An Obsidian plugin that opens .csv files in a spreadsheet-like grid with keyboard navigation, range selection, copy\/paste, sorting, and debounced auto-save.","pubDate":"Tue, 28 Apr 2026 18:39:03 GMT"},{"title":"Obsidian Schema","link":"https:\/\/briansunter.com\/projects\/obsidian-schema","guid":"https:\/\/briansunter.com\/projects\/obsidian-schema","description":"An Obsidian plugin that validates note frontmatter against user-defined JSON Schema rules, with tag-driven selectors, a results sidebar, and inline error reporting.","pubDate":"Mon, 27 Apr 2026 02:22:20 GMT"},{"title":"CoolRSS","link":"https:\/\/briansunter.com\/projects\/coolrss","guid":"https:\/\/briansunter.com\/projects\/coolrss","description":"An in-development local-first RSS and read-it-later desktop app with a shared Rust core, Tauri shell, React frontend, SQLite FTS5, and CLI.","pubDate":"Wed, 08 Apr 2026 17:04:46 GMT"},{"title":"Pogo Panic","link":"https:\/\/briansunter.com\/projects\/pogo-panic","guid":"https:\/\/briansunter.com\/projects\/pogo-panic","description":"A tiny Game Boy arcade platformer built with GBDK-2020. You're always bouncing on a pogo stick: steer, stomp cracked blocks, grab the battery, reach the exit.","pubDate":"Wed, 01 Apr 2026 00:00:00 GMT"},{"title":"Audiobook Player","link":"https:\/\/briansunter.com\/projects\/audio","guid":"https:\/\/briansunter.com\/projects\/audio","description":"An in-development Tauri 2 audiobook player for desktop and iOS that reads books from Google Drive, stores metadata and progress in SQLite, and supports offline chapter playback.","pubDate":"Mon, 16 Mar 2026 03:02:53 GMT"},{"title":"Deadman","link":"https:\/\/briansunter.com\/projects\/deadman","guid":"https:\/\/briansunter.com\/projects\/deadman","description":"An in-development Cloudflare Workers and Durable Objects dead-man's switch for Prometheus and Alertmanager heartbeats and notification recovery.","pubDate":"Mon, 09 Mar 2026 03:38:17 GMT"},{"title":"Caliber","link":"https:\/\/briansunter.com\/projects\/caliber","guid":"https:\/\/briansunter.com\/projects\/caliber","description":"A local-first web interface and CLI for browsing, searching, reading, and downloading a Calibre library, with cursor pagination and virtualized views.","pubDate":"Wed, 04 Mar 2026 03:28:14 GMT"},{"title":"Oracle World","link":"https:\/\/briansunter.com\/projects\/oracle-world","guid":"https:\/\/briansunter.com\/projects\/oracle-world","description":"OpenTofu modules for Oracle Cloud's Always Free tier. One apply deploys a 2 OCPU ARM VM with 12 GB RAM and 200 GB combined storage, plus optional MySQL, object storage, monitoring, and budget alerts.","pubDate":"Tue, 17 Feb 2026 04:54:56 GMT"},{"title":"RSS AI","link":"https:\/\/briansunter.com\/projects\/rss-ai","guid":"https:\/\/briansunter.com\/projects\/rss-ai","description":"A CLI RSS\/Atom feed reader with OPML support, smart caching, full-text search, content extraction, broken link repair, and an interactive TUI.","pubDate":"Fri, 13 Feb 2026 05:05:50 GMT"},{"title":"Paratran","link":"https:\/\/briansunter.com\/projects\/paratran","guid":"https:\/\/briansunter.com\/projects\/paratran","description":"A CLI, REST API, and MCP server for fast audio transcription on Apple Silicon, built on parakeet-mlx and the Parakeet TDT model.","pubDate":"Thu, 12 Feb 2026 01:18:33 GMT"},{"title":"Z.AI CLI","link":"https:\/\/briansunter.com\/projects\/z-cli","guid":"https:\/\/briansunter.com\/projects\/z-cli","description":"Unified command-line interface and MCP server for Z.AI services: image generation, OCR, vision, web search, web reader, and Zread code research.","pubDate":"Thu, 12 Feb 2026 01:07:24 GMT"},{"title":"Kungfu","link":"https:\/\/briansunter.com\/projects\/kungfu","guid":"https:\/\/briansunter.com\/projects\/kungfu","description":"A public collection of 14 Agent Skills for AI coding agents, with reusable prompts, references, templates, examples, and helper scripts installable from GitHub.","pubDate":"Sat, 24 Jan 2026 03:10:14 GMT"},{"title":"SReader","link":"https:\/\/briansunter.com\/projects\/sreader","guid":"https:\/\/briansunter.com\/projects\/sreader","description":"A focused reading app that keeps a highlighted line centered while text moves at your pace, with web and native apps for iPhone, iPad, Mac, and Android.","pubDate":"Fri, 16 Jan 2026 05:43:34 GMT"},{"title":"Subs: Email Signup API","link":"https:\/\/briansunter.com\/projects\/subs","guid":"https:\/\/briansunter.com\/projects\/subs","description":"An email-signup API that writes straight into a Google Sheet. Cloudflare Turnstile blocks bots, Bun or Workers as the runtime, no separate database to operate.","pubDate":"Tue, 13 Jan 2026 06:14:47 GMT"},{"title":"TraceOverlay","link":"https:\/\/briansunter.com\/projects\/tracer","guid":"https:\/\/briansunter.com\/projects\/tracer","description":"A camera tracing app that overlays a movable, scalable reference image on your live camera, helping you draw, paint, or letter onto paper.","pubDate":"Sat, 10 Jan 2026 05:49:33 GMT"},{"title":"Moodboard","link":"https:\/\/briansunter.com\/projects\/moodboard","guid":"https:\/\/briansunter.com\/projects\/moodboard","description":"A deployed browser moodboard canvas with infinite pan and zoom, sticky notes, image placement, drag-and-drop, and desktop and mobile layouts.","pubDate":"Sat, 27 Dec 2025 14:05:46 GMT"},{"title":"ArcFetch","link":"https:\/\/briansunter.com\/projects\/arcfetch","guid":"https:\/\/briansunter.com\/projects\/arcfetch","description":"A Bun CLI and MCP server that fetches URLs, extracts clean Markdown with Mozilla Readability, and falls back to Playwright for JavaScript-heavy pages.","pubDate":"Thu, 25 Dec 2025 06:23:56 GMT"},{"title":"wraptc: Multi-Provider AI Coding CLI","link":"https:\/\/briansunter.com\/projects\/wraptc","guid":"https:\/\/briansunter.com\/projects\/wraptc","description":"A unified CLI wrapper that routes coding requests across Gemini, OpenCode, Qwen Code, and Codex with automatic fallback, daily-credit tracking, and a built-in MCP server.","pubDate":"Wed, 24 Dec 2025 23:00:36 GMT"},{"title":"UberSearch","link":"https:\/\/briansunter.com\/projects\/ubersearch","guid":"https:\/\/briansunter.com\/projects\/ubersearch","description":"One CLI\/MCP front-end for Tavily, Brave, Linkup, and self-hosted SearXNG. Tries free providers first, falls back to paid ones, tracks credits.","pubDate":"Tue, 23 Dec 2025 21:57:08 GMT"},{"title":"Yuptime","link":"https:\/\/briansunter.com\/projects\/yuptime","guid":"https:\/\/briansunter.com\/projects\/yuptime","description":"Kubernetes-native monitoring where configuration is CRDs, state lives in status, and a bounded controller and worker engine checks targets with Prometheus and Alertmanager integrations.","pubDate":"Tue, 16 Dec 2025 08:57:22 GMT"},{"title":"swipefeed","link":"https:\/\/briansunter.com\/projects\/swipefeed","guid":"https:\/\/briansunter.com\/projects\/swipefeed","description":"Headless React primitives for building TikTok and Reels-style swipe feeds: a render-prop component and hook with virtualization, gestures, keyboard, and accessibility built in.","pubDate":"Mon, 08 Dec 2025 04:52:27 GMT"},{"title":"Gitforest","link":"https:\/\/briansunter.com\/projects\/gitforest","guid":"https:\/\/briansunter.com\/projects\/gitforest","description":"A published Bun and TypeScript terminal UI for scanning many Git repositories, showing sync status, and running Git and GitHub operations in batches.","pubDate":"Tue, 02 Dec 2025 10:38:15 GMT"},{"title":"Verso","link":"https:\/\/briansunter.com\/projects\/verso","guid":"https:\/\/briansunter.com\/projects\/verso","description":"Embedded TypeScript vector database for Bun, Node.js, and browsers, with portable HNSW search and OPFS persistence.","pubDate":"Thu, 27 Nov 2025 08:37:18 GMT"},{"title":"Quantum Engine","link":"https:\/\/briansunter.com\/projects\/quantum-engine","guid":"https:\/\/briansunter.com\/projects\/quantum-engine","description":"A browser-first TypeScript ECS game-engine monorepo organized as 28 @quantum packages, with plugin-based rendering, physics, input, audio, animation, networking, UI, and scene editing.","pubDate":"Sun, 02 Nov 2025 09:01:40 GMT"},{"title":"Vannevar","link":"https:\/\/briansunter.com\/projects\/vannevar","guid":"https:\/\/briansunter.com\/projects\/vannevar","description":"High-performance local RAG for Markdown: contextual FTS5, HNSW vector search, weighted RRF, and on-device ONNX or llama.cpp embeddings. Bun-only.","pubDate":"Thu, 30 Oct 2025 08:48:25 GMT"},{"title":"Vibe Cafe","link":"https:\/\/briansunter.com\/projects\/lofi","guid":"https:\/\/briansunter.com\/projects\/lofi","description":"Vibe Cafe is a deployed browser-based lofi coding companion with terminal-style diff animation, themed controls, keyboard shortcuts, and background audio.","pubDate":"Fri, 10 Oct 2025 06:53:03 GMT"},{"title":"PokeClaude","link":"https:\/\/briansunter.com\/projects\/pokeclaude","guid":"https:\/\/briansunter.com\/projects\/pokeclaude","description":"An MCP server and Claude Code plugin for Pok\u00e9mon TCG Pocket. Search 3,761 cards across 22 sets, analyze synergies, build 20-card decks, and inspect the current meta.","pubDate":"Fri, 03 Oct 2025 05:37:07 GMT"},{"title":"Central Pacific Update","link":"https:\/\/briansunter.com\/central-pacific-update","guid":"https:\/\/briansunter.com\/central-pacific-update","description":"Life updates from the Pacific islands, plus what I've been building and learning.","pubDate":"Tue, 23 Sep 2025 00:00:00 GMT","category":"blog"},{"title":"Raindrop MCP","link":"https:\/\/briansunter.com\/projects\/raindrop-mcp","guid":"https:\/\/briansunter.com\/projects\/raindrop-mcp","description":"An MCP server for Raindrop.io, letting Claude (or any MCP client) read, write, and reorganise your bookmarks, collections, tags, and highlights.","pubDate":"Sun, 21 Sep 2025 04:55:25 GMT"},{"title":"Anki AI","link":"https:\/\/briansunter.com\/projects\/anki-ai","guid":"https:\/\/briansunter.com\/projects\/anki-ai","description":"An MCP server and CLI for Anki via Anki-Connect, with 96 tools for cards, reviews, decks, models, media, stats, and GUI automation.","pubDate":"Wed, 03 Sep 2025 09:59:22 GMT"},{"title":"BlogSeq","link":"https:\/\/briansunter.com\/projects\/blogseq","guid":"https:\/\/briansunter.com\/projects\/blogseq","description":"A Logseq plugin that exports pages to portable Markdown, resolving references and bundling images and other assets; the current release is DB-version-only pre-alpha.","pubDate":"Mon, 01 Sep 2025 02:33:16 GMT"},{"title":"CuckooTimer","link":"https:\/\/briansunter.com\/projects\/cuckootimer","guid":"https:\/\/briansunter.com\/projects\/cuckootimer","description":"A macOS menu-bar cuckoo clock app with a 3D scene, configurable intervals, and a $3.99 one-time purchase from the Mac App Store.","pubDate":"Mon, 21 Jul 2025 03:38:59 GMT"},{"title":"Logseq MCP","link":"https:\/\/briansunter.com\/projects\/logseq-mcp","guid":"https:\/\/briansunter.com\/projects\/logseq-mcp","description":"A published npm MCP server that connects Claude and other LLMs to a running Logseq HTTP API for graph search, block edits, daily notes, tasks, and Datalog queries.","pubDate":"Fri, 21 Mar 2025 11:09:26 GMT"},{"title":"Pizza Plan","link":"https:\/\/briansunter.com\/projects\/pizzaplan","guid":"https:\/\/briansunter.com\/projects\/pizzaplan","description":"A dough-ratio and timing planner for homemade pizza. Choose a style, size, quantity, kitchen conditions, and when you want to eat; PizzaPlan generates the recipe and schedule.","pubDate":"Sat, 15 Mar 2025 11:00:26 GMT"},{"title":"SearchThing","link":"https:\/\/briansunter.com\/projects\/searchthing","guid":"https:\/\/briansunter.com\/projects\/searchthing","description":"Semantic search over your own documents, running entirely in the browser. Drop in PDFs, Markdown, or text; embeddings are generated on-device with Transformers.js.","pubDate":"Wed, 26 Feb 2025 10:00:38 GMT"},{"title":"Connect Four","link":"https:\/\/briansunter.com\/projects\/connectfour","guid":"https:\/\/briansunter.com\/projects\/connectfour","description":"A public real-time multiplayer Connect Four game with a 3D board, room invite codes, and server-backed game state.","pubDate":"Thu, 13 Feb 2025 04:27:25 GMT"},{"title":"ConvoCards Launch Retro","link":"https:\/\/briansunter.com\/convocards-launch-retro","guid":"https:\/\/briansunter.com\/convocards-launch-retro","description":"Thoughts and learnings from launching a new app.","pubDate":"Fri, 22 Nov 2024 00:00:00 GMT","category":"blog"},{"title":"Typst Business Card Templates","link":"https:\/\/briansunter.com\/projects\/typst-business-cards","guid":"https:\/\/briansunter.com\/projects\/typst-business-cards","description":"A collection of professionally-designed business card templates built with Typst, featuring multiple styles from minimalist to luxury.","pubDate":"Mon, 18 Nov 2024 04:22:08 GMT"},{"title":"Art Gallery","link":"https:\/\/briansunter.com\/projects\/art","guid":"https:\/\/briansunter.com\/projects\/art","description":"A public gallery of drawing and painting studies, organized by series with metadata filters and a PhotoSwipe lightbox.","pubDate":"Fri, 02 Aug 2024 05:21:21 GMT"},{"title":"Personal Site","link":"https:\/\/briansunter.com\/projects\/personal-site","guid":"https:\/\/briansunter.com\/projects\/personal-site","description":"This site. Astro, MDX, Tailwind v4: blog, projects, recipes, photos, and a pin collection, all built statically.","pubDate":"Fri, 02 Aug 2024 05:21:21 GMT"},{"title":"Photo Gallery","link":"https:\/\/briansunter.com\/projects\/photos","guid":"https:\/\/briansunter.com\/projects\/photos","description":"My photography portfolio: collections grouped by trip and theme, with EXIF data, GPS pins on a map, and a full-screen lightbox.","pubDate":"Fri, 02 Aug 2024 05:21:21 GMT"},{"title":"Pin Collection","link":"https:\/\/briansunter.com\/projects\/pin-collection","guid":"https:\/\/briansunter.com\/projects\/pin-collection","description":"A digital display case for my lapel-pin collection. Each pin is photographed, background-removed, and pinned (sorry) to a velvet-style backdrop with notes on where it came from.","pubDate":"Fri, 02 Aug 2024 05:21:21 GMT"},{"title":"Recipe Collection","link":"https:\/\/briansunter.com\/projects\/recipes","guid":"https:\/\/briansunter.com\/projects\/recipes","description":"My recipes, written in Cooklang and rendered with a custom Astro integration. Ingredients scale, steps are linked, and everything is plain text on disk.","pubDate":"Fri, 02 Aug 2024 05:21:21 GMT"},{"title":"Convo Cards","link":"https:\/\/briansunter.com\/projects\/convocards","guid":"https:\/\/briansunter.com\/projects\/convocards","description":"A launched web conversation-card product at convo.cards with in-development native iOS, iPadOS, and Android clients backed by a Rust and SQLite core.","pubDate":"Thu, 25 Jul 2024 09:12:01 GMT"},{"title":"Cooking for Hackers","link":"https:\/\/briansunter.com\/newsletter\/issue-16","guid":"https:\/\/briansunter.com\/newsletter\/issue-16","description":"How I'm optimizing my cooking process and organizing my recipes.","pubDate":"Mon, 08 Apr 2024 00:00:00 GMT"},{"title":"Year in Review - Hawaii, Health, and Projects","link":"https:\/\/briansunter.com\/newsletter\/issue-15","guid":"https:\/\/briansunter.com\/newsletter\/issue-15","description":"Thoughts on living in Hawaii for the past year and recent projects","pubDate":"Wed, 20 Mar 2024 00:00:00 GMT"},{"title":"Organizing Notes in 3D with AI","link":"https:\/\/briansunter.com\/newsletter\/issue-14","guid":"https:\/\/briansunter.com\/newsletter\/issue-14","description":"Using machine learning to automatically organize notes by meaning and exploring them in a browser 3D interface","pubDate":"Wed, 27 Sep 2023 00:00:00 GMT"},{"title":"Wikipedia 3D Embeddings","link":"https:\/\/briansunter.com\/projects\/wikipedia-3d-embeddings","guid":"https:\/\/briansunter.com\/projects\/wikipedia-3d-embeddings","description":"Embed thousands of Wikipedia articles, project them into 3D with UMAP, and fly through the result in the browser. Articles cluster by what they're about, not by what folder they live in.","pubDate":"Sun, 27 Aug 2023 03:06:29 GMT"},{"title":"Analyzing Coffee with Data Science + ChatGPT Code Interpreter","link":"https:\/\/briansunter.com\/newsletter\/issue-13","guid":"https:\/\/briansunter.com\/newsletter\/issue-13","description":"Uploading a dataset about coffee and using ChatGPT to automatically clean the data, understand insights, and generate cool charts.","pubDate":"Thu, 27 Jul 2023 00:00:00 GMT"},{"title":"Chunk Audio","link":"https:\/\/briansunter.com\/projects\/chunk-audio","guid":"https:\/\/briansunter.com\/projects\/chunk-audio","description":"A browser app that uses ffmpeg.wasm to split audio into 10-minute chunks and download them as a ZIP.","pubDate":"Sat, 22 Jul 2023 01:55:35 GMT"},{"title":"GPT-4 and ChatGPT in the Logseq OpenAI Plugin","link":"https:\/\/briansunter.com\/newsletter\/issue-12","guid":"https:\/\/briansunter.com\/newsletter\/issue-12","description":"Adding GPT-4 and ChatGPT to my Logseq OpenAI plugin, comparing usage costs, and looking at the best new features of GPT-4","pubDate":"Wed, 15 Mar 2023 00:00:00 GMT"},{"title":"Newsletter 11 - Moving to Hawaii and Fitness Routine","link":"https:\/\/briansunter.com\/newsletter\/issue-11","guid":"https:\/\/briansunter.com\/newsletter\/issue-11","description":"Some thoughts on moving to Hawaii and what I'm doing to improve my fitness","pubDate":"Fri, 17 Feb 2023 00:00:00 GMT"},{"title":"Newsletter Issue 10","link":"https:\/\/briansunter.com\/newsletter\/issue-10","guid":"https:\/\/briansunter.com\/newsletter\/issue-10","description":"Logseq GPT-3 OpenAI popup, YouTube captions plugin updates, and migrating to Substack","pubDate":"Wed, 01 Feb 2023 00:00:00 GMT"},{"title":"Logseq GPT-3 OpenAI Popup","link":"https:\/\/briansunter.com\/logseq-openai\/popup","guid":"https:\/\/briansunter.com\/logseq-openai\/popup","description":"A new popup interface for running custom GPT-3 commands in Logseq.","pubDate":"Tue, 31 Jan 2023 00:00:00 GMT","category":"blog"},{"title":"Binary Search Algorithm","link":"https:\/\/briansunter.com\/binary-search","guid":"https:\/\/briansunter.com\/binary-search","description":"A walkthrough of binary search with both iterative and recursive implementations, plus why it's O(log n).","pubDate":"Thu, 05 Jan 2023 00:00:00 GMT"},{"title":"Heap, Heap Sort, Heapify, and Priority Queues","link":"https:\/\/briansunter.com\/heap","guid":"https:\/\/briansunter.com\/heap","description":"How heaps work, why they're useful for priority queues, and how to implement heap sort.","pubDate":"Thu, 05 Jan 2023 00:00:00 GMT"},{"title":"Recurrence Relation and Master's Theorem for Dividing Functions","link":"https:\/\/briansunter.com\/recurrence-relation-masters-theorem-dividing","guid":"https:\/\/briansunter.com\/recurrence-relation-masters-theorem-dividing","description":"How to use the Master's Theorem to figure out the time complexity of divide-and-conquer algorithms like merge sort.","pubDate":"Thu, 05 Jan 2023 00:00:00 GMT"},{"title":"Recurrence Relation and Master's Theorem for Subtracting Functions","link":"https:\/\/briansunter.com\/recurrence-relation-masters-theorem-subtracting","guid":"https:\/\/briansunter.com\/recurrence-relation-masters-theorem-subtracting","description":"The math behind figuring out time complexity for recursive algorithms using recurrence relations.","pubDate":"Thu, 05 Jan 2023 00:00:00 GMT"},{"title":"Books Read in 2022","link":"https:\/\/briansunter.com\/books-read-in-2022","guid":"https:\/\/briansunter.com\/books-read-in-2022","description":"List of books I read in 2022 with short summaries","pubDate":"Sun, 01 Jan 2023 00:00:00 GMT"},{"title":"Building a Second Brain - Summary","link":"https:\/\/briansunter.com\/building-a-second-brain","guid":"https:\/\/briansunter.com\/building-a-second-brain","description":"My summary of Building a Second Brain by Tiago Forte, which is a guide to developing a productivity system to manage information and produce creative works.","pubDate":"Fri, 30 Dec 2022 00:00:00 GMT"},{"title":"AI Learning Resources","link":"https:\/\/briansunter.com\/ai-learning-resources","guid":"https:\/\/briansunter.com\/ai-learning-resources","description":"Best resources for studying machine learning","pubDate":"Fri, 09 Dec 2022 00:00:00 GMT"},{"title":"Data Structures and Algorithms Guide","link":"https:\/\/briansunter.com\/data-structures-algorithms-guide","guid":"https:\/\/briansunter.com\/data-structures-algorithms-guide","description":"A guide to data structures and algorithms, from arrays, linked lists, trees, and graphs to sorting, search, recursion, dynamic programming, and network flow.","pubDate":"Sat, 26 Nov 2022 00:00:00 GMT"},{"title":"Newsletter Issue 9","link":"https:\/\/briansunter.com\/newsletter\/issue-9","guid":"https:\/\/briansunter.com\/newsletter\/issue-9","description":"New features for the logseq openai plugin and my thoughts on why Large Language Models are interesting","pubDate":"Sat, 26 Nov 2022 00:00:00 GMT"},{"title":"Why Large Language Models are Interesting","link":"https:\/\/briansunter.com\/why-large-language-models-are-interesting","guid":"https:\/\/briansunter.com\/why-large-language-models-are-interesting","description":"Large language models have a number of interesting properties","pubDate":"Sat, 26 Nov 2022 00:00:00 GMT"},{"title":"Logseq GPT Prompt Templates","link":"https:\/\/briansunter.com\/logseq-openai-prompt-template","guid":"https:\/\/briansunter.com\/logseq-openai-prompt-template","description":"Thoughts on prompt templates for the Logseq OpenAI Plugin","pubDate":"Wed, 16 Nov 2022 00:00:00 GMT"},{"title":"Headphone Eye Mask","link":"https:\/\/briansunter.com\/headphone-eye-mask","guid":"https:\/\/briansunter.com\/headphone-eye-mask","description":"I use a Bluetooth headphone eye mask to block light and replace late-night scrolling with a podcast as part of my bedtime routine.","pubDate":"Mon, 07 Nov 2022 00:00:00 GMT","category":"blog"},{"title":"Omnivore Logseq Guide","link":"https:\/\/briansunter.com\/omnivore-logseq-guide","guid":"https:\/\/briansunter.com\/omnivore-logseq-guide","description":"Save articles to read later and sync your highlights to Logseq automatically.","pubDate":"Wed, 26 Oct 2022 00:00:00 GMT"},{"title":"Soma Game Review","link":"https:\/\/briansunter.com\/soma","guid":"https:\/\/briansunter.com\/soma","description":"A sci-fi horror game that asks uncomfortable questions about consciousness and identity.","pubDate":"Mon, 24 Oct 2022 00:00:00 GMT"},{"title":"Algorithms and Data Structures","link":"https:\/\/briansunter.com\/algorithms","guid":"https:\/\/briansunter.com\/algorithms","description":"My notes on algorithms and data structures, from Big O basics to heaps and sorting.","pubDate":"Tue, 04 Oct 2022 00:00:00 GMT"},{"title":"My Game Review Template","link":"https:\/\/briansunter.com\/game-review-template","guid":"https:\/\/briansunter.com\/game-review-template","description":"A structured template I use to write thoughtful video game reviews.","pubDate":"Tue, 04 Oct 2022 00:00:00 GMT"},{"title":"Intro to Algorithms","link":"https:\/\/briansunter.com\/intro-to-algorithms","guid":"https:\/\/briansunter.com\/intro-to-algorithms","description":"What algorithms are, why they matter, and how to start thinking about problem solving.","pubDate":"Tue, 04 Oct 2022 00:00:00 GMT"},{"title":"Logseq Getting Started","link":"https:\/\/briansunter.com\/logseq-getting-started","guid":"https:\/\/briansunter.com\/logseq-getting-started","description":"How to get started with Logseq and publish your notes online in 30 minutes.","pubDate":"Tue, 04 Oct 2022 00:00:00 GMT"},{"title":"Werner Herzog's Rules for Filmmaking","link":"https:\/\/briansunter.com\/werner-herzog-rules-for-filmmaking","guid":"https:\/\/briansunter.com\/werner-herzog-rules-for-filmmaking","description":"Unconventional creative advice from one of cinema's most distinctive directors.","pubDate":"Tue, 04 Oct 2022 00:00:00 GMT"},{"title":"Integer Sum Formula (Gauss Sum)","link":"https:\/\/briansunter.com\/integer-sum-formula","guid":"https:\/\/briansunter.com\/integer-sum-formula","description":"The classic Gauss formula for summing consecutive integers, and why it matters for algorithm analysis.","pubDate":"Sun, 02 Oct 2022 00:00:00 GMT"},{"title":"Cooklang for Recipe Management","link":"https:\/\/briansunter.com\/cooklang","guid":"https:\/\/briansunter.com\/cooklang","description":"A plain-text recipe format that generates shopping lists and keeps your recipes in git.","pubDate":"Wed, 21 Sep 2022 00:00:00 GMT"},{"title":"Newsletter Issue 8","link":"https:\/\/briansunter.com\/newsletter\/issue-8","guid":"https:\/\/briansunter.com\/newsletter\/issue-8","description":"Integer Sum Formula, Donald Knuth on Email, and Werner Herzog","pubDate":"Tue, 23 Aug 2022 00:00:00 GMT"},{"title":"A Posteriori vs A Priori Analysis of Algorithms","link":"https:\/\/briansunter.com\/posteriori-vs-a-priori-analysis-of-algorithms","guid":"https:\/\/briansunter.com\/posteriori-vs-a-priori-analysis-of-algorithms","description":"Two ways to measure algorithm performance: running benchmarks vs. mathematical analysis.","pubDate":"Mon, 22 Aug 2022 00:00:00 GMT"},{"title":"Time Complexity Analysis","link":"https:\/\/briansunter.com\/time-complexity","guid":"https:\/\/briansunter.com\/time-complexity","description":"What Big O notation actually means, how to compare algorithm efficiency, and the difference between O, Theta, and Omega.","pubDate":"Mon, 22 Aug 2022 00:00:00 GMT"},{"title":"How to manage projects in Logseq","link":"https:\/\/briansunter.com\/logseq-projects","guid":"https:\/\/briansunter.com\/logseq-projects","description":"How can we organize complex tasks that involve multiple steps over multiple days in Logseq?","pubDate":"Sun, 21 Aug 2022 00:00:00 GMT","category":"blog"},{"title":"Notetaking with NLP and AI","link":"https:\/\/briansunter.com\/notetaking-with-ai","guid":"https:\/\/briansunter.com\/notetaking-with-ai","description":"Using GPT-3, embeddings, and other AI tools to organize and search your notes.","pubDate":"Sun, 21 Aug 2022 00:00:00 GMT","category":"blog"},{"title":"New Website on Logseq Hugo","link":"https:\/\/briansunter.com\/new-website-on-logseq-hugo","guid":"https:\/\/briansunter.com\/new-website-on-logseq-hugo","description":"I've remade my website using Logseq and the Hugo static site generator.","pubDate":"Fri, 19 Aug 2022 00:00:00 GMT","category":"blog"},{"title":"You and Your Research","link":"https:\/\/briansunter.com\/you-and-your-research","guid":"https:\/\/briansunter.com\/you-and-your-research","description":"Richard Hamming's advice on doing significant work and why most scientists are forgotten.","pubDate":"Wed, 17 Aug 2022 00:00:00 GMT"},{"title":"Newsletter Issue 7","link":"https:\/\/briansunter.com\/newsletter\/issue-7","guid":"https:\/\/briansunter.com\/newsletter\/issue-7","description":"Launching my new Logseq-powered website, algorithm analysis techniques, the five-minute journal practice, Richard Hamming's advice on doing important research, and the release of Stable Diffusion AI image generation.","pubDate":"Wed, 10 Aug 2022 00:00:00 GMT"},{"title":"Machine Learning Study Guide","link":"https:\/\/briansunter.com\/machine-learning-study-guide","guid":"https:\/\/briansunter.com\/machine-learning-study-guide","description":"An outline of topics to study for understanding machine learning fundamentals.","pubDate":"Sun, 17 Jul 2022 00:00:00 GMT"},{"title":"Newsletter Issue 6","link":"https:\/\/briansunter.com\/newsletter\/issue-6","guid":"https:\/\/briansunter.com\/newsletter\/issue-6","description":"I wrote a simple introduction to algorithms and why they're important and a short guide to my current logseq-projects template.","pubDate":"Sun, 17 Jul 2022 00:00:00 GMT"},{"title":"100 newsletter subscribers","link":"https:\/\/briansunter.com\/100-newsletter-subscribers","guid":"https:\/\/briansunter.com\/100-newsletter-subscribers","description":"Reaching 100 newsletter subscribers milestone","pubDate":"Wed, 13 Jul 2022 00:00:00 GMT"},{"title":"Machine Learning Study Guide (GPT-3 Generated)","link":"https:\/\/briansunter.com\/machine-learning-study-guide-gpt","guid":"https:\/\/briansunter.com\/machine-learning-study-guide-gpt","description":"AI-generated explanations of machine learning concepts, used to build a structured study guide.","pubDate":"Tue, 12 Jul 2022 00:00:00 GMT"},{"title":"Algorithms Boot Camp","link":"https:\/\/briansunter.com\/algorithms-boot-camp","guid":"https:\/\/briansunter.com\/algorithms-boot-camp","description":"A structured learning path through data structures and algorithms fundamentals.","pubDate":"Sun, 10 Jul 2022 00:00:00 GMT"},{"title":"Almanack of Naval Ravikant","link":"https:\/\/briansunter.com\/almanack-of-naval-ravikant","guid":"https:\/\/briansunter.com\/almanack-of-naval-ravikant","description":"A collection of tweets on the philosophy of life, wealth, relationships, learning, and health from the investor and founder of AngelList Naval Ravikant.","pubDate":"Sun, 10 Jul 2022 00:00:00 GMT"},{"title":"newsletter-roadmap","link":"https:\/\/briansunter.com\/newsletter-roadmap","guid":"https:\/\/briansunter.com\/newsletter-roadmap","description":"My newsletter roadmap is a working outline of issue topics on Logseq, productivity, algorithms, health, and the resources I plan to share.","pubDate":"Sun, 10 Jul 2022 00:00:00 GMT"},{"title":"Newsletter Issue 5","link":"https:\/\/briansunter.com\/newsletter\/issue-5","guid":"https:\/\/briansunter.com\/newsletter\/issue-5","description":"Algorithms Bootcamp and the Elon Musk Controversy","pubDate":"Sun, 10 Jul 2022 00:00:00 GMT"},{"title":"Generating Poodle Mix Names with AI","link":"https:\/\/briansunter.com\/poodle-mixes","guid":"https:\/\/briansunter.com\/poodle-mixes","description":"Teaching GPT-3 to invent names for every possible poodle crossbreed.","pubDate":"Sun, 10 Jul 2022 00:00:00 GMT"},{"title":"GPT-3 Chinese Language Tutor","link":"https:\/\/briansunter.com\/gpt3-chinese-language-tutor","guid":"https:\/\/briansunter.com\/gpt3-chinese-language-tutor","description":"Building a chatbot to learn Chinese internet slang and casual expressions.","pubDate":"Sun, 03 Jul 2022 00:00:00 GMT"},{"title":"Newsletter Issue 4","link":"https:\/\/briansunter.com\/newsletter\/issue-4","guid":"https:\/\/briansunter.com\/newsletter\/issue-4","description":"This newsletter is a deep dive on using the latest AI techniques for knowledge management and a tutorial on using Logseq for task management.","pubDate":"Sun, 03 Jul 2022 00:00:00 GMT"},{"title":"How to Use GPT-3 to Learn Kubernetes","link":"https:\/\/briansunter.com\/how-to-use-gpt3-to-learn-kubernetes","guid":"https:\/\/briansunter.com\/how-to-use-gpt3-to-learn-kubernetes","description":"Using AI to generate study materials and explain complex Kubernetes concepts.","pubDate":"Wed, 29 Jun 2022 00:00:00 GMT"},{"title":"Newsletter Issue 3","link":"https:\/\/briansunter.com\/newsletter\/issue-3","guid":"https:\/\/briansunter.com\/newsletter\/issue-3","description":"This week, I wrote a few guides. I released a new plugin to download captions from YouTube directly into your notes to help you study videos. I also include some productivity tips and fun artwork created by OpenAI\u2019s DALL-E image generation technology.","pubDate":"Sun, 26 Jun 2022 00:00:00 GMT"},{"title":"Newsletter Issue 2","link":"https:\/\/briansunter.com\/newsletter\/issue-2","guid":"https:\/\/briansunter.com\/newsletter\/issue-2","description":"Intro to using AI to take notes and examples from of the community using the logseq openai plugin","pubDate":"Sun, 19 Jun 2022 00:00:00 GMT"},{"title":"Daily Highlight Productivity Technique","link":"https:\/\/briansunter.com\/daily-highlight-productivity-technique","guid":"https:\/\/briansunter.com\/daily-highlight-productivity-technique","description":"Pick one thing each day that matters most. A simple technique that cuts through endless to-do lists.","pubDate":"Fri, 17 Jun 2022 00:00:00 GMT","category":"blog"},{"title":"Logseq YouTube Captions","link":"https:\/\/briansunter.com\/projects\/logseq-youtube-captions","guid":"https:\/\/briansunter.com\/projects\/logseq-youtube-captions","description":"A released Logseq plugin that downloads YouTube captions into a child block, with slash and block-menu commands and configurable caption language.","pubDate":"Tue, 14 Jun 2022 05:29:10 GMT"},{"title":"Newsletter Issue 1","link":"https:\/\/briansunter.com\/newsletter\/issue-1","guid":"https:\/\/briansunter.com\/newsletter\/issue-1","description":"Launching my newsletter, public graph, and logseq gpt3 AI plugin","pubDate":"Sun, 12 Jun 2022 00:00:00 GMT"},{"title":"AI Powered Notetaking with the GPT-3 Logseq plugin","link":"https:\/\/briansunter.com\/ai-powered-notetaking-with-the-gpt-3-logseq-plugin","guid":"https:\/\/briansunter.com\/ai-powered-notetaking-with-the-gpt-3-logseq-plugin","description":"I've started using GPT-3 to create text summaries, outlines and perform many other AI-powered tasks directly within the Logseq notetaking app using a new plugin I developed.","pubDate":"Sat, 04 Jun 2022 00:00:00 GMT","category":"blog"},{"title":"Logseq GPT-3 Plugin","link":"https:\/\/briansunter.com\/projects\/logseq-gpt3-plugin","guid":"https:\/\/briansunter.com\/projects\/logseq-gpt3-plugin","description":"A released Logseq plugin that sends block prompts to OpenAI text models and inserts responses as child blocks; the current project is a legacy GPT-3 integration.","pubDate":"Tue, 31 May 2022 05:04:30 GMT"},{"title":"Travels with Charley","link":"https:\/\/briansunter.com\/travels-with-charley","guid":"https:\/\/briansunter.com\/travels-with-charley","description":"Steinbeck's road trip across America with his poodle, searching for the country's character.","pubDate":"Sun, 08 May 2022 00:00:00 GMT"},{"title":"Cooklang Parser","link":"https:\/\/briansunter.com\/projects\/cooklang-parser","guid":"https:\/\/briansunter.com\/projects\/cooklang-parser","description":"A published TypeScript Cooklang parser with typed output, metadata, sections, frontmatter support, and canonical plus extension parsing modes.","pubDate":"Wed, 16 Mar 2022 19:50:10 GMT"},{"title":"Python Setup with pyenv and poetry","link":"https:\/\/briansunter.com\/python-setup-pyenv-poetry","guid":"https:\/\/briansunter.com\/python-setup-pyenv-poetry","description":"How to set up a Python project with the latest tools and best practices","pubDate":"Sun, 13 Feb 2022 00:00:00 GMT","category":"blog"},{"title":"Five Minute Journal","link":"https:\/\/briansunter.com\/five-minute-journal","guid":"https:\/\/briansunter.com\/five-minute-journal","description":"A quick daily practice with prompts for gratitude, intentions, and reflection.","pubDate":"Sun, 01 Aug 2021 00:00:00 GMT"},{"title":"How to Take Smart Notes","link":"https:\/\/briansunter.com\/how-to-take-smart-notes","guid":"https:\/\/briansunter.com\/how-to-take-smart-notes","description":"By focusing on what is interesting and keeping written track of your own intellectual development, topics, questions, and arguments will naturally emerge without force.","pubDate":"Mon, 08 Feb 2021 00:00:00 GMT","category":"blog"},{"title":"PostcardPop","link":"https:\/\/briansunter.com\/projects\/postcardpop","guid":"https:\/\/briansunter.com\/projects\/postcardpop","description":"Create and share beautiful digital postcards with custom images, messages, map stamps, and a copyable link.","pubDate":"Sat, 04 Jul 2020 05:42:56 GMT"},{"title":"emacs-daemon-mode-on-macos","link":"https:\/\/briansunter.com\/emacs-daemon-mode-on-macos","guid":"https:\/\/briansunter.com\/emacs-daemon-mode-on-macos","description":"How to have Emacs launch quickly and always be available on macOS.","pubDate":"Tue, 25 Jun 2019 00:00:00 GMT"},{"title":"3D Me: 3D Selfie","link":"https:\/\/briansunter.com\/projects\/3d-me","guid":"https:\/\/briansunter.com\/projects\/3d-me","description":"An interactive browser viewer for a full-body 3D scan, built with three.js and deployed as a GitHub Pages demo.","pubDate":"Mon, 24 Jun 2019 04:07:00 GMT"},{"title":"Why Clojure?","link":"https:\/\/briansunter.com\/why-clojure","guid":"https:\/\/briansunter.com\/why-clojure","description":"What makes Clojure interesting and well suited for modern software development?","pubDate":"Sun, 30 Sep 2018 00:00:00 GMT","category":"blog"}]}}