As the world's largest open source software repository, GitHub hosts a large number of software codes and attracts countless open source enthusiasts to gather here.
Of course, it has also become a place for programmers to hang out to learn about recent hot topic discussions and more popular projects.
On GitHub, every once in a while, there are always some weird projects on the hot list.
What is unexpected is that the number one spot on GitHub’s recent hot list was actually occupied by a “Programmer’s Guide to Cooking” called HowToCook.
#It is understood that the creator of the project is a Suzhou programmer named Auduin Xue from Microsoft.
The programmer wrote in the self-described section of the project details page that since he could only cook by himself during the period of isolation at home, he occasionally looked for recipes and methods on the Internet, but these recipes were usually written in strange ways, with some mistakes in between. From time to time, some other materials will appear out of nowhere.
He believes that such a recipe is extremely unfriendly to programmers who are already accustomed to formal languages.
To this end, Auduin Xue decided to search for recipes himself and organize some common dishes with practical cooking experience and clearer and more precise descriptions to facilitate programmers themselves. Cook at home.
As Auduin Xue said, if you search for recipes on the Internet, you will find countless graphic tutorials and video tutorials.
But when it comes to measurement, most of these tutorials only emphasize "appropriate amount", "a little", "a large spoonful" and "a small spoonful".
Sometimes there are some ingredients that have never been mentioned, which will undoubtedly cause headaches for programmers who work clearly.
#In fact, "Programmer's Guide to Cooking" is not a simple recipe.
In this project, in addition to the basic cooking knowledge required for cooking, a series of recipes for home cooking, staple food, semi-finished products, braised dishes, drinks, sauces, desserts, etc. are also included.
For programmers who are new to cooking, kitchen utensils and ingredients such as gas stoves, rice cookers, cooking oil, ginger, rice, etc. are basically the most basic kitchen preparations.
If you want to pursue formality, standardization and ritual, and make your kitchen interesting and unique, the guide also mentions that you need to purchase the following tools:
Balance, vernier caliper, measuring cylinder, stop watch, beaker, thermometer gun, pipette.
In addition, this guide also prepares advanced knowledge such as the use of auxiliary materials and oil temperature identification for programmers who want to learn more advanced cooking skills and techniques.
As for the question of "how to decide what to eat", the author also described it in detail using mathematical formulas. The calculation method is roughly as follows:
There are many kinds of recipes in this project, including home-cooked dishes, breakfast, staple food, etc.:
Although they are no different from serious home-cooked recipes, the specific dosage is directly accurate. Grams and centimeters, it can be called a fool-proof cooking tutorial.
Take tomatoes and scrambled eggs that are common in daily life. In this "Programmer's Cooking Guide", the dosage is accurately marked according to the number of people, and the additional content is thoughtfully noted:
For example, "scrambled eggs with tomatoes" can be made without adding sugar or green onions, and the salt can be changed to light soy sauce, etc.
Not only that, the recipe will also add a sentence at the end: "If you follow the production process of this guide and find problems or processes that can be improved, please submit an Issue or Pull request. ."
As an open source project, any food lover can add the dishes he is good at to the project.
However, it should be noted that when writing a new recipe, you need to copy and modify the existing recipe template: necessary ingredients and tools, calculations, operations, and additional content.
Among them, the calculation needs to mainly introduce the calculation formula to facilitate the calculation of the amount of raw materials, important time parameters, mixing ratio, etc.
More importantly, the operation part does not allow the use of imprecise words such as "appropriate amount" to describe.
At the same time, before submitting the Pull request, the recipe directory in README.md needs to be updated synchronously.
It is worth noting that as of now, this "Programmer's Guide to Cooking" has received nearly 20k stars, and the number of contributors has increased to 140.
As the project author wishes: "I hope it is an open source project driven and maintained by the community, so that more people can make an interesting library together, so it is very Everyone is welcome to contribute it."
If you also struggle with cooking, or want to share your own recipes, please click on the project portal below.
https://github.com/Anduin2017/HowToCook