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
Testing

Rewriting SharpCooking - Part 5 - The fun with Playwright

This is the fifth and final post in the series. If you haven’t read the previous posts, I recommend doing so for added context: The why and high level how The tech stack The unplanned API The DevOps I omitted a lot of information about Sharp Cooking’s testing in the previous posts in this series. I wanted to write a dedicated post about the experience, and this is it. Unit testing vs....

March 5, 2023 · 7 min · LPains
DevOps

Rewriting SharpCooking from Xamarin to PWA - Part 4

This is the fourth post on the series, if you haven’t seen the other posts yet, I recommend you read them for added context. The why and high level how The tech stack The unplanned API In this post, we will review the decisions and methods related to DevOps of Sharp Cooking. To summarize to the extreme, DevOps is all about people, processes, and tools. However, this post will focus mostly on processes and tools....

February 19, 2023 · 11 min · LPains
Python

Rewriting SharpCooking from Xamarin to PWA - Part 3

This is the third post in the series. If you haven’t seen the first two posts yet, I recommend you read them for added context. The why and high level how The tech stack The problem Sharp Cooking allows for recipe extraction from many websites. The original app makes a web request that loads the HTML page and parses the content to identify a recipe. The parsing is done using XPath and a configuration file determining the XPATH queries to be used....

January 29, 2023 · 8 min · LPains