<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>James Pogran</title><link>https://pogran.dev/</link><description>Recent content on James Pogran</description><generator>Hugo</generator><language>en</language><copyright>Copyright © 2008–2025, James Pogran</copyright><lastBuildDate>Sun, 02 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://pogran.dev/index.xml" rel="self" type="application/rss+xml"/><item><title>About Me</title><link>https://pogran.dev/about/</link><pubDate>Mon, 03 Aug 2020 14:13:08 -0400</pubDate><guid>https://pogran.dev/about/</guid><description>&lt;p&gt;






 
 




 
 
&lt;figure&gt;&lt;img src="../img/avatar-sm.jpg" alt="James Pogran" class="avatar-float-start" /&gt;
&lt;/figure&gt;
 I&amp;rsquo;m a Senior Software Engineer at IBM working on Terraform Cloud&amp;rsquo;s VCS and Git Services platform — a distributed system that processes thousands of webhook events per second across GitHub, GitLab, Bitbucket, and Azure DevOps.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Senior Software Engineer, Terraform Cloud VCS &amp;amp; Git Services — &lt;a href="https://www.hashicorp.com/" target="_blank" rel="noreferrer"&gt;IBM (HashiCorp)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Founder &amp;amp; lead, &lt;a href="https://github.com/hashicorp/vscode-terraform" target="_blank" rel="noreferrer"&gt;HashiCorp Terraform VS Code Extension&lt;/a&gt; — 975+ stars, hundreds of thousands of active users&lt;/li&gt;
