Recipe UOMs

Introducing sharp-recipe-parser

For almost four years now, I have maintained the Sharp Cooking app. From the beginning, one of the features I wanted to provide was ingredient UOM conversion. In version 1.4 of the app, a preview of the UOM conversion feature was made available. In this post, I will describe the process and how it was achieved. Before we get into UOM conversion, we first need to break down an ingredient line into its components....

August 5, 2023 · 3 min · LPains
Identity

Azure Pipeline service principal detail without AD Access

Azure Pipelines are a powerful tool for automating CI/CD workflows, and the AzureCLI task allows you to execute scripts using the Azure CLI. When working with service principals, it’s essential to have their client ID, secret, and object ID at hand. While obtaining the client ID and secret is straightforward using the addSpnToEnvironment property, retrieving the object ID can be a bit more challenging. In this blog post, we’ll explore a workaround to easily fetch the object ID for your service principal, even if it doesn’t have direct read access to Azure AD....

July 25, 2023 · 2 min · LPains
Infinity

An opinionated guide to choosing between Azure DevOps and Git Hub

Choosing the right DevOps tool can streamline your development processes and accelerate time to market for features. Two of the most prominent options available today are Azure DevOps (ADO) and GitHub. In this very opinionated post (you’ve been warned), I will guide you towards picking the right tool for your situation. What about other options? We might discuss other options in the future. I am assuming you are familiar with both tools already....

July 4, 2023 · 6 min · LPains
Cyber Security

Azure App Gateway Deployment with Bicep

Deploying an Azure App Gateway can be a daunting task, especially when creating a reusable template for it due to the verbosity of the template. In this post, I will describe how to create and execute a Bicep template for an externally visible web app with an Application Gateway. By the end of this post, the following requirements will be met: Web app hosted in App Service with Azure-provided certificate for TLS Web Application Firewall (WAF) with OWASP 3....

June 23, 2023 · 4 min · LPains
Recipe Book

Using OCR to scan recipes into Sharp Cooking

Sharp Cooking app can currently import recipes directly from websites and backup files, making it easy to create a personal collection of recipes. However, it does not currently provide an option to scan recipes from a book or an image. This has been a long-requested feature that I am now attempting to add to the app, and will document the experience in this post. How? The first thing that comes to mind when trying to extract text from images is OCR....

March 12, 2023 · 9 min · LPains