<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Sanjay Bhagia&apos;s Blog</title><description>The personal blog of Sanjay Bhagia</description><link>https://sanjaybhagia.com/</link><item><title>We all should be bit more like dogs</title><link>https://sanjaybhagia.com/blog/we-all-should-be-bit-more-like-dogs/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/we-all-should-be-bit-more-like-dogs/</guid><description>We can learn valuable lesson on life from dogs. They are calm, satisfied with very little, don&apos;t overthink, masters of solitude, quick to forgive, unmatched excitement, make you move, what you see is what you get.</description><pubDate>Fri, 29 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Handling Order Processing with Azure API Management and Service Bus Topics</title><link>https://sanjaybhagia.com/blog/handling-order-processing-with-azure-api-servicebus-topics/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/handling-order-processing-with-azure-api-servicebus-topics/</guid><description>Learn how to securely send messages to Azure Service Bus Topics directly from Azure API Management using the policies.</description><pubDate>Tue, 10 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Hands-on with Katonic.ai&apos;s Generative AI Platform</title><link>https://sanjaybhagia.com/blog/hands-on-with-katonic-generative-ai/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/hands-on-with-katonic-generative-ai/</guid><description>Exploring Katonic.ai&apos;s Generative AI Platform</description><pubDate>Wed, 27 Sep 2023 00:00:00 GMT</pubDate></item><item><title>Deploying IronPdf to Azure Functions via CI/CD using Azure DevOps</title><link>https://sanjaybhagia.com/blog/cicd-pipeline-irondpf-azure-functions/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/cicd-pipeline-irondpf-azure-functions/</guid><description>Guide to setup a CI/CD Pipeline (YAML) in Azure DevOps for running IronPdf in Azure Functions.</description><pubDate>Sun, 20 Aug 2023 00:00:00 GMT</pubDate></item><item><title>The best investment I made in 2022</title><link>https://sanjaybhagia.com/blog/the-best-investment-i-made-in-2022/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/the-best-investment-i-made-in-2022/</guid><description>Find out how a simple $15 bullet journal transformed my life in 2022 and why you should give it a try.</description><pubDate>Mon, 06 Mar 2023 00:00:00 GMT</pubDate></item><item><title>Pulumi - State Management</title><link>https://sanjaybhagia.com/blog/pulumi-state-management/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/pulumi-state-management/</guid><description>How Pulumi tracks infrastructure state, and a walkthrough of replacing the hosted backend with your own Azure Blob Storage container.</description><pubDate>Mon, 01 Feb 2021 00:00:00 GMT</pubDate></item><item><title>Pulumi - Secrets Management</title><link>https://sanjaybhagia.com/blog/pulumi-secrets-management/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/pulumi-secrets-management/</guid><description>How Pulumi encrypts secrets in stack configuration, and using the passphrase and Azure Key Vault providers to manage your own encryption keys.</description><pubDate>Tue, 26 Jan 2021 00:00:00 GMT</pubDate></item><item><title>Pulumi - Configuration Management</title><link>https://sanjaybhagia.com/blog/pulumi-configuration-management/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/pulumi-configuration-management/</guid><description>How Pulumi&apos;s per-stack configuration works: setting and reading values via the CLI and C# code, namespaces, and structured config with --path.</description><pubDate>Fri, 15 Jan 2021 00:00:00 GMT</pubDate></item><item><title>Pulumi - How it works?</title><link>https://sanjaybhagia.com/blog/pulumi-how-it-works/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/pulumi-how-it-works/</guid><description>A look under the hood of Pulumi: the engine, language hosts, resource providers, stacks and state, plus a hello world program targeting Azure.</description><pubDate>Mon, 21 Sep 2020 00:00:00 GMT</pubDate></item><item><title>Pulumi - What and Why?</title><link>https://sanjaybhagia.com/blog/pulumi-what-and-why/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/pulumi-what-and-why/</guid><description>An introduction to Pulumi and why writing infrastructure as code in a real programming language beats DSLs like ARM templates and HCL.</description><pubDate>Thu, 10 Sep 2020 00:00:00 GMT</pubDate></item><item><title>Passing AZ-220: Microsoft Azure IoT Developer Exam</title><link>https://sanjaybhagia.com/blog/passing-azure-iot-220-exam/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/passing-azure-iot-220-exam/</guid><description>How I prepared for and passed the AZ-220 Azure IoT Developer exam, with study material, labs, online proctoring tips and my impressions.</description><pubDate>Sat, 05 Sep 2020 00:00:00 GMT</pubDate></item><item><title>Capture your favourite quotes from physical books - Part 2</title><link>https://sanjaybhagia.com/blog/capture-quotes-from-books-2/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/capture-quotes-from-books-2/</guid><description>Part 2: Writing an Azure Function that appends OCR-detected quotes from the Logic App to a text file in blob storage.</description><pubDate>Tue, 25 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Capture your favourite quotes from physical books</title><link>https://sanjaybhagia.com/blog/capture-quotes-from-books/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/capture-quotes-from-books/</guid><description>Building an Azure Logic App that picks up book photos from OneDrive and extracts the quotes with the Computer Vision OCR API.</description><pubDate>Mon, 24 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Migrating from WordPress to Wyam</title><link>https://sanjaybhagia.com/blog/migrating-blog-from-wordpress-to-wyam/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/migrating-blog-from-wordpress-to-wyam/</guid><description>Notes on moving my blog from WordPress to the Wyam static site generator, hosted on Netlify with an Azure DevOps pipeline for deployment.</description><pubDate>Sat, 05 Oct 2019 00:00:00 GMT</pubDate></item><item><title>Microsoft OpenHack DevOps - Stockholm</title><link>https://sanjaybhagia.com/blog/microsoft-openhack-devops-stockholm/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/microsoft-openhack-devops-stockholm/</guid><description>My experience at Microsoft&apos;s three-day OpenHack DevOps hackathon in Stockholm, solving Azure DevOps and Kubernetes challenges hands-on.</description><pubDate>Mon, 11 Feb 2019 00:00:00 GMT</pubDate></item><item><title>Using Postman for Integration Tests</title><link>https://sanjaybhagia.com/blog/using-postman-for-integration-tests/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/using-postman-for-integration-tests/</guid><description>How I use Postman collections, tests and environment variables to run integration tests against my APIs before every release.</description><pubDate>Tue, 11 Dec 2018 00:00:00 GMT</pubDate></item><item><title>Accessing WCF Service via Azure Service Bus Relay with .NET Core</title><link>https://sanjaybhagia.com/blog/accessing-wcf-service-via-azure-service-bus-relay-with-net-core/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/accessing-wcf-service-via-azure-service-bus-relay-with-net-core/</guid><description>Calling an on-premises WCF service from a .NET Core web app through Azure Service Bus Relay by crafting the SOAP request and relay token by hand.</description><pubDate>Wed, 28 Nov 2018 00:00:00 GMT</pubDate></item><item><title>Accessing Azure Analysis Services Models using .NET Core</title><link>https://sanjaybhagia.com/blog/accessing-azure-analysis-services-models-using-net-core/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/accessing-azure-analysis-services-models-using-net-core/</guid><description>Querying an Azure Analysis Services model from .NET Core using ADOMD.NET with a service principal and token-based authentication via ADAL.NET.</description><pubDate>Mon, 12 Nov 2018 00:00:00 GMT</pubDate></item><item><title>Are you keeping your secrets secret?</title><link>https://sanjaybhagia.com/blog/are-you-keeping-your-secrets-secret/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/are-you-keeping-your-secrets-secret/</guid><description>Two versions of an Azure web app reading from blob storage: one with the connection string in app settings, one keeping it safe in Key Vault.</description><pubDate>Thu, 25 Oct 2018 00:00:00 GMT</pubDate></item><item><title>Identifying the owner of personal sites in SharePoint</title><link>https://sanjaybhagia.com/blog/identifying-the-owner-of-personal-sites-in-sharepoint/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/identifying-the-owner-of-personal-sites-in-sharepoint/</guid><description>How to find the owner of a SharePoint personal site by mapping the PersonalSpace profile property to search and caching the result in the property bag.</description><pubDate>Thu, 22 Jan 2015 00:00:00 GMT</pubDate></item><item><title>Deleting Managed Metadata Fields via PowerShell</title><link>https://sanjaybhagia.com/blog/deleting-managed-metadata-fields-via-powershell/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/deleting-managed-metadata-fields-via-powershell/</guid><description>PowerShell script to remove the hidden Note fields SharePoint leaves behind when deleting taxonomy fields, fixing duplicate field name errors.</description><pubDate>Thu, 08 Jan 2015 00:00:00 GMT</pubDate></item><item><title>Using HttpHandler to deal with cross-domain requests from AngularJS app for SharePoint on-premises</title><link>https://sanjaybhagia.com/blog/using-httphandler-to-deal-with-cross-domain-requests-from-angularjs-app-for-sharepoint-on-premises/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/using-httphandler-to-deal-with-cross-domain-requests-from-angularjs-app-for-sharepoint-on-premises/</guid><description>Using a custom HttpHandler to avoid cross-domain issues when an AngularJS app filters followed sites with the site feed feature in SharePoint on-prem.</description><pubDate>Sat, 16 Aug 2014 00:00:00 GMT</pubDate></item><item><title>The specified program requires a new version of Windows. (Exception from HRESULT:0x8007047E)</title><link>https://sanjaybhagia.com/blog/the-specified-program-requires-a-new-version-of-windows-exception-from-hresult0x8007047e/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/the-specified-program-requires-a-new-version-of-windows-exception-from-hresult0x8007047e/</guid><description>Fixing the HRESULT 0x8007047E exception by dropping ModeratedList from schema.xml and enabling content approval in code instead.</description><pubDate>Sat, 23 Nov 2013 00:00:00 GMT</pubDate></item><item><title>Associating OOB Approval workflow with custom list for different Locale (LCIDs)</title><link>https://sanjaybhagia.com/blog/associating-oob-approval-workflow-with-custom-list-for-different-locale-lcids/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/associating-oob-approval-workflow-with-custom-list-for-different-locale-lcids/</guid><description>Why the OOB Approval workflow template BaseId differs per locale, and how to build the right GUID from the site&apos;s LCID in hex to associate it.</description><pubDate>Sun, 20 Oct 2013 00:00:00 GMT</pubDate></item><item><title>Updates are currently disabled in GET requests exception while provisioning multiple site collections</title><link>https://sanjaybhagia.com/blog/updates-are-currently-disabled-in-get-requests-exception-while-provisioning-multiple-site-collections/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/updates-are-currently-disabled-in-get-requests-exception-while-provisioning-multiple-site-collections/</guid><description>Why SharePoint throws &apos;Updates are currently disabled in GET requests&apos; when a timer job creates several site collections, and the HttpContext fix.</description><pubDate>Sun, 02 Jun 2013 00:00:00 GMT</pubDate></item><item><title>Incorrect values for User Fields while copying list items from one site collection to another</title><link>https://sanjaybhagia.com/blog/incorrect-values-for-user-fields-while-copying-list-items-from-one-site-collection-to-another/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/incorrect-values-for-user-fields-while-copying-list-items-from-one-site-collection-to-another/</guid><description>Fixing wrong user field values when copying SharePoint list items across site collections by remapping lookup ids with SPWeb.EnsureUser.</description><pubDate>Sat, 25 May 2013 00:00:00 GMT</pubDate></item><item><title>Creating loosely coupled and generic process steps implementation</title><link>https://sanjaybhagia.com/blog/creating-loosely-coupled-and-generic-process-steps-implementation/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/creating-loosely-coupled-and-generic-process-steps-implementation/</guid><description>Designing a loosely coupled process step framework in C# with Execute and RollBack methods for a SharePoint site provisioning workflow.</description><pubDate>Thu, 02 May 2013 00:00:00 GMT</pubDate></item><item><title>Consuming Content Type Hub in custom web templates</title><link>https://sanjaybhagia.com/blog/consuming-content-type-hub-in-custom-web-templates/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/consuming-content-type-hub-in-custom-web-templates/</guid><description>Why sites created from custom web templates can&apos;t consume the Content Type Hub, and how activating the hidden TaxonomyFieldAdded feature fixes it.</description><pubDate>Thu, 21 Mar 2013 00:00:00 GMT</pubDate></item><item><title>Paged Custom Search Query using KeywordQuery</title><link>https://sanjaybhagia.com/blog/paged-custom-search-query-using-keywordquery/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/paged-custom-search-query-using-keywordquery/</guid><description>Paging SharePoint KeywordQuery results with RowLimit and StartRow to stay under the 10000 row search limit and avoid HRESULT 0x80040E01 errors.</description><pubDate>Thu, 14 Mar 2013 00:00:00 GMT</pubDate></item><item><title>Update Personal Site Property in User Profile</title><link>https://sanjaybhagia.com/blog/update-personal-site-property-in-user-profile/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/update-personal-site-property-in-user-profile/</guid><description>PowerShell script to relink the PersonalSpace user profile property when SharePoint loses the connection between users and their personal sites.</description><pubDate>Wed, 06 Mar 2013 00:00:00 GMT</pubDate></item><item><title>Update list items to trigger event handler through PowerShell</title><link>https://sanjaybhagia.com/blog/update-list-items-to-trigger-event-handler-through-powershell/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/update-list-items-to-trigger-event-handler-through-powershell/</guid><description>PowerShell script that updates every item in a SharePoint list to re-trigger its event handler and push taxonomy values back into user profiles.</description><pubDate>Mon, 25 Feb 2013 00:00:00 GMT</pubDate></item><item><title>Remove webpart from a page on Personal site using delegate control</title><link>https://sanjaybhagia.com/blog/remove-webpart-from-a-page-on-personal-site-using-delegate-control/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/remove-webpart-from-a-page-on-personal-site-using-delegate-control/</guid><description>Using a delegate control to remove the Recent Blog Posts web part from the default page when SharePoint provisions a user&apos;s personal site.</description><pubDate>Sat, 12 Jan 2013 00:00:00 GMT</pubDate></item><item><title>Adding local variables on a page as a user control</title><link>https://sanjaybhagia.com/blog/adding-local-variables-on-a-page-as-a-user-control/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/adding-local-variables-on-a-page-as-a-user-control/</guid><description>Using a SharePoint user control to emit server-side values as inline JavaScript variables, available on page load without waiting for external scripts.</description><pubDate>Thu, 20 Dec 2012 00:00:00 GMT</pubDate></item><item><title>AllowEveryoneViewItems - Enable anonymous access to files in list</title><link>https://sanjaybhagia.com/blog/alloweveryoneviewitems-enable-anonymous-access-to-files-in-list/</link><guid isPermaLink="true">https://sanjaybhagia.com/blog/alloweveryoneviewitems-enable-anonymous-access-to-files-in-list/</guid><description>How the AllowEveryoneViewItems property makes documents and attachments in a SharePoint list anonymously accessible, set via PowerShell, XML or code.</description><pubDate>Wed, 12 Dec 2012 00:00:00 GMT</pubDate></item></channel></rss>