<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>syntax sugar</title><description>Michael Jones writes about durable execution, Temporal, distributed systems, and integration engineering.</description><link>https://syntaxsugar.io/</link><item><title>Rotating Temporal Cloud Credentials with an Entity Workflow</title><link>https://syntaxsugar.io/post/2026/rotate-temporal-cloud-credentials/</link><guid isPermaLink="true">https://syntaxsugar.io/post/2026/rotate-temporal-cloud-credentials/</guid><description>Every Temporal Cloud API key and mTLS certificate expires. Here&apos;s a pattern that gives each Namespace its own long-lived Workflow to renew its Worker credential before it runs out, validate it, and hand it off to your key store, all without putting a single secret in Event History.</description><pubDate>Sat, 17 Oct 2026 00:00:00 GMT</pubDate><category>temporal</category><category>temporal-cloud</category><category>security</category><category>vault</category><category>go</category></item><item><title>Wordflow: Learn Temporal by Building a Word Game</title><link>https://syntaxsugar.io/course/wordflow/</link><guid isPermaLink="true">https://syntaxsugar.io/course/wordflow/</guid><description>A hands-on Temporal course: build the backend of a timed word game one concept at a time, from your first Workflow through Signals, Updates, Timers, Entity Workflows, Continue-As-New, and versioning.</description><pubDate>Sat, 17 Oct 2026 00:00:00 GMT</pubDate><category>Temporal</category><category>Course</category><category>Go</category></item><item><title>Safe Deployments with Temporal Worker Versioning on Kubernetes</title><link>https://syntaxsugar.io/lab/temporal-safe-deploys/</link><guid isPermaLink="true">https://syntaxsugar.io/lab/temporal-safe-deploys/</guid><description>Learn how to safely deploy workflow code changes using Temporal&apos;s Worker Versioning on Kubernetes, without patching and without losing expensive in-flight work.</description><pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate><category>Temporal</category><category>Kubernetes</category><category>Worker Versioning</category></item><item><title>Building a Reddit Bot on Temporal</title><link>https://syntaxsugar.io/post/2026/reddit-bot-temporal-journey/</link><guid isPermaLink="true">https://syntaxsugar.io/post/2026/reddit-bot-temporal-journey/</guid><description>I spent 2 years building workarounds to keep a Reddit bot running reliably. This is the story of evolving from a fragile Python script, to a homegrown durability layer, to durable Temporal workflows; and what I learned about correctness under failure along the way.</description><pubDate>Sun, 29 Mar 2026 00:00:00 GMT</pubDate><category>temporal</category><category>python</category><category>reddit</category><category>durability</category><category>distributed-systems</category></item><item><title>Broken Object Level Authorization: A Critical Security Vulnerability</title><link>https://syntaxsugar.io/post/2023/bola/</link><guid isPermaLink="true">https://syntaxsugar.io/post/2023/bola/</guid><description>Broken Object Level Authorization is a critical security vulnerability that can have severe consequences for an application. In this article, we will explore what Broken Object Level Authorization is, why it is a problem, and how to mitigate it. We will also provide a simple Python REST API example to demonstrate the impact of this vulnerability.</description><pubDate>Mon, 10 Jul 2023 00:00:00 GMT</pubDate><category>security</category><category>authorization</category><category>vulnerability</category></item><item><title>Dataweave Modules and How to Make Them</title><link>https://syntaxsugar.io/post/2021/dw-module-how-to/</link><guid isPermaLink="true">https://syntaxsugar.io/post/2021/dw-module-how-to/</guid><description>As your integration processes with MuleSoft mature, you&apos;ll find yourself using the data-weave language more and more. More importantly, you&apos;ll find yourself creating multiple functions which you&apos;ll want to reuse throughout your organization; in this article I will present two different ways in which you can create reusable data-weave libraries which can be included from your central maven repository, how to setup module unit tests, and how to perform line-by-line data-weave debugging.</description><pubDate>Mon, 09 Aug 2021 00:00:00 GMT</pubDate><category>mulesoft</category><category>dataweave</category></item><item><title>Connect to Azure SQL using Azure AD Authentication</title><link>https://syntaxsugar.io/lab-content/connect-to-azure-sql-using-azure-ad-authentication/</link><guid isPermaLink="true">https://syntaxsugar.io/lab-content/connect-to-azure-sql-using-azure-ad-authentication/</guid><description>This will walk you through setting up a project to connect to an Azure SQL instance using Azure AD authentication.</description><pubDate>Thu, 03 Jun 2021 17:05:07 GMT</pubDate><category>database</category></item><item><title>Anypoint MQ Notification Demo</title><link>https://syntaxsugar.io/lab-content/async-notification-api-workshop/</link><guid isPermaLink="true">https://syntaxsugar.io/lab-content/async-notification-api-workshop/</guid><description>In this example, you will build a MuleSoft application using multiple queues to facilitate notifications to multiple channels.</description><pubDate>Sat, 13 Mar 2021 03:45:45 GMT</pubDate><category>anypointmq</category><category>messaging</category></item><item><title>CICD with GitHub Actions</title><link>https://syntaxsugar.io/lab-content/cicd-github-actions/</link><guid isPermaLink="true">https://syntaxsugar.io/lab-content/cicd-github-actions/</guid><description>In this example, you will build a MuleSoft application with automated deployment to Sandbox and Production environments, using a secrets vault as well as environment based properties file.</description><pubDate>Wed, 10 Mar 2021 02:50:06 GMT</pubDate><category>devops</category><category>maven</category></item><item><title>Streaming Data and Deferred Dataweave</title><link>https://syntaxsugar.io/post/2021/streaming-and-deferred-dw/</link><guid isPermaLink="true">https://syntaxsugar.io/post/2021/streaming-and-deferred-dw/</guid><description>Processing data in an Enterprise environment frequently involves very large files. In a traditional approach, processing these files can involve issues around memory and time as it involves first downloading the entire file, attempting to load the entire file into memory to work on, and then saving the whole file to output. Instead of taking this old-fashioned approach, we can utilized data streaming and deferred DataWeave processing in order to streamline this process.</description><pubDate>Tue, 05 Jan 2021 00:00:00 GMT</pubDate><category>mulesoft</category><category>dataweave</category><category>streaming</category><category>memory</category></item><item><title>Working with the Mongodb Connector</title><link>https://syntaxsugar.io/post/2020/working-with-mongodb-connector/</link><guid isPermaLink="true">https://syntaxsugar.io/post/2020/working-with-mongodb-connector/</guid><description>Translating MQL for use with the MongoDB connector can be confusing. In this post I&apos;m going to attempt to explain several common use cases and how to implement them with the Mules 4 MongoDB Connector. Hopefully by the end you will also have a better idea about the thought process that goes into making the translation.</description><pubDate>Thu, 31 Dec 2020 00:00:00 GMT</pubDate><category>mongodb</category><category>mulesoft</category><category>dataweave</category></item><item><title>Dynamic Connector Configuration</title><link>https://syntaxsugar.io/post/2020/dynamic-connector-config/</link><guid isPermaLink="true">https://syntaxsugar.io/post/2020/dynamic-connector-config/</guid><description>Frequently when building integrations, especially batch jobs, we don&apos;t necessarily know the configuration for all of the systems we will be connecting to ahead of time; the configurations are typically (and should be) externalized. While it doesn&apos;t feel intuitive, we can create a global configuration and use scoped variables to dynamically create new connector configurations at runtime.</description><pubDate>Tue, 29 Dec 2020 00:00:00 GMT</pubDate><category>mft</category><category>connectors</category><category>sftp</category><category>mulesoft</category></item><item><title>Optional Query Params via Dynamic SQL</title><link>https://syntaxsugar.io/post/2020/optional-query-params-dyanmic-sql/</link><guid isPermaLink="true">https://syntaxsugar.io/post/2020/optional-query-params-dyanmic-sql/</guid><description>When building APIs, we typically provide the ability to sort or filter data on GET operations via query parameters. While building basic query parameters in MuleSoft is simple, expanding your API to support optional and repeatable parameters can seem daunting when you&apos;re new to the platform. We will be building a simplistic Product System API in order to demo optional and repeatable query params. To accomplish this, we will be building dynamic (parameterized) SQL, and as a bonus wrapping this functionality into a reusable library.</description><pubDate>Fri, 25 Dec 2020 00:00:00 GMT</pubDate><category>dataweave</category><category>mulesoft</category><category>sql</category></item><item><title>CI/CD with MuleSoft</title><link>https://syntaxsugar.io/post/2020/cicd-with-mulesoft/</link><guid isPermaLink="true">https://syntaxsugar.io/post/2020/cicd-with-mulesoft/</guid><description>Demo video of CI/CD with MuleSoft and link to hands on lab.</description><pubDate>Tue, 15 Sep 2020 00:00:00 GMT</pubDate><category>devops</category><category>mulesoft</category><category>video</category></item><item><title>Getting Started with Data-Weave</title><link>https://syntaxsugar.io/post/2020/getting-started-with-dw/</link><guid isPermaLink="true">https://syntaxsugar.io/post/2020/getting-started-with-dw/</guid><description>Need to get working with data-weave as fast as possible? Let&apos;s talk about how you can hit the ground running, and where to go from there.</description><pubDate>Sun, 24 May 2020 00:00:00 GMT</pubDate><category>dataweave</category><category>mulesoft</category></item></channel></rss>