# Corti.com > Technical blog of Sascha Corti, senior software development engineer at Microsoft. Public Ghost content for AI and LLM tooling. Use `/llms-full.txt` for consolidated page and post context. Append `.md` to any post or page URL to get the content in Markdown (for example, `/example-post.md`). ## Pages - [About this site](https://corti.com/about.md) - Corti.com is an independent publication launched in August 2024 by Sascha Corti. If you subscribe today, you'll get full access to the website as well as email newsletters about new content when it's available. Thank you! Access all areas By signing up, you'll get access to the full archive of ever… - [Corti.com Apps](https://corti.com/apps.md) - Small, focused utilities for Mac and iPhone, built by Sascha Corti. Free where possible, open source where it makes sense, and private by design throughout. Jump to: CatPaws · PictureFramer · ZoomIt4Mac CatPaws Protect your work from curious cats. macOS 14+ · Apple silicon & Intel · Free & open sou… - [Contact](https://corti.com/contact.md) - You can contact me at sascha@corti.com. - [Digital Garden](https://corti.com/digital-garden.md) - I host a Digital Garden, a shared learning platform where I collect information and can share it with others. 🪴 If you want to visit, head over to: https://digitalgarden.corti.com. A digital garden is a personal online space where individuals curate and cultivate their ideas, notes, and projects o… - [My Library](https://corti.com/my-library.md) - This page contains the list of books that I have recently read. Your browser does not support iframes. - [Privacy Policy](https://corti.com/privacy-policy.md) - Privacy Policy for A collection of thoughts by Sascha Corti. Privacy Policy Last updated: May 09, 2025 This Privacy Policy describes Our policies and procedures on the collection, use and disclosure of Your information when You use the Service and tells You about Your privacy rights and how the law… - [Sascha Corti](https://corti.com/sascha-corti.md) - 👋 Hi! I'm Sascha, a senior software engineer working for Microsoft since 2000 in the Industrial Software Engineering department, developing solutions based on Microsoft cloud technology together with customers to help solve their problems. I am currently focusing on GenAI solutions and previously… - [Thank you very much!](https://corti.com/thank-you-very-much.md) - I'm certainly going to enjoy this cup. Let's keep in contact! ## Posts - [Teaching My iPhone App to See Through Museum Glass](https://corti.com/teaching-my-iphone-app-to-see-through-museum-glass.md) - My little iOS app PictureFramer does one thing: you photograph a framed painting in a museum, and it straightens the photo — finds the frame, fixes the perspective, keeps a clean strip of wall around it. Pure on-device geometry, no network, done. Then I looked at my camera roll. Half my museum phot… - [ZoomIt4Mac 1.1.0: Record a Region, Copy Text from Anywhere, and Never Update Manually Again](https://corti.com/zoomit4mac-1-1-0-record-a-region-copy-text-from-anywhere-and-never-update-manually-again.md) - ZoomIt4Mac — the native macOS re-implementation of the Sysinternals ZoomIt presentation tool — just got its first big update since launch. Version 1.1.0 brings four new features, and one of them means you'll never have to download an update yourself again. Download ZoomIt4Mac Here's what's new. Rec… - [ZoomIt4Mac: Bringing the Sysinternals ZoomIt Experience to macOS](https://corti.com/zoomit4mac-bringing-the-sysinternals-zoomit-experience-to-macos.md) - If you have ever watched a great technical presenter on Windows, you have probably seen ZoomIt in action — Mark Russinovich's tiny Sysinternals tool that zooms into the screen, draws arrows over live demos, and runs break timers, all without ever showing a window. When I present on a Mac, I missed… - [Cleaning Up the Adobe Mess: Orphaned Office Add-ins After Uninstalling Acrobat Reader on macOS](https://corti.com/cleaning-up-the-adobe-mess-orphaned-office-add-ins-after-uninstalling-acrobat-reader-on-macos.md) - Adobe and I have history. A while back, I wanted to cancel my Photoshop suite subscription and got hit with a penalty fee for "canceling outside of the cancellation window" — a fee for the privilege of no longer being a customer. Lesson learned, I thought. Apparently not. Recently I made the mistak… - [PictureFramer: Straightening Museum Photos with Vision, Core Image, and One Carefully Placed Y-Flip](https://corti.com/pictureframer-straightening-museum-photos-with-vision-core-image-and-one-carefully-placed-y-flip.md) - I take a lot of photos of paintings in museums. They all have the same problem: you can rarely stand dead center in front of the artwork, so every photo is a little rotated and keystoned, with the frame converging toward one side. Cropping doesn't fix perspective, and generic document scanners crop… - [Claude Code's /goal: Set a Condition, Walk Away. A practical guide](https://corti.com/claude-codes-goal-set-a-condition-walk-away-a-practical-guide.md) - Claude Code has always been turn-based: you prompt, Claude works, control returns to you. That model breaks down for long-running work — migrations, backlog grinding, "keep fixing until CI is green" — where you end up typing "continue" every few minutes. The /goal command, introduced in Claude Code… - [Loops, Not Tasks: How GPT-5.6 Turns Collaboration with AI into a System](https://corti.com/loops-not-tasks-how-gpt-5-6-turns-collaboration-with-ai-into-a-system.md) - GPT-5.6 heralds a new way of collaborating with AI. Instead of using AI to complete one task at a time, you build a system that scans the available information, turns it into proposed decisions, and carries out the ones you approve. Over time, the system compounds your feedback to do more and more… - [Inside the J-Space: Anthropic Finds a "Global Workspace" in Claude](https://corti.com/inside-the-j-space-anthropic-finds-a-global-workspace-in-claude.md) - A technical look at the July 2026 interpretability paper "Verbalizable Representations Form a Global Workspace in Language Models" — what was actually measured, what it means, and where healthy skepticism belongs. On July 6, 2026, Anthropic's interpretability team (Gurnee, Sofroniew, Lindsey et al.… - [Turning Supacode Into a Full IDE: Flexible Panes for Agents, Editor, File Management and Git, all using VIM Keybindings](https://corti.com/turning-supacode-into-a-full-ide-flexible-panes-for-agents-editor-file-management-and-git-all-using-vim-keybindings.md) - I've spent the last while collapsing my development environment into a single window. Not VS Code, not a raw Ghostty grid held together with a tmux config but Supacode. What started as "a nicer harness for running Claude Code, OpenCode or Copilot CLI in parallel" has quietly become the only thing I… - [Teaching an LLM to Speak Vestaboard Note: Building Vestaboard AI](https://corti.com/teaching-an-llm-to-speak-vestaboard-note-building-vestaboard-ai.md) - A Vestaboard is a split-flap display — the kind that used to clatter through train-station departure boards — reimagined as a connected home object. It's gorgeous, it's tactile, and it has a wonderfully small canvas: 3 lines of 15 characters, so 45 characters of real content, drawn from a restricte… - [From Tokenmaxxing to Token Discipline: The 2026 Reckoning in AI-Assisted Engineering](https://corti.com/from-tokenmaxxing-to-token-discipline-the-2026-reckoning-in-ai-assisted-engineering.md) - For a brief window in early 2026, the loudest signal of "AI adoption" inside large tech companies was a number going up: tokens consumed. Six months later, the same number is something finance teams are actively trying to drive down. This is a post about that reversal — what tokenmaxxing was, the d… - [AI assisted Software Engineering: Scaffolding Your Way from One Agent to a Team](https://corti.com/ai-assisted-software-engineering-scaffolding-your-way-from-one-agent-to-a-team.md) - How agent-teams-scaffold turns any repository into a launchpad for Claude Code Agent Teams — and why that's the cleanest jump from Level 6 to Level 7 of AI adoption. The wall between "an agent" and "a team of agents" If you've spent time with coding agents, you've probably felt a ceiling. One agent… - [Serving TokenTelemetry, a localhost-only app on the internet, safely using just a script: a tour of tokentelemetry-caddy](https://corti.com/serving-tokentelemetry-a-localhost-only-app-on-the-internet-safely-using-just-a-script-a-tour-of-tokentelemetry-caddy.md) - I host OpenClaw and Hermes on two different virtual machines in the cloud. I want to be able to view their token usage using TokenTelemetry, but the tool is built to run unauthenticated on localhost. To get a way to securely publish the TokenTelemetry endpoint of http://localhost:3000 to the public… - [Connecting OpenCode to a Self-Hosted LLM (vLLM + Nemotron 3 Super)](https://corti.com/connecting-opencode-to-a-self-hosted-llm-vllm-nemotron-3-super.md) - Coding agents like Claude Code and Codex are excellent, but both are wired to a specific vendor's API. If you run your own inference stack — for cost control, data residency, or because you have GPUs sitting idle — you want an agent you can point at your endpoint. OpenCode is the cleanest fit: it's… - [Measuring LLM Inference: A Practical Look at token-sec-calc I published on GitHub.](https://corti.com/measuring-llm-inference-a-practical-look-at-token-sec-calc-i-published-on-github.md) - When you self-host an LLM — vLLM, SGLang, TGI, llama.cpp server — or wire your app to a hosted gateway, one question dominates every capacity decision: how many tokens per second can this thing actually deliver? That number is harder to pin down than it sounds. Output length varies because of EOS.… - [Serving Nemotron-Super-120B with a 1M token context on a 2-node DGX Spark cluster](https://corti.com/serving-nemotron-super-120b-with-a-1m-token-context-on-a-2-node-dgx-spark-cluster.md) - This is a build log. We had two NVIDIA DGX Spark workstations (GB10 / SM121, 128 GB unified memory each), 200 GbE ConnectX-7 NICs, and the goal of serving NVIDIA's Nemotron-3-Super-120B-A12B-NVFP4 with the model's full 1 million token context. The path there crossed several traps that aren't docume… - [Clustering Two NVIDIA DGX Sparks to Serve Qwen3-30B-Thinking with Ray + vLLM](https://corti.com/clustering-two-nvidia-dgx-sparks-to-serve-qwen3-30b-thinking-with-ray-vllm.md) - TL;DR We took two NVIDIA DGX Spark units, wired them together over a 200 GbE link, joined them into a single Ray cluster running inside a vLLM container, and serve Qwen/Qwen3-30B-A3B-Thinking-2507-FP8 with tensor parallelism across both boxes. One Spark holds shard 0, the other holds shard 1, Ray d… - [Borrowing Memory, Not Speed: Clustering a Mac Studio and a DGX Spark with exo](https://corti.com/borrowing-memory-not-speed-clustering-a-mac-studio-and-a-dgx-spark-with-exo.md) - Every local-inference setup eventually hits the same wall: a model you want to run is a few gigabytes too big for the one machine you'd run it on. You have a 128 GB Mac Studio. The model wants 160 GB. You also happen to have a 128 GB DGX Spark sitting on the same network. The obvious question is wh… - [Why Qwen3.6-35B Runs on a NVIDIA DGX Spark and gpt-oss-120B Fought Me Every Step](https://corti.com/why-qwen3-6-35b-runs-on-a-nvidia-dgx-spark-and-gpt-oss-120b-fought-me-every-step.md) - A field report from getting a local LLM inference endpoint working on an NVIDIA DGX Spark (GB10 / SM121, 128 GB unified memory) — including every wall I hit with gpt-oss-120B, why a smaller FP8 model sidestepped all of them, and how to expose the result safely through an nginx reverse proxy on a mu… - [When the Helpdesk Becomes the Hacker: Technical Analysis of the Meta AI Account Takeover Incident And How to Prevent It](https://corti.com/when-the-helpdesk-becomes-the-hacker-technical-analysis-of-the-meta-ai-account-takeover-incident-and-how-to-prevent-it.md) - In June 2026, security researchers uncovered one of the most surprising account takeover incidents in recent memory. Attackers did not exploit a memory corruption bug, bypass cryptography, or compromise Meta's infrastructure. Instead, they simply convinced Meta's own AI-powered support system to ha… - [Microsoft’s New MAI Models: A Technical Analysis](https://corti.com/microsofts-new-mai-models-a-technical-analysis.md) - At Build 2026, Microsoft significantly expanded its in-house MAI (Microsoft AI) model family. While much of the public attention focused on Microsoft's ongoing relationship with OpenAI, the more interesting technical story is that Microsoft is increasingly developing its own foundation models acros… - [Two Sparks, One Cluster: Why Stacking NVIDIA DGX Spark Units Unlocks Local Frontier-Scale Inference](https://corti.com/two-sparks-one-cluster-why-stacking-nvidia-dgx-spark-units-unlocks-local-frontier-scale-inference.md) - The NVIDIA DGX Spark put a Grace Blackwell superchip on the desk for the price of a high-end workstation. A single unit is already a capable local-inference box — 128 GB of unified memory, FP4 tensor cores, a full NVIDIA software stack. But the feature that quietly changes the platform's ceiling is… - [Perplexity Bumblebee: Fast, Read-Only Supply-Chain Exposure Checks for Developer Machines](https://corti.com/perplexity-bumblebee-fast-read-only-supply-chain-exposure-checks-for-developer-machines.md) - Modern software supply-chain incidents move fast. A malicious package version is published, copied into lockfiles, installed into developer environments, embedded into project workspaces, or exposed through editor and browser extensions. The immediate security question is rarely theoretical: Which… - [Running GPT-OSS-120B on a Single NVIDIA DGX Spark - A Practical Guide](https://corti.com/running-gpt-oss-120b-on-a-single-nvidia-dgx-spark-a-practical-guide.md) - Note on the model name: OpenAI’s open-weight family ships as gpt-oss-20b and gpt-oss-120b. There is no 130B variant — this guide targets gpt-oss-120b, which is the one sized to fit the Spark’s unified memory. A practical, single-node setup guide for serving gpt-oss-120b as a local coding backend on… - [Tiny11: Giving an Old, Unsupported PC a Secure Second Life with a Minimal Windows 11 Installation](https://corti.com/tiny11-giving-an-old-unsupported-pc-a-secure-second-life-with-a-minimal-windows-11-installation.md) - When Windows 10 reached end of support, many perfectly usable PCs were pushed into an uncomfortable corner. The hardware still worked. The CPU was still fast enough for web browsing, email, light office work, home automation dashboards, media playback, or workshop use. But the machine could not off… - [Install the “Caveman” Skill for GitHub Copilot CLI System-Wide](https://corti.com/install-the-caveman-skill-for-github-copilot-cli-system-wide.md) - Large Language Models are incredibly powerful for software engineering, but they also have a habit of being verbose. Long explanations, conversational filler, and repeated context all consume tokens, increase latency, and dilute the signal-to-noise ratio during AI-assisted engineering. The “caveman… - [What Achieving AGI Could Mean: Beyond Bigger Models and Longer Context Windows](https://corti.com/what-achieving-agi-would-mean-beyond-bigger-models-and-longer-context-windows.md) - Artificial General Intelligence, or AGI, is one of those terms that is both overused and underdefined. Depending on who you ask, it means human-level intelligence, economically useful autonomy, recursive self-improvement, scientific superintelligence, or simply “the next thing after today’s chatbot… - [From Passwords to Keys: Setting Up GitHub SSH Authentication on macOS (and Never Typing Credentials Again)](https://corti.com/from-passwords-to-keys-setting-up-github-ssh-authentication-on-macos-and-never-typing-credentials-again.md) - If you are still cloning GitHub repositories over HTTPS and repeatedly authenticating with browser logins or tokens, switching to SSH is one of those small infrastructure improvements that pays off every day. SSH authentication gives you: * Passwordless Git operations after initial setup * Separate… - [LLMs Corrupt Your Documents When You Delegate](https://corti.com/llms-corrupt-your-documents-when-you-delegate.md) - The uncomfortable gap between “can edit” and “can be trusted” A lot of current AI enthusiasm is built around delegation. We no longer ask language models only to answer questions. We ask them to modify source code, rewrite reports, refactor configuration files, reorganize spreadsheets, update struc… - [CopyFail (CVE-2026-31431): Why a Tiny Linux Kernel Bug Became a Massive Infrastructure Threat](https://corti.com/copyfail-cve-2026-31431-why-a-tiny-linux-kernel-bug-became-a-massive-infrastructure-threat.md) - A newly disclosed Linux kernel vulnerability dubbed CopyFail (CVE-2026-31431) has quickly become one of the most serious Linux privilege escalation flaws in recent years. The bug allows an unprivileged local user to gain full root access on a vast number of Linux systems released since 2017 — inclu… - [Graphify: Bringing Knowledge Graphs to AI-Assisted Engineering](https://corti.com/graphify-bringing-knowledge-graphs-to-ai-assisted-engineering.md) - AI coding assistants are becoming very good at generating code, explaining APIs, and navigating local repositories. But they still have a structural weakness: most of them reason over code through text retrieval, open files, grep results, embeddings, and whatever context happens to fit into the pro… - [Palantir’s 22-Point Manifesto, Decoded](https://corti.com/palantirs-22-point-manifesto-decoded.md) - What The Technological Republic says about software, state power, and the future of defense tech. Palantir’s recent X post is worth reading carefully, not because it is subtle, but because it is unusually explicit. In 22 compressed points, the company distilled the argument of The Technological Rep… - [EvilTokens: An AI-Driven Device Code Attack Compromising Microsoft Businesses](https://corti.com/eviltokens-an-ai-driven-device-code-attack-compromising-microsoft-businesses.md) - A new class of identity attacks is rapidly scaling across enterprises: AI-augmented device code phishing, operationalized through phishing-as-a-service (PhaaS) platforms like EvilTokens. Microsoft and multiple security vendors have confirmed that these attacks are now widespread and highly effectiv… - [AI Agent Traps: When the Web Becomes the Attack Surface for Autonomous Agents](https://corti.com/ai-agent-traps-when-the-web-becomes-the-attack-surface-for-autonomous-agents.md) - Autonomous AI agents are quickly moving beyond chat. They browse the web, read documents, call tools, retrieve knowledge, send messages, and increasingly act on behalf of users and organizations. That shift creates a new security problem: the environment itself can become hostile. That is the core… - [Working Beyond the Desk: Using the M5 Apple Vision Pro as a High-Brightness External Display that works on the Balcony on a Sunny Day](https://corti.com/working-beyond-the-desk-using-the-m5-apple-vision-pro-as-a-high-brightness-external-display-that-works-on-the-balcony-on-a-sunny-day.md) - I recently upgraded from the first-generation Apple Vision Pro to the new Apple Vision Pro M5 because even if this device and MR/VR in general gets a lot of bad press, it has fundamentally changed how I think about “where work happens.” Most coverage of spatial computing still focuses on immersive… - [Apple Vision Pro in Switzerland: How to Use It Well in an Unsupported Country](https://corti.com/apple-vision-pro-in-switzerland-how-to-use-it-well-in-an-unsupported-country-2.md) - Apple Vision Pro is portable by design, and Apple explicitly positions it as a device you can use at home, at work, and while traveling. But there is a practical difference between traveling with Vision Pro and living in a country where Apple does not officially sell or support it. Switzerland is o… - [HVE Core for VS Code: Turning GitHub Copilot into a Structured Engineering System. A Practical Guide](https://corti.com/hve-core-for-vs-code-turning-github-copilot-into-a-structured-engineering-system-a-practical-guide.md) - AI-assisted engineering becomes much more valuable when it is constrained by process, standards, and reusable workflows. That is exactly where HVE Core for VS Code stands out. Rather than treating GitHub Copilot as a generic chat assistant or code completion engine, Hypervelocity Engineering (HVE)… - [Why Running Redis in a Local Docker Container Is a Smart Move for Developers](https://corti.com/why-running-redis-in-a-local-docker-container-is-a-smart-move-for-developers.md) - Modern development is increasingly service-driven. Even small apps often depend on infrastructure components like databases, caches, queues, and session stores. Redis fits naturally into that world because it is fast, simple, and broadly useful for caching, session management, and real-time analyti… - [AI Is Not Converging. It Is Being Orchestrated.](https://corti.com/ai-is-not-converging-it-is-being-orchestrated.md) - For the last two years, the dominant question in AI has been deceptively simple: which model will win? That question made sense when the market was still trying to understand whether large language models were a novelty, a feature, or a platform shift. It makes less sense now. After a series of tho… - [From scanners to reasoning: how LLMs and agent harnesses can improve code security](https://corti.com/from-scanners-to-reasoning-how-llms-and-agent-harnesses-can-improve-code-security.md) - Better models matter, but better harnesses may matter more. The future of AI-assisted security is evidence, validation, and human-guided judgment. A year ago, a team at Microsoft explored an idea that felt promising but still a little early: using an AI agent to go beyond vulnerability scanning and… - [AI Hijacking via Open-Source Agent Tooling: A Five-Layer Attack Anatomy](https://corti.com/ai-hijacking-via-open-source-agent-tooling-a-five-layer-attack-anatomy.md) - The threat landscape for AI-assisted development environments has quietly expanded beyond the attack surfaces that traditional security tooling is designed to cover. While conventional supply chain attacks target compiled binaries or runtime dependencies, a new class of attack targets something far… - [Building an AI-Powered Birthday Calendar with FastAPI and Vanilla JavaScript](https://corti.com/building-an-ai-powered-birthday-calendar-with-fastapi-and-vanilla-javascript.md) - A full-stack self-hosted app with email reminders, AI based gift suggestions, and zero framework overhead on the frontend. Why Build a Birthday Calendar? I kept forgetting birthdays. Not the big ones, those are hard to miss, but the colleague whose birthday is next Tuesday, or the friend who always… - [AI-Powered 3D Printing: From Text to STL with Meshy and OpenClaw](https://corti.com/ai-powered-3d-printing-from-text-to-stl-with-meshy-and-openclaw.md) - How I taught my AI assistant to generate 3D-printable models from simple text descriptions The Problem I've been 3D printing for years, but there's always been a gap in my workflow: organic shapes are hard. Sure, I can design a technical items, holders, brackets or enclosure in Shapr 3D, but when I… - [Claude-Mem: Persistent Memory for AI Coding Assistants](https://corti.com/claude-mem-persistent-memory-for-ai-coding-assistants.md) - How an open-source plugin gives Claude Code the ability to remember your entire development history TL;DR claude-mem is an open-source memory system for Claude Code that automatically captures your coding sessions, compresses them with AI, and injects relevant context into future sessions. Think of… - [Optimizing Linux VM Performance: The Ultimate Guide to Swap Configuration](https://corti.com/optimizing-linux-vm-performance-the-ultimate-guide-to-swap-configuration.md) - How to add the right amount of swap space to your Linux based VM for maximum reliability without sacrificing performance. TL;DR - Quick Reference Table VM RAM Recommended Swap Use Case Command 4GB 2GB (50%) Development, light AI workloads sudo fallocate -l 2G /swapfile 8GB 2-4GB (25-50%) Production… - [Anthropic Cowork: AI Desktop Automation for Knowledge Workers](https://corti.com/anthropic-cowork-ai-desktop-automation-for-knowledge-workers.md) - Anthropic's Claude Code has been transforming how developers work, but many users discovered something unexpected: it's incredibly useful for non-coding tasks too. People started using it for vacation research, building slide decks, organizing files, and managing emails. Anthropic took notice and b… - [Building a Kanban Board with My AI Assistant (Moltbot/Clawdbot): A Collaborative Development Story](https://corti.com/building-a-kanban-board-with-my-ai-assistant-moltbot-clawdbot-a-collaborative-development-story.md) - What happens when you ask your AI assistant to build a full-stack web application from scratch, deploy it to production, and then start using it together? This post documents exactly that — a real-time collaborative development session that resulted in a working Kanban board in under an hour. The R… - [Clawdbot: The Open Source AI Assistant Revolution](https://corti.com/clawdbot-the-open-source-ai-assistant-revolution.md) - There's a growing divide in the tech world right now. As Shruti Mishra pointed out after spending 40 hours researching Clawdbot: "It's who knows about tools like Clawdbot and who doesn't. I'm watching people work 60 hour weeks doing what I automated in 30 minutes. They just don't know this exists y… - [Building CatPaws: A macOS App That Protects Your Work from Curious Cats](https://corti.com/building-catpaws-a-macos-app-that-protects-your-work-from-curious-cats.md) - Every cat owner who works from home knows the struggle: you're deep in concentration, crafting the perfect email or debugging complex code, when suddenly your feline friend decides that your keyboard is the most desirable spot in the entire house. The result? Random characters flooding your documen… - [CVE-2025-55182 “React2Shell” Threat and Mitigations](https://corti.com/cve-2025-55182-react2shell-threat-and-mitigations.md) - CVE-2025-55182, nicknamed React2Shell, is a critical security vulnerability (CVSS 10.0) affecting React Server Components (RSC) and related frameworks like Next.js. It stems from an unsafe deserialization flaw in the RSC Flight protocol, which handles server payloads. When a server receives a speci… - [AI Assisted Spec-Driven Development with GitHub Spec Kit](https://corti.com/ai-assisted-spec-driven-development-with-github-spec-kit.md) - Unlocking Precise AI-Assisted Engineering Workflows AI coding assistants like Copilot, Claude Code, or Gemini CLI excel at pattern generation. But left to free-form prompting they often produce code that looks right yet misinterprets intent, architecture, or edge cases. Spec-Driven Development (SDD… - [Bringing PetLibro Smart Feeders to Apple Home: Building a Homebridge Plugin](https://corti.com/bringing-petlibro-smart-feeders-to-apple-home-building-a-homebridge-plugin.md) - A deep dive into reverse-engineering a pet feeder API and building a Homebridge plugin to integrate it with Apple's HomeKit ecosystem. Introduction If you're a smart home enthusiast with pets, you've probably noticed a gap: many smart pet devices don't support Apple HomeKit. PetLibro, a popular bra… - [Publishing to the Open Social Web with Ghost (ActivityPub Explained)](https://corti.com/publishing-to-the-open-social-web-with-ghost-activitypub-explained.md) - The modern internet is shifting back toward open, decentralized protocols where publishers retain control over distribution and audience relationships. Ghost’s Social Web feature brings this vision to life by integrating the ActivityPub protocol into its core publishing platform. In this post, we’l… - [Running Ghost CMS with Docker, Tinybird Analytics, ActivityPub and a Clean nginx + Caddy Split](https://corti.com/running-ghost-cms-with-docker-tinybird-analytics-activitypub-and-a-clean-nginx-caddy-split.md) - Ghost’s new Docker-based installation approach significantly modernizes how a production Ghost instance can be deployed. It introduces first-class web analytics via Tinybird, native ActivityPub support for the social web, and a clean, composable service architecture that works very well with contai… - [Never miss that Chat again: Building a Physical Notification Light for Microsoft Teams with Python and a Luxafor USB Flag](https://corti.com/never-miss-that-chat-agin-building-a-physical-notification-light-for-microsoft-teams-with-python-and-luxafor.md) - Never miss an important Teams message again—even when you're heads-down in work or away from your desk. The Problem Remote work has made staying on top of communication essential, but constantly watching Microsoft Teams can be distracting. What if you could get a visual indicator that works even wh… - [From Prompt to Print: Creating Custom 3D-Printable Objects with Gemini, AI Reconstruction, and Bambu Studio](https://corti.com/from-prompt-to-print-creating-custom-3d-printable-objects-with-gemini-ai-reconstruction-and-bambu-studio.md) - Generative AI has reached a point where you can go from a simple idea to a fully printable 3D object with surprisingly little manual modeling. This post walks through my end-to-end workflow for creating custom, 3D-printable objects starting from a text prompt, using a mix of generative AI, 3D recon… - [Mailrise: Bridging Legacy SMTP Alerts to Modern Notifications with Docker and Apprise](https://corti.com/mailrise-bridging-legacy-smtp-alerts-to-modern-notifications-with-docker-and-apprise.md) - Mailrise solves exactly this problem: it acts as an SMTP-to-modern-notifications bridge powered by Apprise, allowing anything that can send an email to notify you via Slack (and many other services). In this post, I’ll walk through: * Running Mailrise with Docker * Configuring Slack as a notificati… - [Building the Ultimate Developer Shell](https://corti.com/building-the-ultimate-developer-shell.md) - Modern development workflows increasingly live inside the terminal. With the right tooling, your shell becomes a fast, expressive, and deeply ergonomic environment—far beyond what the default macOS setup provides. In this guide, we’ll build a state-of-the-art developer shell on macOS using the foll… - [Hardening Internet-Facing Linux Servers: A Practical Security Guide](https://corti.com/hardening-internet-facing-linux-servers-a-practical-security-guide.md) - Exposing a Linux server to the public Internet always introduces risk. Attackers constantly scan for open ports, weak SSH credentials, and unpatched services. With a few targeted configuration steps, you can significantly strengthen your security posture without increasing operational complexity. T… - [Level Up Your Bitcoin Payments: Running Your Own BTCPay Server in Azure and Connecting It to Your Umbrel Lightning Node](https://corti.com/level-up-your-bitcoin-payments-running-your-own-btcpay-server-in-azure-and-connecting-it-to-your-umbrel-lightning-node.md) - Self-hosting your Bitcoin payment stack gives you full control, privacy, and sovereignty and BTCPay Server makes this surprisingly easy. Thanks to the BTCPay Configurator, you can generate a fully automated installation script, deploy it onto a fresh Linux VM in Azure, assign a fixed IP, create a D… - [Level Up your Crypto Game by Running Your own Bitcoin Lightning Node](https://corti.com/level-up-your-crypto-game-by-running-your-own-bitcoin-lightning-node.md) - Operating your own Bitcoin and Lightning stack is one of the most empowering steps you can take in the Bitcoin ecosystem. Running your own Bitcoin node with Electrs and a Lightning node on Umbrel gives you full sovereignty over your funds and your privacy. You verify your own Bitcoin transactions,… - [Collecting BitAxe & NerdQAxe Telemetry in InfluxDB Using Telegraf Enrichment and an NGINX Proxy](https://corti.com/collecting-bitaxe-nerdqaxe-telemetry-in-influxdb-using-telegraf-enrichment-and-an-nginx-proxy.md) - BitAxe and NerdQAxe miners continuously produce a broad set of operational metrics. These include hash rate, temperature readings, voltage values, and other details that are extremely useful for monitoring device health and long-term behavior. The devices also have native support for writing these… - [The 4000+ Year Lottery - Why I'm mining Bitcoin Anyway.](https://corti.com/the-4000-year-lottery-why-im-mining-bitcoin-anyway.md) - I plugged in my first Bitcoin miner a few weeks ago. The NerdQAxe++ connected to the Ocean.xyz pool, started hashing at 4.8 terahashes per second, and began earning microscopic fractions of Bitcoin. The device hummed quietly. The dashboard showed shares submitted. The rewards trickled in. The first… - [Join Microsoft ISE, where Software meets real-world Industry Challenges](https://corti.com/join-microsoft-ise-where-software-meets-real-world-industry-challenges.md) - Most software engineers build features for millions of users they'll never meet. At Microsoft Industry Solutions Engineering (ISE), you spend weeks or even months embedded with companies like BMW, Schneider Electric, Lufthansa, KUKA robotics, and many others, solving problems alongside the teams wh… - [A clean Phone Mount solution for Cars using the Kenu Stance+ and a custom, 3D printed Cup Holder](https://corti.com/a-clean-phone-mount-solution-for-cars-using-the-kenu-stance-and-a-custom-3d-printed-cup-holder.md) - My Porsche Taycan is a great car, but it has one frustrating oversight: nowhere to put your phone. The center console is all screens and haptic controls, the dashboard is minimalist by design, and the last thing I wanted to do was stick something to the interior or clip onto the air vents. I alread… - [Automate Azure PIM Role Activation for Entra ID and RBAC with PowerShell and Bash](https://corti.com/automate-azure-pim-role-activation-for-entra-id-and-rbac-with-powershell-and-bash.md) - Managing elevated access through Microsoft Entra ID Privileged Identity Management (PIM) is a cornerstone of secure cloud operations — but activating roles manually in the Azure Portal can quickly become repetitive when you need to jump between subscriptions or perform infrastructure tasks with ele… - [A Microfluidics Breakthrough in Chip Cooling](https://corti.com/a-microfluidics-breakthrough-in-chip-cooling.md) - Microsoft’s latest breakthrough in data center cooling leverages in-chip microfluidics to address one of the most critical challenges for next-generation AI chips: escalating heat generation. This technology presents a substantial improvement over traditional cold plate cooling, laying the foundati… - [MARP and VS Code: Supercharging Hypervelocity Engineering with Machine-Readable Presentations](https://corti.com/marp-and-vs-code-supercharging-hypervelocity-engineering-with-machine-readable-presentations.md) - Leveraging AI, hypervelocity engineering thrives on speed, structure, and clarity—especially when documentation and diagrams are straightforward, repeatable, and consumable by both people and machines. This post explores how MARP, combined with the VS Code MARP extension and MARP-CLI, enables engin… - [Smart Glasses with Built-in Displays: The Prescription Challenge and Alternative Solutions](https://corti.com/smart-glasses-with-built-in-displays-the-prescription-challenge-and-alternative-solutions.md) - The emergence of smart glasses with integrated displays, exemplified by Meta's new Ray-Ban Display glasses, represents a significant leap forward in wearable technology. However, these innovative devices face a critical limitation that affects a substantial portion of potential users: prescription… - [Making the Switch from Amazon Alexa to Apple HomeKit: Overcoming Compatibility Challenges with Homebridge.io](https://corti.com/making-the-switch-from-amazon-alexa-to-apple-homekit-overcoming-compatibility-challenges-with-homebridge-io.md) - Switching from Amazon Alexa to Apple's HomeKit ecosystem can dramatically improve your smart home's privacy, security, and integration with Apple devices. However, this transition comes with a significant challenge: HomeKit has far more limited device compatibility compared to Alexa's expansive eco… - [Building an AI-Powered Knowledge Management System: Automating Obsidian with Claude Code and CI/CD Pipelines](https://corti.com/building-an-ai-powered-knowledge-management-system-automating-obsidian-with-claude-code-and-ci-cd-pipelines.md) - How to transform your markdown notes into a production-grade knowledge base using modern DevOps practices, managed by AI. In the rapidly evolving landscape of knowledge management, the intersection of artificial intelligence and traditional note-taking has created unprecedented opportunities for au… - [Using unixODBC on macOS to Install Microsoft SQL Server ODBC Drivers](https://corti.com/using-unixodbc-on-macos-to-install-microsoft-sql-server-odbc-drivers.md) - Working with Microsoft SQL Server on macOS often requires setting up ODBC (Open Database Connectivity) drivers so you can connect tools and applications to your SQL databases. Fortunately, Microsoft provides official SQL Server ODBC drivers for macOS, and with unixODBC you can manage them efficient… - [When 2 Billion+ NPM Downloads Get Hijacked: Anatomy of a Major Supply-Chain Attack](https://corti.com/when-2-billion-npm-downloads-get-hijacked-anatomy-of-a-major-supply-chain-attack.md) - On September 8, 2025, a remarkably large-scale npm supply-chain attack was uncovered—one of the most severe in JavaScript’s history. A trusted maintainer’s npm account was compromised via phishing, enabling attackers to inject cryptostealer malware into 18 popular packages (e.g., chalk, debug, ansi… - [Isaac Sim Dynamic Store: A Technical Framework for Robotic Training in Retail Environments](https://corti.com/isaac-sim-dynamic-store-a-technical-framework-for-robotic-training-in-retail-environments.md) - Abstract The isaac_sim_dynamic_store GitHub repository presents a Python-based framework for programmatically generating dynamic retail environments within NVIDIA Isaac Sim. This technical solution addresses a critical challenge in robotics simulation: creating realistic, variable retail scenarios… - [Introducing the Prompt Orchestration Markup Language (POML)](https://corti.com/introducing-the-prompt-orchestration-markup-language-poml.md) - Prompt Orchestration Markup Language (POML) is a novel, open-source framework developed by Microsoft that brings structured, modular design to prompt engineering for Large Language Models (LLMs), making prompt creation scalable, maintainable, and highly versatile. What Is POML? POML is an HTML/XML-… - [Microsoft AI (MAI)'s First in-house Models](https://corti.com/microsoft-ai-mai-s-first-in-house-models.md) - Microsoft AI (MAI) has recently announced two pivotal in-house models: the highly expressive MAI-Voice-1 for advanced speech generation, and the versatile MAI-1-preview model for instruction-following and general-purpose AI tasks. These foundational technologies chart a clear path for MAI’s strateg… - [ChatGPT's safety mechanisms are less reliable in prolonged conversations](https://corti.com/chatgpts-safety-mechanisms-are-less-reliable-in-prolonged-conversations.md) - ChatGPT's safeguards are known to weaken during extended conversations, leading to increased risk of harmful or inappropriate responses. This failure is primarily due to technical and design limitations in how safety training and content moderation operate over lengthy back-and-forth exchanges, wit… - [The 40 Jobs Most and Least affected by AI according to Microsoft Research](https://corti.com/the-40-jobs-most-and-least-affected-by-ai.md) - Microsoft Research has published a paper analyzing the impact of AI on the US job market, listing the 40 professions most likely to be impacted (at risk) and 40 least likely (more "safe") according to their "AI applicability score." The study focuses on how AI overlaps with job tasks, particularly… - [Effortlessly Manage Dotfiles on Unix-based Systems with GNU Stow and GitHub](https://corti.com/effortlessly-manage-dotfiles-on-unix-with-gnu-stow-and-github.md) - Managing dotfiles—your personal configuration files for shells, editors, and tools—can quickly become a disorganized mess, especially across multiple systems. Enter GNU Stow, a powerful symlink farm manager that lets you organize, version control, and deploy your dotfiles with ease. This post walks… - [Comet vs Dia: A Technical Comparison of the New AI Browsers](https://corti.com/comet-vs-dia-a-technical-comparison-of-the-new-ai-browsers.md) - I have been using both Comet and Dia for a few weeks now and, with the help of Comet 😉, have come up with a small comparison. AI-native browsers promise a more productive, agentic, and contextual web experience—but how do Comet (by Perplexity) and Dia (by The Browser Company) actually compare for… - [Advantages of the Dia Browser](https://corti.com/advantages-of-the-dia-browser.md) - While patiently waiting for the release of Perplexity's Comet browser, I came across Dia, an agentic AI browser by The Browser Company of New York who created (and sadly abandoned) the great Arc browser. Dia is a next-generation browser architected for extensibility, advanced automation, and seamle… - [Building Reactive UI in Python with FletX](https://corti.com/building-reactive-ui-in-python-with-fletx.md) - Modern Python developers often crave the reactivity, modularity, and developer experience found in frameworks like Flutter’s GetX. Enter FletX—a GetX-inspired microframework that brings these capabilities to Python, supercharging Flet apps with clean architecture, declarative routing, and true reac… - [Retro Computing PowerPoint Templates](https://corti.com/retro-computing-powerpoint-templates.md) - I created two retro computing themed PowerPoint slide deck templates that I think some people might enjoy. Commodore 64 True Type Font used: https://style64.org/c64-truetype Download Link: https://rogueai.info/files/powerpoint_templates/Commodore_64_PowerPoint_Template.zip Classic Apple Macintosh W… - [Vibe Hacking: How AI is Automating Cyber Exploit Discovery](https://corti.com/vibe-hacking-how-ai-is-automating-cyber-exploit-discovery.md) - Introduction In cybersecurity, a continually evolving threat landscape demands equally dynamic defense strategies. One recent development making waves is "vibe hacking," where attackers leverage artificial intelligence (AI) to automate the discovery of software vulnerabilities and exploits. What is… - [AI Companies go from demanding “Regulation” to wanting to “Grow Unchecked” - The Consequences of abandoning AI Regulation.](https://corti.com/ai-companies-go-from-demanding-regulation-to-wanting-to-grow-unchecked-the-consequences-of-abandoning-ai-regulation.md) - TL;DR The U.S. AI policy landscape has shifted from a regulatory mindset to one focused on rapid innovation and global competition, especially with China. This pivot is reflected in both government policy and the rhetoric of leading AI companies, who now prioritize speed and investment over safety… - [Claude Code vs OpenAI Codex: A Technical Comparison of AI Coding Assistants](https://corti.com/claude-code-vs-openai-codex-a-technical-comparison-of-ai-coding-assistants.md) - The landscape of AI-powered software development tools has evolved dramatically with the introduction of sophisticated coding agents that go beyond simple autocomplete functionality. Two standout solutions have emerged as leaders in this space: Anthropic's Claude Code and OpenAI's Codex. Both repre… - [Comparing Infodynamics and Thermodynamics](https://corti.com/comparing-infodynamics-and-thermodynamics.md) - The second law of infodynamics, introduced in recent research, presents a counterpoint to the classical laws of thermodynamics. Below is a comparison of the key principles: Law Name Thermodynamics Infodynamics Zeroth Law Defines thermal equilibrium: If A ≡ B and B ≡ C, then A ≡ C [2][4][5][6]. Not… - [Mistral's Le Chat Enterprise](https://corti.com/mistrals-le-chat-enterprise.md) - Mistral AI has unveiled Le Chat Enterprise, an AI assistant tailored for enterprise environments, powered by their latest Mistral Medium 3 model. This release aims to address common enterprise AI challenges, including tool fragmentation, insecure knowledge integration, rigid models, and slow ROI, b… - [Vibe-Architecting: Collaborative Architecting and Planning with AI: Enhance Your Development Workflow](https://corti.com/vibe-architecting-collaborative-architecting-and-planning-with-ai-enhance-your-development-workflow.md) - When building software, the quality of your architecture and planning often dictates the success of your project. However, planning and documenting can quickly become tedious or overlooked tasks. Integrating AI into your workflow, specifically during the planning and implementation stages, can grea… - [On Using LLMs to Write Code](https://corti.com/on-using-llms-to-write-code.md) - Peter Naur’s seminal 1985 essay, Programming as Theory Building, posits that programming transcends mere code creation; it’s fundamentally about constructing a “theory”—a deep, often tacit understanding of a system that resides in the minds of its developers. This perspective challenges the notion… - [Start Load Testing Azure PostgreSQL Flexible Server with Read-Only Replica Using Azure Load Testing in Minutes](https://corti.com/start-load-testing-azure-postgresql-flexible-server-with-read-only-replica-using-azure-load-testing-in-minutes.md) - Ensuring the performance and scalability of your database infrastructure is paramount, especially when dealing with read-heavy workloads. The GitHub repository TechPreacher/azure_loadtest_terraform provides a comprehensive solution to automate the deployment and load testing of an Azure Database fo… - [Mirroring Azure Database for PostgreSQL Flexible Server in Microsoft Fabric](https://corti.com/mirroring-azure-database-for-postgresql-flexible-server-in-microsoft-fabric.md) - Zero‑ETL analytics for your operational data 1 Why another replication option? Azure Database for PostgreSQL Flexible Server already gives you two native replication technologies: Feature Technology What it’s good at Key trade‑offs Read replicas Asynchronous physical replication Off‑loading read‑he… - [A Technical Comparison: Ollama vs Docker Model Runner for Local LLM Deployment](https://corti.com/a-technical-comparison-ollama-vs-docker-model-runner-for-local-llm-deployment.md) - With the increasing adoption of large language models (LLMs) in software development, running these models locally has become essential for developers seeking better performance, privacy, and cost control. Two popular solutions have emerged in this space: Ollama, an established framework for local… - [Performance Testing PostgreSQL Replication under Load using Apache JMeter](https://corti.com/performance-testing-postgresql-replication-under-load.md) - I recently came along the requirement to test the performance of the database replication of PostgreSQL running on Azure Database for PostgreSQL Flexible Server under load. Quote from: https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-read-replicas Read replicas are primar… - [Sharing my Learning in a "Digital Garden"](https://corti.com/sharing-my-learning-in-a-digital-garden.md) - In the digital era, the concept of a “digital garden” has emerged as a dynamic and flexible approach to personal knowledge management and content sharing. Unlike traditional blogs, which often present finalized ideas in a linear format, digital gardens allow individuals to cultivate and showcase ev… - [Integrating Model Context Protocol (MCP) with the OpenAI Agents SDK](https://corti.com/integrating-model-context-protocol-mcp-with-the-openai-agents-sdk.md) - The OpenAI Agents SDK now incorporates support for the Model Context Protocol (MCP), an open-standard protocol designed to facilitate efficient integration between external tools, data resources, and Large Language Models (LLMs). Through MCP, developers can significantly expand agent functionality,… - [Join the global Microsoft AI Skills Fest](https://corti.com/join-the-global-microsoft-ai-skills-fest.md) - Microsoft is initiating a comprehensive global program characterized by an intensive 24-hour launch event, succeeded by a sustained 50-day phase dedicated to advanced artificial intelligence (AI) education and skill development. The initiative, entitled Skills Fest, is scheduled from April 8 throug… - [GitHub Action Supply Chain Compromise](https://corti.com/github-action-supply-chain-compromise.md) - On March 19, 2025, the U.S. Cybersecurity and Infrastructure Security Agency (CISA) added a critical vulnerability, identified as CVE-2025-30066, to its Known Exploited Vulnerabilities (KEV) catalog. This vulnerability stems from a supply chain compromise affecting the GitHub Action tj-actions/chan… - [Using the new Windsurf IDE for Vibe Coding](https://corti.com/using-the-new-windsurf-ide-for-vibe-coding.md) - Conceptualizing Vibe Coding Vibe coding represents a contemporary paradigm within software engineering, characterized by an enhanced emphasis on achieving optimal psychological engagement, commonly referred to in psychology literature as "flow." Originating from cognitive psychology and human-compu… - [How to Build a Retrieval-Augmented Generation (RAG) System Locally with RLAMA and Ollama](https://corti.com/how-to-build-a-retrieval-augmented-generation-rag-system-locally-with-rlama-and-ollama.md) - Implementing and Refining RAG with rlama Retrieval-Augmented Generation (RAG) augments Large Language Models (LLMs) by incorporating document segments that substantiate responses with relevant data. The rlama framework facilitates a completely local, self-contained RAG solution, thus eliminating de… ## Optional - [RSS Feed](https://corti.com/rss/) - [Sitemap](https://corti.com/sitemap.xml) - [Full content of pages and posts](https://corti.com/llms-full.txt)