Introducing documorph

Let’s face it – writing documentation isn’t always enjoyable and can often feel like a daunting task. It comes in various formats, from a simple README to more comprehensive guides. Personally, I favor markdown and wiki-style documentation because it’s usually closely tied to the code and easy to manage. One common approach to documentation is maintaining a library of Microsoft Word documents. However, these documents are often disjointed, difficult to search, and may lack consistency in style....

May 5, 2024 · 2 min · LPains
App role assignment to Azure Entra security groups

Streamlining App Role Setup with Azure Entra: A Step-by-Step Guide

Role-based authorization is crucial for controlling access to resources in many applications. When integrating Azure Entra for authentication, leveraging its built-in app roles capability is a common approach. However, managing role assignments for multiple apps across various environments can be tedious. For instance, a scenario with three apps, three roles, and three environments would require 27 role assignments. This post explores automating the process of adding roles to Azure Entra app registrations primarily using the Azure CLI....

April 7, 2024 · 2 min · LPains
Nutrition Label

Sharp Cooking now displays nutrition labels

Sharp Cooking has reached its fourth anniversary! To mark this significant milestone, we’re thrilled to introduce a highly anticipated feature: Nutrition Labels. Now, not only can you input nutrition values manually, but recipes imported from websites supporting nutrition values will also display them in the recipe view. To generate these labels, we first need to gather the nutritional data for each recipe. Fortunately, many websites offer this information, and recipe-scrapers, the python package utilized by Sharp Cooking to extract recipes from the web, already supports it too....

March 26, 2024 · 2 min · LPains

How to benchmark javascript coding options

There are multiple ways to accomplish the same task in any programming language. Sometimes, it can be challenging to determine the most efficient approach, especially when you’ve performed the task countless times. This is where benchmarking comes in handy. Benchmarking involves comparing different implementations of the same functionality to determine the most efficient one. In this post, I will demonstrate how to benchmark JavaScript code using several popular online tools....

January 27, 2024 · 2 min · LPains
JavaScript code

Converting sharp-recipe-parser from typescript to javascript + jsdoc

Introduction I should start by saying that I am a big proponent of TypeScript. I have been using it since version 1.5 back in 2015. Coming from a backend background with typed languages, not having types in JavaScript was an interesting experience for me. As a developer, the two aspects of typed languages that help me the most are intellisense and the compiler. Intellisense helps me write code faster, and the compiler helps me catch errors before runtime....

January 1, 2024 · 6 min · LPains