<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Daniel Schmidt&apos;s Blog</title><description>Technical blog by Daniel Schmidt, Terraform Core engineer at HashiCorp. Deep dives into Terraform internals, Go, Rust, and infrastructure as code.</description><link>https://danielmschmidt.de/</link><item><title>What&apos;s new in Terraform 1.15?</title><link>https://danielmschmidt.de/posts/2026-04-29-what-s-new-in-terraform-1-15/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2026-04-29-what-s-new-in-terraform-1-15/</guid><description>Dynamic Module Sources, Marking Variables and Outputs as Deprecated, convert() - let&apos;s talk about the new language features in Terraform 1.15</description><pubDate>Wed, 29 Apr 2026 14:44:17 GMT</pubDate></item><item><title>Inside Terraform: How for_each and count Expand Resources</title><link>https://danielmschmidt.de/posts/2026-02-26-inside-terraform-expanding-for-each-and-count/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2026-02-26-inside-terraform-expanding-for-each-and-count/</guid><description>A deep dive into Terraform&apos;s expansion mechanism — how for_each and count transform configuration blocks into multiple resource instances in the graph.</description><pubDate>Thu, 26 Feb 2026 16:20:03 GMT</pubDate></item><item><title>Deprecating Terraform Variables and Outputs in Terraform 1.15</title><link>https://danielmschmidt.de/posts/2026-02-09-deprecating-terraform-variables-and-outputs/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2026-02-09-deprecating-terraform-variables-and-outputs/</guid><description>Terraform 1.15 introduces deprecation warnings for variables and outputs. Learn how this works under the hood and what it means for your configurations.</description><pubDate>Mon, 09 Feb 2026 15:51:02 GMT</pubDate></item><item><title>Inside Terraform: How tfdiags Powers Error Handling</title><link>https://danielmschmidt.de/posts/2026-01-28-inside-terraform-tfdiags/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2026-01-28-inside-terraform-tfdiags/</guid><description>A deep dive into tfdiags, Terraform&apos;s diagnostic and error handling system — how errors, warnings, and source ranges flow through the codebase.</description><pubDate>Wed, 28 Jan 2026 11:45:00 GMT</pubDate></item><item><title>Inside Terraform: go-cty &amp; Evaluation - Values in Terraform</title><link>https://danielmschmidt.de/posts/2025-12-03-inside-terraform-evaluation/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2025-12-03-inside-terraform-evaluation/</guid><description>How Terraform evaluates expressions using go-cty for value representation and HCL for parsing — a deep dive into the evaluation engine internals.</description><pubDate>Wed, 03 Dec 2025 10:45:00 GMT</pubDate></item><item><title>Inside Terraform: References - How Terraform Connects the Dots</title><link>https://danielmschmidt.de/posts/2025-11-26-inside-terraform-references/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2025-11-26-inside-terraform-references/</guid><description>How Terraform resolves references between resources, variables, and modules — tracing the dependency graph from HCL expressions to execution order.</description><pubDate>Wed, 26 Nov 2025 12:12:00 GMT</pubDate></item><item><title>Inside Terraform: A series about the internals of Terraform</title><link>https://danielmschmidt.de/posts/2025-11-21-inside-terraform/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2025-11-21-inside-terraform/</guid><description>A deep-dive blog series by a Terraform Core engineer exploring how Terraform works internally — from address parsing to graph expansion and evaluation.</description><pubDate>Fri, 21 Nov 2025 12:43:00 GMT</pubDate></item><item><title>Inside Terraform: addrs - Everything Needs an Address</title><link>https://danielmschmidt.de/posts/2025-11-21-inside-terraform-addrs/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2025-11-21-inside-terraform-addrs/</guid><description>A deep dive into Terraform&apos;s addrs package — how every resource, module, and variable gets a unique address that drives the entire execution engine.</description><pubDate>Fri, 21 Nov 2025 12:43:00 GMT</pubDate></item><item><title>Terraform Actions Usage Patterns: A Growing Reference Guide</title><link>https://danielmschmidt.de/posts/2025-10-24-terraform-action-usage-patterns/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2025-10-24-terraform-action-usage-patterns/</guid><description>A curated and growing list of common usage patterns for Terraform Actions, showing real-world examples of non-CRUD operations in Terraform configuration.</description><pubDate>Fri, 24 Oct 2025 12:43:00 GMT</pubDate></item><item><title>Handling Recursive API Patterns in Terraform Providers</title><link>https://danielmschmidt.de/posts/2025-10-17-terraform-providers-with-recursive-patterns/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2025-10-17-terraform-providers-with-recursive-patterns/</guid><description>How to implement Terraform resources, data sources, and actions for APIs with recursive structures using the Terraform Plugin Framework.</description><pubDate>Fri, 17 Oct 2025 11:43:00 GMT</pubDate></item><item><title>Designing a Terraform language feature like Terraform Actions</title><link>https://danielmschmidt.de/posts/2025-09-26-terraform-actions-design-decisions/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2025-09-26-terraform-actions-design-decisions/</guid><description>How we designed Terraform Actions — the key design decisions behind integrating a new language construct for non-CRUD operations into Terraform.</description><pubDate>Fri, 26 Sep 2025 10:43:00 GMT</pubDate></item><item><title>Terraform Action Patterns: Best Practices and Guidelines</title><link>https://danielmschmidt.de/posts/2025-09-26-terraform-action-patterns-and-guidelines/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2025-09-26-terraform-action-patterns-and-guidelines/</guid><description>Common patterns and guidelines for writing Terraform Actions, the language feature for expressing non-CRUD infrastructure operations.</description><pubDate>Fri, 26 Sep 2025 10:34:00 GMT</pubDate></item><item><title>Writing Your First Terraform Action: A Step-by-Step Guide</title><link>https://danielmschmidt.de/posts/2025-09-26-writing-a-terraform-action/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2025-09-26-writing-a-terraform-action/</guid><description>A hands-on guide to writing a Terraform Action for non-CRUD operations, covering provider implementation, schema design, and typical use cases.</description><pubDate>Fri, 26 Sep 2025 10:23:00 GMT</pubDate></item><item><title>Introduction to Terraform Actions: First-Class Day 2 Operations</title><link>https://danielmschmidt.de/posts/2025-09-26-terraform-actions-introduction/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2025-09-26-terraform-actions-introduction/</guid><description>Terraform Actions let you express non-CRUD operations directly in configuration — replacing local-exec provisioners and pseudo data source workarounds.</description><pubDate>Fri, 26 Sep 2025 10:12:00 GMT</pubDate></item><item><title>Terraform Providers: Migrating from SDK v2 to the Framework</title><link>https://danielmschmidt.de/posts/2025-09-17-terraform-provider-sdk-to-framework-migration/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2025-09-17-terraform-provider-sdk-to-framework-migration/</guid><description>Step-by-step guide to migrating a Terraform provider from SDKv2 to the Plugin Framework, including muxing, testing, and common migration pitfalls.</description><pubDate>Wed, 17 Sep 2025 07:11:00 GMT</pubDate></item><item><title>Terraform Stacks vs Modules: How the Two Runtimes Differ</title><link>https://danielmschmidt.de/posts/2025-09-02-terraform-stacks-module-runtime-walkthrough/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2025-09-02-terraform-stacks-module-runtime-walkthrough/</guid><description>A code-level comparison of how the Terraform Stacks runtime and the classic module runtime differ in graph building, evaluation, and execution.</description><pubDate>Tue, 02 Sep 2025 10:42:00 GMT</pubDate></item><item><title>Terraform Stacks Explained: A Quick High-Level Overview</title><link>https://danielmschmidt.de/posts/2025-09-02-terraform-stacks-in-under-50-words/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2025-09-02-terraform-stacks-in-under-50-words/</guid><description>A concise overview of Terraform Stacks — what they are, how they relate to modules, and why they exist for managing infrastructure at scale.</description><pubDate>Tue, 02 Sep 2025 10:12:00 GMT</pubDate></item><item><title>Building a Remark Plugin for Inline GitHub Code Snippets</title><link>https://danielmschmidt.de/posts/2024-08-09-remark-plugin-inline-github-code-snippets/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2024-08-09-remark-plugin-inline-github-code-snippets/</guid><description>How to write a remark plugin that inlines code snippets from GitHub repositories into Markdown, keeping blog posts in sync with source code automatically.</description><pubDate>Fri, 09 Aug 2024 21:23:00 GMT</pubDate></item><item><title>Keeping Development Environments in Sync with Chezmoi</title><link>https://danielmschmidt.de/posts/2024-07-28-dev-env-setup-with-chezmoi/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2024-07-28-dev-env-setup-with-chezmoi/</guid><description>How to use chezmoi to manage dotfiles and keep personal and work Macbook development environments synchronized across multiple machines.</description><pubDate>Sun, 28 Jul 2024 21:23:00 GMT</pubDate></item><item><title>Implementing Discriminated Unions in Go: A TypeScript Perspective</title><link>https://danielmschmidt.de/posts/2024-07-22-discriminated-union-pattern-in-go/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2024-07-22-discriminated-union-pattern-in-go/</guid><description>How to implement the tagged union pattern in Go when coming from TypeScript, using interfaces and sealed types to model mutually exclusive states.</description><pubDate>Mon, 22 Jul 2024 21:23:00 GMT</pubDate></item><item><title>Everything You Need to Know About *CDK - The Internals: From CDKTF to CDK8s</title><link>https://danielmschmidt.de/posts/2023-02-16-everything-you-need-to-know-about-cdk-internals/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2023-02-16-everything-you-need-to-know-about-cdk-internals/</guid><description>Covering the internals of CDKTF and CDK8s — the universal constructs model, real-world migration examples, and when adopting a CDK is the right choice.</description><pubDate>Thu, 30 Mar 2023 00:00:00 GMT</pubDate></item><item><title>Managing Child Processes in Rust with Tokio: A Practical Guide</title><link>https://danielmschmidt.de/posts/2023-03-23-managing-processes-in-rust/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2023-03-23-managing-processes-in-rust/</guid><description>Learn how to spawn, monitor, and manage one-shot and long-running child processes in Rust using tokio::process::Command with real-world examples.</description><pubDate>Thu, 23 Mar 2023 22:31:00 GMT</pubDate></item><item><title>Multi-Stack Deployments with CDK for Terraform</title><link>https://danielmschmidt.de/posts/2022-08-03-multi-stack-deployments-cdktf/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2022-08-03-multi-stack-deployments-cdktf/</guid><description>A practical walkthrough of deploying infrastructure across multiple stacks, environments, and regions using CDKTF.</description><pubDate>Wed, 03 Aug 2022 00:00:00 GMT</pubDate></item><item><title>Hybrid CDKTF Constructs</title><link>https://danielmschmidt.de/posts/2022-05-26-hybrid-cdktf-constructs/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2022-05-26-hybrid-cdktf-constructs/</guid><description>Building and distributing hybrid constructs that work across both HCL and CDKTF — for organizations adopting CDKTF gradually.</description><pubDate>Thu, 26 May 2022 00:00:00 GMT</pubDate></item><item><title>CDK for Terraform Deep Dive - The Convert Command</title><link>https://danielmschmidt.de/posts/2022-02-08-cdktf-deep-dive-convert-command/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2022-02-08-cdktf-deep-dive-convert-command/</guid><description>A code-level deep dive into the convert command that transforms HCL into CDKTF code — tracing through parsing, graph building, and code generation.</description><pubDate>Tue, 08 Feb 2022 00:00:00 GMT</pubDate></item><item><title>Deep Dive: CDK for Terraform</title><link>https://danielmschmidt.de/posts/2021-10-05-deep-dive-cdk-for-terraform/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2021-10-05-deep-dive-cdk-for-terraform/</guid><description>What actually happens when you run cdktf synth — from a Python CDKTF program, through JSII, to the generated HCL JSON that Terraform consumes.</description><pubDate>Tue, 05 Oct 2021 00:00:00 GMT</pubDate></item><item><title>Declarative Development Environments with CDK for Terraform</title><link>https://danielmschmidt.de/posts/2021-05-06-declarative-dev-environments-with-cdktf/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2021-05-06-declarative-dev-environments-with-cdktf/</guid><description>You can use CDK for Terraform to automate spinning up a complex development environment.</description><pubDate>Thu, 06 May 2021 15:22:00 GMT</pubDate></item><item><title>Implementing Real-Time GraphQL Subscriptions with RxJS</title><link>https://danielmschmidt.de/posts/2019-07-03-graphql-subsriptions-with-rxjs/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2019-07-03-graphql-subsriptions-with-rxjs/</guid><description>Learn how to trigger and manage GraphQL subscription updates using RxJS observables, enabling real-time data flows in your JavaScript applications.</description><pubDate>Wed, 03 Jul 2019 20:22:00 GMT</pubDate></item><item><title>How to Test Side Effects in RxJS Observables Effectively</title><link>https://danielmschmidt.de/posts/2019-01-30-testing-rxjs-side-effects/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2019-01-30-testing-rxjs-side-effects/</guid><description>A practical approach to testing side effects in RxJS, covering marble testing patterns and strategies for verifying observable behavior in Angular and Node.js applications.</description><pubDate>Wed, 30 Jan 2019 20:22:00 GMT</pubDate></item><item><title>Simulating Movement and Gyroscope Data in Mobile Emulators</title><link>https://danielmschmidt.de/posts/2018-12-30-lets-move-the-emulator/</link><guid isPermaLink="true">https://danielmschmidt.de/posts/2018-12-30-lets-move-the-emulator/</guid><description>How to simulate real-world movement and gyroscopic sensor data in Android and iOS emulators for testing location-aware mobile applications.</description><pubDate>Sun, 30 Dec 2018 11:22:00 GMT</pubDate></item></channel></rss>