Bakers Percentage Web Tool
Recipes are great and all, but when a recipe’s servings don’t match your desired number of servings you can end up with quite a few calculations to perform. To speed this up I built a website to help scale baking recipes using Bakers Percentages. Check it out here. Scaling recipes was a common problem I faced during the sourdough baking phase of the 2020 COVID-19 lockdowns. Some days I had enough flour to bake a small loaf, and other days I had an excess of starter which I didn’t want to waste.
Using the fp-ts IO & Task monads together
tldr: convert IO monads to Task monads Over the short while I’ve been using the fp-ts library I have found it a challenge to use different monads together. One case I recently came across was using the IO and Task monads together, however I came up with a simple solution: convert IO monads to Task monads, then proceed as usual with Task Monads. In this blog post I want to show how to convert an IO monad to a Task monad and why it is ok to do this.
fp-ts Simple Import Convention
When using the fp-ts library we can end up with files containing many imports of different functors, applicative or monads. Managing fp-ts library imports can be a challenge because Typescript offers us many different ways to import libraries. There are other blog articles that already break down the different ways we can import libraries, but due to the nature of fp-ts I suggest this simple import convention which will make your code more understandable and concise than just doing what your IDE suggests.
The Lean Startup Definitions
The Lean Startup by Eric Ries covers how most new businesses fail and how to prevent such failures. Encompassing many case studies, techniques and ideas, the book is a useful tool in creating innovation in any institution large or small. However, if you’re like me after reading The Lean Startup you find your mind drowning in a sea of jargon, concepts and case studies. So I decided to try and condense the book into a series of definitions to condense the book into its key elements.
Save your thumbs with Strava Kudos Automation
As a software developer, I am always looking for ways to automate mundane tasks in my life. As a casual athlete I am always looking for ways to show my support to my friends on Strava by kudos’ing (ie. liking) their activities. So one day I thought why not automate my kudos’ing activities on Strava. This blog post explains the method and code I used to create this kudos’ing automation.
Internet Performance Monitoring and Visualisation
Internet is a slippery service to track due to the fluctuating and intangible nature of internet access. Some may take their Internet Service Provider’s (ISP) word that they are delivering internet performance that is up to the standard you are paying for, but not me. I can only shut my eyes at night with the confidence that my download and upload speeds, as well as latency, are up to scratch.
Simple Tips for Happy Bashing
Bash (Bourne Again Shell) is an incredibly common shell and scripting language in which any developer working on Linux and macOS based systems will inevitably come across. Because of this, Bash scripting skills are a formidible tool to have in your belt. However, Bash scripting is notoriously difficult due to its extensive nature and large feature set, which often leads to developers writing poor scripts. In this post, we will how explore you can write better Bash scripts with the help of The Set Builtin, Trapping Functions, Shellcheck, and Idempotency.