How to Boil a egg at any altitude.
How to Boil a egg at any altitude to your desired yolk tenderness.
This project may seem very normal and the problem it solves is mundain. Nonetheless it was an absolute challenge to code. There are many hurdles involved when you break this challenge into its constitutes.
- Location
- Elevation
- Altitude
- Thermal Diffusion
- The Egg
When I Started this project I thought I could code this over a weekend. "Easy" But the more I looked into the science of boiling eggs I soon realized that I might be in for a long weekend. Initially my plan was to use the built in JavaScript Api to pull the Elevation Data that I needed to use as a variable for the Barometric Formula. When I found out that elevation is not a variable that has a wide browser adoption i quick found a work around. I ended up using the Latitude and Longitude variable that I was able to collect from the geolocation api and use that as part of a query to the google maps api which returned several data points one of which I was interested in was the relative elevation for the coordinates that the browser stored.
"Cool!!" I thought nearly done.
Time to work on the Hard part... Converting the Barometric Formula into JavaScript. So it was not that bad actually, thanks to wikipedia. I just made a function containing several constant. Some of these constant variables are mutable and defined at and between certain elevations to determine the assumed barometric pressure. Yes it an assumed pressure we cannot be completely certain due to several known unknown factor such as weather, But I must digress. From there I simply have to find the boiling point of water using the Barometric pressure variable that I received from the pressure function divide, multiply and add bingo presto I have the boiling point of water at any elevation in Fahrenheit.
At this point I needed to take a break,
because I already assumed that by boiling the eggs at sea level I could create a baseline array. Therefore using that plus some clever timing function I would be able to create a working model. But sadly no this is when I found out that I will have to start using some pretty complex maths to actually figure out how long to properly boil the eggs. This is Where I find a great little formula for estimating the rate of heat transfer between two mediums between a plane. I adapted that formula but soon I found out that this is one tough egg to crack. The derivation of thermal conductivity formula I was using was never going to work for an egg. You see an egg is actually concentric imperfect spherical objects with different heat conductivity properties. No problem ill just need some more time while I learn more about thermodynamics. In the meantime here is a fully working JavaScript Altimeter and Boiling Water Calculator.