{"type":"https://johnseong.ca/api/digest","title":"John Seong - Site Digest","status":200,"detail":"Technical blog by John Seong. 43 posts.","instance":"2026-04-29T12:56:50.941Z","site":"https://johnseong.ca","author":"John Seong","description":"Tech Lead | AI Systems","generated":"2026-04-29T12:56:50.941Z","post_count":43,"topics":["Azure","agentic-ai","agents","ai","ai-agents","automation","azure","career","clawdbot","cli","cloud","data-science","development","devops","devtools","engineering","fintech","game","gitops","kubernetes","llm","machine-learning","mcp","nextjs","openbb","personal","productivity","python","review","scm","security","spring-boot","typescript","youtube"],"posts":[{"title":"I Tried to Profit From Canadian Flight Delays","url":"https://johnseong.ca/blog/FlightDelayCanada","date":"2026-03-25","tags":["development","data-science","python","machine-learning"],"summary":"Can you exploit Canada's APPR flight delay compensation rules for profit? I built a data pipeline, trained two ML models, and ran the numbers on 650 flights.","word_count":1715},{"title":"The Context Switching Tax: Why Your Brain Hates Your Job (And What the Research Says)","url":"https://johnseong.ca/blog/CognitiveSwitching","date":"2026-03-15","tags":["career","engineering","productivity"],"summary":"Modern engineering demands constant context switching between design, code, infrastructure, security, and operations. Neuroscience says your brain wasn't built for this. Here's what the research actually shows about breadth vs depth, and where the sweet spot is.","word_count":1424},{"title":"Building Agent-Friendly Endpoints: RFC 9457 for the Agentic Web","url":"https://johnseong.ca/blog/AgentFriendlyEndpoints","date":"2026-03-13","tags":["development","ai","agents","nextjs"],"summary":"How I added an RFC 9457-compliant agent digest endpoint and llms.txt to my Next.js blog, cutting token costs by 98% for AI agents crawling my site.","word_count":1085},{"title":"The Shift to Agentic Coding and the Future of Software Engineering","url":"https://johnseong.ca/blog/AgenticCoding","date":"2026-02-27","tags":["development","ai","agents","devtools"],"summary":"How AI agents are reshaping software development, why git history alone isn't enough anymore, and what tools like Entire mean for engineering teams","word_count":1108},{"title":"Building an AI Code Review Extension for Azure DevOps","url":"https://johnseong.ca/blog/ClaudeCodeReviewADO","date":"2026-02-26","tags":["development","ai","devops","azure","typescript"],"summary":"How I built and published an Azure DevOps pipeline task that reviews PRs using Claude AI with confidence-based scoring","word_count":785},{"title":"Building a Personal AI Financial Analyst with OpenBB MCP","url":"https://johnseong.ca/blog/OpenBBMCPClawdbot","date":"2026-02-14","tags":["ai-agents","mcp","fintech","openbb","clawdbot"],"summary":"Connecting OpenBB's 113 financial tools to an AI agent via Model Context Protocol — real-time macro analysis from a Telegram chat at midnight","word_count":1043},{"title":"Building an Agentic AI Pipeline: Autonomous Content Creation with Human-in-the-Loop","url":"https://johnseong.ca/blog/AgenticYouTubePipeline","date":"2026-02-06","tags":["development","ai","agentic-ai","automation","llm"],"summary":"How I built an AI agent that autonomously extracts, captions, and uploads YouTube Shorts — with me as the quality gate, not the operator","word_count":1083},{"title":"Automating YouTube Shorts: A Podcast Clipping Pipeline","url":"https://johnseong.ca/blog/YouTubeShortsPipeline","date":"2026-02-04","tags":["development","ai","automation","youtube","python"],"summary":"Building an end-to-end pipeline that turns podcast episodes into viral YouTube Shorts using WhisperX, FFmpeg, and local LLMs","word_count":897},{"title":"Building a Security Scanner for AI Agent Skills","url":"https://johnseong.ca/blog/SkillAuditor","date":"2026-01-30","tags":["development","ai","security","agents"],"summary":"Why I built a paid security auditor for Clawdbot skills after seeing supply chain attack discussions in the AI agent community","word_count":833},{"title":"Building AI Debate Agents with Google A2A Protocol","url":"https://johnseong.ca/blog/A2AProtocol","date":"2026-01-25","tags":["development","ai","agents","python"],"summary":"Implementing Google's Agent2Agent protocol to make two local LLMs debate each other","word_count":813},{"title":"Next.js 12 to 15.5.9: Patching CVE-2025-55182 (React2Shell)","url":"https://johnseong.ca/blog/DependencyUpdate2025","date":"2025-12-14","tags":["development","nextjs","security"],"summary":"Three years of technical debt and a CVSS 10.0 RCE vulnerability being actively exploited in the wild","word_count":856},{"title":"K9s: The Terminal-Based UI for Kubernetes Management","url":"https://johnseong.ca/blog/K9s","date":"2025-02-22","tags":["kubernetes","devops","cli"],"summary":"A comprehensive guide to using k9s for efficient Kubernetes cluster management","word_count":161},{"title":"Deploying a Spring Boot Airline Application to AKS with ArgoCD","url":"https://johnseong.ca/blog/AKSDeployment","date":"2025-02-21","tags":["kubernetes","spring-boot","devops","azure","gitops"],"summary":"A practical guide to deploying a Spring Boot airline application on AKS using GitOps with ArgoCD","word_count":374},{"title":"Azure Kubernetes Service","url":"https://johnseong.ca/blog/AKS","date":"2025-02-20","tags":["cloud","kubernetes","Azure","development"],"summary":"A deep dive into Azure Kubernetes Service, its components, deployment patterns, and integrated tooling","word_count":474},{"title":"Azure Application Gateway","url":"https://johnseong.ca/blog/ApplicationGateway","date":"2023-03-05","tags":["cloud","development","Azure"],"summary":"Azure Application Gateway provides advanced load balancing capabilities","word_count":413},{"title":"Documentation lifecycle","url":"https://johnseong.ca/blog/DocumentationLifecycle","date":"2023-01-08","tags":["development"],"summary":"documentation is an essential part of the development process","word_count":362},{"title":"Windows configuration","url":"https://johnseong.ca/blog/WindowsConfig","date":"2022-12-30","tags":["cloud","development","azure"],"summary":"full VM infrastructure using Terraform, Ansible and Puppet","word_count":599},{"title":"Version Control Solutions","url":"https://johnseong.ca/blog/VersionControlSolutions","date":"2022-12-29","tags":["scm","development"],"summary":"source code management is critical in engineering productivity","word_count":469},{"title":"CI/CD Solutions","url":"https://johnseong.ca/blog/CICDSolutions","date":"2022-12-21","tags":["cloud","development"],"summary":"automating the build, testing, and deployment of software","word_count":402},{"title":"Azure key Vault","url":"https://johnseong.ca/blog/AzureKeyVault","date":"2022-12-18","tags":["cloud","development","Azure"],"summary":"Azure Key Vault is a Microsoft services that provides secure storage for sensitive data","word_count":385},{"title":"Service Mesh","url":"https://johnseong.ca/blog/ServiceMesh","date":"2022-12-14","tags":["cloud","development","kubernetes"],"summary":"layer of infrastructure that sits between the applications in a microservices architecture","word_count":386},{"title":"ArgoCD","url":"https://johnseong.ca/blog/ArgoCD","date":"2022-12-01","tags":["cloud","development","kubernetes"],"summary":"Argo CD is a declarative, GitOps-based continuous delivery tool for Kubernetes","word_count":310},{"title":"Working in Terraform","url":"https://johnseong.ca/blog/WorkinginTerraform","date":"2022-10-22","tags":["development"],"summary":"I have had a good experience developing in Terraform","word_count":242},{"title":"Dependency in web development","url":"https://johnseong.ca/blog/Dependency","date":"2022-10-15","tags":["development"],"summary":"Engineers often undermine the power of dependencies","word_count":265},{"title":"Azure Automation","url":"https://johnseong.ca/blog/AzureAutomation","date":"2022-10-07","tags":["Azure","cloud","development"],"summary":"Azure provides many solution to automation problems","word_count":214},{"title":"Other Azure certifications","url":"https://johnseong.ca/blog/OtherAz","date":"2022-04-26","tags":["development"],"summary":"It has been a long and arduous journey","word_count":106},{"title":"Interview preparation","url":"https://johnseong.ca/blog/JobPrep","date":"2022-04-05","tags":["development"],"summary":"an exhaustive list of preparation I did for technical interview questions","word_count":9630},{"title":"Cloud Stuff","url":"https://johnseong.ca/blog/CloudStuff","date":"2022-02-07","tags":["development"],"summary":"I have been searching online for cloud projects I can do","word_count":334},{"title":"Leetcode","url":"https://johnseong.ca/blog/Leetcode","date":"2022-02-07","tags":["development"],"summary":"help candidates pass the technical interview for tech companies","word_count":293},{"title":"Azure VM for Minecraft Server","url":"https://johnseong.ca/blog/AzureVMApplication","date":"2022-01-30","tags":["development","game"],"summary":"This laboratory was great for many reasons","word_count":410},{"title":"AZ-204 Certificate for Azure Developer Associate","url":"https://johnseong.ca/blog/AZ-204","date":"2022-01-24","tags":["development"],"summary":"I received my certification for AZ-204 Azure Developer Associate","word_count":127},{"title":"MERN Demo Links","url":"https://johnseong.ca/blog/MERNDemoLinks","date":"2022-01-24","tags":["development"],"summary":"MERN is a popular stack to use in 2022","word_count":59},{"title":"AZ-104 Certificate for Azure Administrator Associate","url":"https://johnseong.ca/blog/AZ-104","date":"2022-01-20","tags":["development"],"summary":"I now received my certificate for AZ-104 Certificate for Azure Administrator Associate","word_count":205},{"title":"AZ-900 Certificate for Azure Fundamentals","url":"https://johnseong.ca/blog/AZ-900","date":"2022-01-13","tags":["development"],"summary":"I have received my certification for Azure fundamentals","word_count":217},{"title":"DLN","url":"https://johnseong.ca/blog/DLN","date":"2021-12-25","tags":["personal"],"summary":"Canadian Armed Forces' (CAF) way of managing our soldiers education and training online","word_count":543},{"title":"MongoDB University","url":"https://johnseong.ca/blog/MongoDBUniversity","date":"2021-12-24","tags":["development"],"summary":"MongoDB Univeristy is an LMS for MongoDB which is a document-oriented NoSQL database program","word_count":250},{"title":"Microsoft Game Pass","url":"https://johnseong.ca/blog/MicrosoftGamePass","date":"2021-12-13","tags":["game","development"],"summary":"Microsoft allows the users to try out their Game Pass","word_count":232},{"title":"Age of Empires 4","url":"https://johnseong.ca/blog/AgeOfEmpires4","date":"2021-12-11","tags":["game","review"],"summary":"Age of Empires is a real-time strategy game","word_count":297},{"title":"Microsoft Learn","url":"https://johnseong.ca/blog/MicrosoftLearn","date":"2021-12-08","tags":["development","review"],"summary":"Microsoft Learn is Microsoft's very own learning management system (LMS)","word_count":279},{"title":"Clash Royale","url":"https://johnseong.ca/blog/ClashRoyale","date":"2021-12-04","tags":["game","review"],"summary":"Clash Royale is a real-time strategy game based on optimal elixir usage and playing mind games against other players","word_count":277},{"title":"Lighthouse Labs","url":"https://johnseong.ca/blog/LighthouseLabs","date":"2021-12-02","tags":["personal","development"],"summary":"Lighthouse Labs have a challenge event","word_count":209},{"title":"The Odin Project","url":"https://johnseong.ca/blog/TheOdinProject","date":"2021-11-30","tags":["personal","development"],"summary":"The Odin Project is one of those \"What I wish I had when I was learning\" resources","word_count":187},{"title":"Google Foobar","url":"https://johnseong.ca/blog/GoogleFoobar","date":"2021-10-31","tags":["personal"],"summary":"Google to try their secret coding interview","word_count":276}]}