&lt;li&gt;Co-founder &amp;amp; lead, &lt;a href="https://pup.pt/vscode" target="_blank" rel="noreferrer"&gt;Puppet VS Code Extension&lt;/a&gt; — 10,000+ monthly active users&lt;/li&gt;
&lt;li&gt;Author, &lt;a href="https://www.amazon.com/Learning-PowerShell-DSC-deployment-configuration/dp/1787287246" target="_blank" rel="noreferrer"&gt;Learning PowerShell DSC&lt;/a&gt; (1st &amp;amp; 2nd editions) and contributor to &lt;a href="https://leanpub.com/psconfbook2" target="_blank" rel="noreferrer"&gt;PowerShell Conference Book 2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-i-do" class="relative group"&gt;What I do &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#what-i-do" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;I build and run developer platforms, and I&amp;rsquo;ve spent most of the last decade doing it twice over: once as an individual contributor on distributed systems, and once as the person responsible for turning a side project into a piece of infrastructure other people depend on.&lt;/p&gt;</description></item><item><title>What’s new with the Puppet VS Code extension</title><link>https://pogran.dev/media/new-puppet-vscode-extension/</link><pubDate>Wed, 08 Apr 2020 14:13:06 -0400</pubDate><guid>https://pogran.dev/media/new-puppet-vscode-extension/</guid><description/></item><item><title>Powershell Conference Book 2</title><link>https://pogran.dev/powershell-conference-book-2/</link><pubDate>Fri, 31 Jan 2020 16:03:16 -0400</pubDate><guid>https://pogran.dev/powershell-conference-book-2/</guid><description>&lt;p&gt;Forty subject matter experts have teamed up to bring you the ultimate collection of PowerShell topics that are designed to be like a conference in a book. This book not only delivers top-notch content that rivals any book on the market, but all royalties are donated to the OnRamp scholarship program which bootstraps others into the industry.&lt;/p&gt;
&lt;h2 id="about-the-book" class="relative group"&gt;About the Book &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#about-the-book" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;This book is designed to be like a conference in a book where each chapter is written by a different author who is a subject matter expert on the topic covered in their chapter. Each chapter is also independent of the others so you can read one chapter, ten chapters, or all of them. You can start with the first chapter, the last one, or somewhere in-between and not miss out on anything related to that particular topic. This book is written for the intermediate to advanced audience. Prior experience with PowerShell is highly recommended.&lt;/p&gt;</description></item><item><title>Puppet Pair Pogramming with VS Code</title><link>https://pogran.dev/puppet-pair-pogramming-with-vs-code/</link><pubDate>Wed, 22 May 2019 10:30:45 -0400</pubDate><guid>https://pogran.dev/puppet-pair-pogramming-with-vs-code/</guid><description>Puppet Pair Pogramming with VS Code Remote Extensions, Docker, WSL, Github Codespaces and Live Share</description></item><item><title>Using Powershell in a Cross Platform World</title><link>https://pogran.dev/using-powershell-in-a-cross-platform-world/</link><pubDate>Wed, 22 May 2019 10:30:45 -0400</pubDate><guid>https://pogran.dev/using-powershell-in-a-cross-platform-world/</guid><description>PowerShell used to be just for Windows, but now it installs on Linux!</description></item><item><title>Puppet PDK and Visual Studio Code - Remote Development</title><link>https://pogran.dev/puppet-pdk-and-visual-studio-code-remote-development/</link><pubDate>Wed, 16 Jan 2019 14:08:40 -0500</pubDate><guid>https://pogran.dev/puppet-pdk-and-visual-studio-code-remote-development/</guid><description>How to use VSCode to develop Puppet code on remote servers</description></item><item><title>Puppet PDK and Visual Studio Code - Debugging Puppet Manifests</title><link>https://pogran.dev/puppet-pdk-and-visual-studio-code-debugging-puppet-manifests/</link><pubDate>Mon, 08 Oct 2018 14:13:06 -0400</pubDate><guid>https://pogran.dev/puppet-pdk-and-visual-studio-code-debugging-puppet-manifests/</guid><description>How to debug Puppet manifests using VSCode</description></item><item><title>Puppet PDK and Visual Studio Code - Installation and Configuration</title><link>https://pogran.dev/puppet-pdk-and-visual-studio-code-installation-and-configuration/</link><pubDate>Mon, 08 Oct 2018 14:13:06 -0400</pubDate><guid>https://pogran.dev/puppet-pdk-and-visual-studio-code-installation-and-configuration/</guid><description>How to install VSCode and PDK</description></item><item><title>Puppet PDK and Visual Studio Code - PDK Integration</title><link>https://pogran.dev/puppet-pdk-and-visual-studio-code-pdk-integration/</link><pubDate>Mon, 08 Oct 2018 14:13:06 -0400</pubDate><guid>https://pogran.dev/puppet-pdk-and-visual-studio-code-pdk-integration/</guid><description>Overview of PDK integration into VSCode</description></item><item><title>Puppet, PDK and Visual Studio Code - From Zero to Productive in 5 Minutes</title><link>https://pogran.dev/puppet-pdk-and-visual-studio-code-from-zero-to-productive-in-5-minutes/</link><pubDate>Mon, 08 Oct 2018 14:13:06 -0400</pubDate><guid>https://pogran.dev/puppet-pdk-and-visual-studio-code-from-zero-to-productive-in-5-minutes/</guid><description>How to use VSCode and PDK to make Puppet code</description></item><item><title>Verify Spectre / Meltdown protections remotely with Puppet Bolt on Windows</title><link>https://pogran.dev/media/verify-spectre-meltdown-protections-remotely-puppet-bolt-windows/</link><pubDate>Tue, 23 Jan 2018 14:13:06 -0400</pubDate><guid>https://pogran.dev/media/verify-spectre-meltdown-protections-remotely-puppet-bolt-windows/</guid><description/></item><item><title>Learning Powershell DSC Second Edition</title><link>https://pogran.dev/learning-powershell-dsc-second-edition/</link><pubDate>Thu, 19 Oct 2017 16:00:55 -0400</pubDate><guid>https://pogran.dev/learning-powershell-dsc-second-edition/</guid><description>&lt;h2 id="about" class="relative group"&gt;About &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#about" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;The main goal of this book is to teach you to configure, deploy, and manage your system using the new features of PowerShell v5/v6 DSC.&lt;/p&gt;
&lt;p&gt;This book begins with the basics of PowerShell Desired State Configuration, covering its architecture and components. It familiarizes you with the set of Windows PowerShell language extensions and new Windows PowerShell commands that make up DSC. Then it helps you create DSC custom resources and work with DSC configurations with the help of practical examples. Finally, it describes how to deploy configuration data using PowerShell DSC. Throughout this book, we will be focusing on concepts such as building configurations with parameters, the local configuration manager, and testing and restoring configurations using PowerShell DSC.&lt;/p&gt;</description></item><item><title>Diagnosing DSC and Puppet Executions</title><link>https://pogran.dev/diagnosing-dsc-and-puppet-executions/</link><pubDate>Thu, 19 Oct 2017 14:13:06 -0400</pubDate><guid>https://pogran.dev/diagnosing-dsc-and-puppet-executions/</guid><description>&lt;p&gt;While developing your Puppet manifests using the Puppet DSC module you might run into a problem with one of the DSC Resources.&lt;/p&gt;
&lt;p&gt;The problem shows itself every execution, when Puppet says that the state has drifted and needs to be corrected. When you look at the state of the target node it appears to be correct, something must be wrong with Puppet, right? Well, as with most things, the answer is more complicated than it appears.&lt;/p&gt;</description></item><item><title>Using Puppet and DSC to Report on Environment Change</title><link>https://pogran.dev/using-puppet-and-dsc-to-report-on-environment-change/</link><pubDate>Wed, 11 Oct 2017 14:13:06 -0400</pubDate><guid>https://pogran.dev/using-puppet-and-dsc-to-report-on-environment-change/</guid><description>Using Puppet and DSC to Report on Environment Change</description></item><item><title>Official Puppet VS Code Extension Demo</title><link>https://pogran.dev/official-puppet-vs-code-extension-demo/</link><pubDate>Tue, 10 Oct 2017 14:13:06 -0400</pubDate><guid>https://pogran.dev/official-puppet-vs-code-extension-demo/</guid><description>Puppet VSCode Extension PuppetConf 2017 Presentation</description></item><item><title>Announcing Puppet for Visual Studio Code!</title><link>https://pogran.dev/media/announcing-puppet-visual-studio-code/</link><pubDate>Mon, 02 Oct 2017 14:13:06 -0400</pubDate><guid>https://pogran.dev/media/announcing-puppet-visual-studio-code/</guid><description/></item><item><title>Learning PowerShell DSC Second Edition is published!</title><link>https://pogran.dev/learning-powershell-dsc-second-edition-is-published/</link><pubDate>Mon, 11 Sep 2017 14:13:06 -0400</pubDate><guid>https://pogran.dev/learning-powershell-dsc-second-edition-is-published/</guid><description>&lt;p&gt;The second edition of &lt;a href="https://www.packtpub.com/networking-and-servers/learning-powershell-dsc-second-edition" target="_blank" rel="noreferrer"&gt;Learning PowerShell DSC&lt;/a&gt; is finally published! You can order it at these fine book sellers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.packtpub.com/networking-and-servers/learning-powershell-dsc-second-edition" target="_blank" rel="noreferrer"&gt;Packt Publishing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com/Learning-PowerShell-DSC-deployment-configuration/dp/1787287246" target="_blank" rel="noreferrer"&gt;Amazon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.barnesandnoble.com/w/learning-powershell-dsc-second-edition-james-pogran/1126293393" target="_blank" rel="noreferrer"&gt;Barnes and Noble&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Puppet IIS module: now Puppet Supported</title><link>https://pogran.dev/media/puppet-iis-module-now-puppet-supported/</link><pubDate>Sat, 17 Jun 2017 14:13:06 -0400</pubDate><guid>https://pogran.dev/media/puppet-iis-module-now-puppet-supported/</guid><description/></item><item><title>PuppetConf 2017 Agenda</title><link>https://pogran.dev/puppetconf-2017-agenda/</link><pubDate>Wed, 07 Jun 2017 14:13:06 -0400</pubDate><guid>https://pogran.dev/puppetconf-2017-agenda/</guid><description>Agenda and Speakers announced</description></item><item><title>Starting work on the Second Edition of Learning PowerShell DSC!</title><link>https://pogran.dev/starting-work-on-the-second-edition-of-learning-powershell-dsc/</link><pubDate>Tue, 04 Apr 2017 14:13:06 -0400</pubDate><guid>https://pogran.dev/starting-work-on-the-second-edition-of-learning-powershell-dsc/</guid><description>Starting work on the Second Edition of Learning PowerShell DSC!</description></item><item><title>DSC deep dive: Installing and configuring IIS using Puppet and PowerShell DSC</title><link>https://pogran.dev/dsc-deep-dive-installing-and-configuring-iis-using-puppet-and-powershell-dsc/</link><pubDate>Thu, 16 Mar 2017 14:13:06 -0400</pubDate><guid>https://pogran.dev/dsc-deep-dive-installing-and-configuring-iis-using-puppet-and-powershell-dsc/</guid><description>DSC deep dive: Installing and configuring IIS using Puppet and PowerShell DSC</description></item><item><title>Managing PowerShell DSC with Puppet</title><link>https://pogran.dev/media/managing-powershell-dsc-puppet/</link><pubDate>Mon, 03 Oct 2016 14:13:06 -0400</pubDate><guid>https://pogran.dev/media/managing-powershell-dsc-puppet/</guid><description/></item><item><title>DSC deep dive: Installing and configuring IIS using Puppet and PowerShell DSC</title><link>https://pogran.dev/media/dsc-deep-dive-installing-and-configuring-iis-using-puppet-and-powershell-dsc/</link><pubDate>Sat, 16 Apr 2016 14:13:06 -0400</pubDate><guid>https://pogran.dev/media/dsc-deep-dive-installing-and-configuring-iis-using-puppet-and-powershell-dsc/</guid><description/></item><item><title>Managing PowerShell DSC with Puppet</title><link>https://pogran.dev/managing-powershell-dsc-with-puppet/</link><pubDate>Thu, 24 Mar 2016 14:13:06 -0400</pubDate><guid>https://pogran.dev/managing-powershell-dsc-with-puppet/</guid><description>Managing PowerShell DSC with Puppet</description></item><item><title>New Puppet Windows Webinar Series</title><link>https://pogran.dev/new-puppet-windows-webinar-series/</link><pubDate>Wed, 10 Feb 2016 14:13:06 -0400</pubDate><guid>https://pogran.dev/new-puppet-windows-webinar-series/</guid><description>New Puppet Windows Webinar Series</description></item><item><title>Author Interview by Puppet</title><link>https://pogran.dev/author-interview-by-puppet/</link><pubDate>Wed, 27 Jan 2016 14:13:06 -0400</pubDate><guid>https://pogran.dev/author-interview-by-puppet/</guid><description>Author Interview by Puppet</description></item><item><title>PowerShell DSC module is now supported</title><link>https://pogran.dev/media/powershell-dsc-module-now-supported/</link><pubDate>Wed, 20 Jan 2016 14:13:06 -0400</pubDate><guid>https://pogran.dev/media/powershell-dsc-module-now-supported/</guid><description/></item><item><title>Puppet DSC module is now supported!</title><link>https://pogran.dev/puppet-dsc-module-is-now-supported/</link><pubDate>Wed, 20 Jan 2016 14:13:06 -0400</pubDate><guid>https://pogran.dev/puppet-dsc-module-is-now-supported/</guid><description>Puppet DSC module is now supported!</description></item><item><title>Learning DSC Book Published!</title><link>https://pogran.dev/learning-dsc-book-published/</link><pubDate>Mon, 26 Oct 2015 14:13:06 -0400</pubDate><guid>https://pogran.dev/learning-dsc-book-published/</guid><description>My new book on PowerShell DSC is published!</description></item><item><title>Learning Powershell DSC</title><link>https://pogran.dev/learning-powershell-dsc/</link><pubDate>Mon, 19 Oct 2015 16:01:03 -0400</pubDate><guid>https://pogran.dev/learning-powershell-dsc/</guid><description>&lt;h2 id="about" class="relative group"&gt;About &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#about" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;Windows PowerShell is a task-based command-line shell and scripting language designed especially for system administration. PowerShell DSC is a new management platform that enables you to deploy and manage configuration data for software services and manage the environment in which these services run.&lt;/p&gt;
&lt;p&gt;This book begins with an overview of the basics of PowerShell DSC by covering the architecture and components of the Desired Sate Configuration. It will then familiarize you with the set of PowerShell language extensions and new PowerShell commands. It will help you understand and create DSC configurations with the help of practical examples, and to create DSC custom resources for your custom applications. Finally, you will learn to deploy a real world application using PowerShell DSC. By the end of the book, you will have better knowledge about the powerful Desired State Configuration platform, which helps you to achieve continuous delivery, and efficient management and easy deployment of data for systems.&lt;/p&gt;</description></item><item><title>PuppetConf 2015 PowerShell and DSC Session</title><link>https://pogran.dev/puppetconf-2015-powershell-and-dsc-session/</link><pubDate>Fri, 09 Oct 2015 14:13:06 -0400</pubDate><guid>https://pogran.dev/puppetconf-2015-powershell-and-dsc-session/</guid><description>PuppetConf 2015 PowerShell and DSC Session</description></item><item><title>I'm going to PuppetConf!</title><link>https://pogran.dev/im-going-to-puppetconf/</link><pubDate>Sat, 03 Oct 2015 14:13:06 -0400</pubDate><guid>https://pogran.dev/im-going-to-puppetconf/</guid><description>I&amp;rsquo;m going to PuppetConf!</description></item><item><title>PowerShell DSC Book Finished!</title><link>https://pogran.dev/powershell-dsc-book-finished/</link><pubDate>Wed, 19 Aug 2015 14:13:06 -0400</pubDate><guid>https://pogran.dev/powershell-dsc-book-finished/</guid><description>PowerShell DSC Book Finished!</description></item><item><title>Puppet Day One</title><link>https://pogran.dev/puppet-day-one/</link><pubDate>Mon, 08 Jun 2015 14:13:06 -0400</pubDate><guid>https://pogran.dev/puppet-day-one/</guid><description>Puppet Day One</description></item><item><title>PowerShell DSC Book</title><link>https://pogran.dev/powershell-dsc-book/</link><pubDate>Fri, 24 Apr 2015 14:13:06 -0400</pubDate><guid>https://pogran.dev/powershell-dsc-book/</guid><description>PowerShell DSC Book</description></item><item><title>Hello World</title><link>https://pogran.dev/hello-world/</link><pubDate>Thu, 05 Mar 2015 14:13:06 -0400</pubDate><guid>https://pogran.dev/hello-world/</guid><description>Hello World</description></item><item><title>Setting Up Things</title><link>https://pogran.dev/setting-up-things/</link><pubDate>Thu, 05 Mar 2015 14:13:06 -0400</pubDate><guid>https://pogran.dev/setting-up-things/</guid><description>Setting Up Things</description></item></channel></rss>