Is anyone working on let's name it CookHub already? So essentially GitHub for receipts. The nerd in me wants to fork receipts and share my small adaptations to the community.
The other problem I have with community cooking websites is that usually people always underestimate the cooking time and that's annoying as hell. Like people would say you need to cook onions for 10 minutes, while onions take close to 25 minutes to be cooked. On the French website marmiton, it was so ubiquitous that they have moderators come in and fix people's recipes.
Edit: see https://slate.com/human-interest/2012/05/how-to-cook-onions-...
It's up to recipe author to define what they cook and how. If you think 25 min is better, fork it.
And I literally cannot tell you how I do it, because at this point, I don't know. I do know how I got there, though. Cooking, lots of it, at various scales and in variously equipped kitchens.
Scale-wise, I have cooked for 1. And on the upper end, I have cooked for about 50.
At least the JSON conversion would be nice to have, then I could XSL-T it into RecipeML.
Doesn't use recipe-lang though, just uses markdown.
[0] https://mypippa.me/ [1] https://recipes.mypippa.me/ [2] https://recipes.mypippa.me/schemas/cookMLSchema3.0.json
I agree it's hard to close, I'll see if I can do something about that. It shouldn't keep coming back once closed, which browser are you using? Although it does come back if you refresh the page. I might be able to do something about that as well.
Growing up we had a sensor in the oven go out, causing the cookies to catch on fire inside the oven. We also had a control board on a Whirlpool dishwasher start smoking ~15 years ago. There was a class action lawsuit against Whirlpool, but we didn't have any documentation that showed the model and serial number of the unit, so we couldn't get the typical "$20 credit for your next appliance purchase" or whatever the compensation was.
In both cases, flipping the electricity off at the breaker prevented further damage.
As an optional paired peripheral, it's a good idea, and perhaps we will look into it further if the main product has some success. If individuals consider it a valuable addition then they could pay to have it installed. A secondary drawback would be reduced battery life on the device, as it would be continuously paired over Bluetooth whenever the stove is in use - usually it is just passively advertising in case you are trying to connect through the phone app.
In terms of saving lives, the automatic cut-off would make a relatively small difference - fire department stats (on smoke alarms) show that having a loud beeping alarm is extremely effective at attracting attention and is enough for the user to go and turn it off manually, or to get out of harm's way if things have turned bad. Where the automatic cut-off would help is in reducing the chance of the house being damaged by smoke or fire when the user is out of range.
Buy @red pepper{2}.
versus
<recipe> Buy <ingredient amount="2">red pepper</ingredient>.</recipe>
For the latter, standard tools like xmlwf or any good Web browsers built-in XML viewer already exist and work right away.
In any case, double maintenance of JSON and human-readable text will eventually lead to inconsistencies.
Also, since I have a thing for flambee dishes - how does it deal with pyromanic chefs? ;)
If you put a frying pan on with oil in and leave it, the device will alert you at around 450F. This is a fixed threshold (along with some other checks, e.g. we also consider the rate of change of temperature). This gives reasonable behaviour in most cases, and ensures you don't get nuisance alarms when frying on high heat. In cases where individuals have an unusual cooking pattern which causes unreasonable false alarms we can adjust the model parameters to increase/decrease sensitivity in particular situations. In the future we may be able to adjust these automatically but for now there is not a great deal of automated "learning" involved.
If you're a pyromaniac chef, I think you would get some alarms from that! Again this is a bit of an edge case so we haven't but much effort into that for the first iteration of the product, definitely something for the future though - I can imagine it being a challenge to distinguish flambee and a real fire though, since flambee is real fire!
Just the safety thing alone has me hooked.
I have no idea what a "medium victorian spring spruce potato is" or whatever it is you're using. In Sweden we have only two kinds: hard and soft. Same goes for basically everything else :)
Seriously, if you don't like potatoes or think it's boring, try Mandelpotatis (if you can find it, it likes sandy, not very nutrious earth to grow or it will get sick and die :-)
I have been thinking of a way of writing my recepies so I can process them into a database some day for easier search. I realised I would never have the energy to actually do it so I'm just switching to markdown and running a static webcompiler on them to output html with search function in javascript and upload to github. Works better than expected and have everything I need.
Would you mind sharing yours? I am always looking for inspiration and ways to improve.
I'm not sure where you get this idea. Even a basic supermarket like ICA knows more than that: https://www.ica.se/icas-egna-varor/produkter/icas-potatis/
From the potatoes that are immediately visible on display. You have large stands with two types of potatoes that you can pick and weigh yourself (sometimes three, the difference isn't obvious). Then you have a bunch of 3kg-5kg packs of washed potatoes of two kinds: fast and mjölig.
And possibly there are one or two packs of other kinds? Maybe those 3-5 kilo packs have different types of potatoes in them? But those are never clearly marked.
And then you arrive at a recipe, and it calls for russet potatoes or dutch cream potatoes or some other potato. What the hell are those? :)
Anyway, potatoes were just to illustrate the idea. I've had the same issues with rice, vegetables, even spices sometimes.
This instruction in the Neapolitan Pizza recipe got me interested. Surely there is an upper limit?
Turns out the Wikipedia article about oven temperatures [1] has a dedicated entry:
> Neapolitan pizza: 905°F (485°C)
Which is way more than I expected. I guess this justifies the “set oven to max“.
add @acid{1%tsp} to @milk{1%cup} to create acidulated milk
[acid]{lemon juice|apple cider vinegar}
Anyway great spec and language!
[@raw organic cane sugar, @honey]{3%tbsp}
Here square brackets indicate that the ingredient will have variations separated by commas.1. Split up ingredients into more parts.
2 tbsp ground black pepper is actually: Quantity: 2 tbsp Ingredient: Black Pepper Preparation: Ground
2 finely chopped scallions, just the white parts Quantity: 2 Ingredient: Scallions Preparation: Finely Chopped Note: Just the white parts
Often you'll have apps (like plan to eat) that adds the preparation to the ingredient and makes shopping lists much harder to manage
2. Ingredient replacements. Often you'll see recipes calling for one ingredient and then has "You can replace this with x and y". It would be extremely nice to have this programmatically available. I know if I can't find scallions, I can replace it with garlic and onions.
3. Variants. Often I have the same core recipe in my recipe book with just different variants. Meringue cookies with different flavors. 90% of the recipe is all the same, but it's duplicated a dozen times for a dozen specific flavor add-ins. It would be extremely nice to have this somehow programatically available, so I can have the base recipe and all the variants with a reused core :)
I wrote a service called Zestful that does exactly this.[0]
It's an interesting problem. It's hard to train an ML system on the distinction between a preparation instruction like "finely chopped" and a note like, "just the white parts." My system treats "just the white parts" as a preparation instruction, but it throws away as irrelevant things like, "My favorite brand of black pepper is Smith's Fine Peppers." But I've looked at thousands of ingredients, and there are lots of wacky edge cases.
I created the service by adapting an open source project the NY Times published and then abandoned.[1] They were trying to index all of their old recipes for what would eventually become cooking.nytimes.com. Their repo felt very experimental and half-baked, so it was interesting to turn it into a production service. I wrote about the process of creating the service on my blog.[2]
[0] https://zestfuldata.com/demo
[1] https://open.blogs.nytimes.com/2015/04/09/extracting-structu...
My other gripe is when recipes tell you to prep 4 tbsp of an ingredient but aren't clear that you only use 3 in an early step and are supposed to save the other 1 tbsp for an end step. Not sure how this could be programmatically solved though
As for 1. I had this before in spec:
> To modify the ingredient any other way, use parentheses.
> Add @onions{3}(finely chopped) to the mix...
After some testing, it turned out that it makes the overall cooking flow a bit convoluted. This modifier is an implicit step of the recipe. Imagine that we have this modified ingredient in the middle of a recipe. I have my frying pan full of things and next step is to add onions. But I suddenly realised that it's time to finely chop onions and I don't have time for that.
We can create these steps automatically and place them before everything else, but it may not be always the optimal way.
Here it was removed: https://github.com/cooklang/cooklang-org/commit/1bd2f54c3363...
Edit. Here is installation instructions https://github.com/cooklang/CookCLI#installation
Here's an interesting discussion on the subject of ingredient quantities [1].
I cook and I write code but never at the same time :)
Beyond just looking at the timing, I want to know how a cook thinks about the dish. If you open cookbooks, the intro spiel is common, and I often find it more helpful than the actual text of the recipe. There's a million places I can read a recipe for pad Thai, but Andy Ricker and Leela Punyaratabandhu have some deep insight that is very valuable.
Certainly some authors are crappy writers and don't add value here - I don't follow those people. Googling for recipes will turn those people up too often.
@potatoes {1 kg} is a bit easier on the eyes
http://microformats.org/wiki/hrecipe
Mandatory xkcd link: https://xkcd.com/927/
While I don't know much about the history of Recipe in Schema, I find "covers way more than it reasonably should" to be an odd criticism of a format. I usually find it to be a mark of schema maturity. All concepts behind data formats have more complexity than an initial investigation would uncover (see also: Falsehoods Programmers Believe About Names[1]). If anything, it leads me to believe CookLang has a ways to go.
1: https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-...
I've been looking for a way to index my mother's recipes in a useful way, was somewhat motivated two years ago.
I wanted something that:
1. produced well formatted PDFs for printing (my mother prefers paper).
2. it would substitute different ingredients. i.e. this recipe contains milk, a simple button or keybind would change it to an appropriate milk substitute.
3. automatically produced different measurements.
I tried GNOME Recipes [1] as it checked a lot of boxes but it has some big bugs still that make it basically unusable.
I considered maybe doing something org-mode and emacs, but kind of lost interest after that...
I'm not sure about "3. automatically produced different measurements.". What do you mean by that?
For me, I internalize all my recipes after I've made them a few times. The main problems I face are related to scaling and unit conversions.
So ideally I'd like to publish an interactive web recipe that lets me input the amount of ingredient X I have (or amount of servings I want) and match the ingredient stochiometry in whatever units I choose.
I've tried a number of recipe apps, etc. and I got to tell you, most are just work. The worst are the ones that make you use a GUI with dropdowns for things like teaspoons or tablespoons.
I use a wiki. I can cut and paste a recipe into it. I don't even really care much about markup; I can read it just fine. I can access them from laptop, iPad, etc just fine and I don't have to have the software installed on everything.
[0] I know this isn't an app, it's markup, and like I said, looks really cool. Just seems like it would be more work than just using a wiki.
A question. How do I connect images to recipes. I usually have multiple for single recipe. It would be nice to have some keyword for that and/or configured location...
On iOS app there is a picture for example, how is it represented in the .cook file ? I see Adding Pictures section but it says it should live in the same directory ? Any option to specify that differently as in your seed all files will be in the single folder and there will be mess on file system. I would for instance prefer to have a folder per recipe with cook file and images.
> Any option to specify that differently as in your seed all files will be in the single folder and there will be mess on file system. I would for instance prefer to have a folder per recipe with cook file and images.
That's a valid point, We assume that people only occasionally add images, but I can imagine its becoming messy. Maybe we should add alternative way. Noted this down as well.
Still, I think I'll try this out!
It's very easy to update a recipe file in a text format, so there shouldn't be an issue to quickly change names in a recipe you get from your friend overseas.
Current plan is to offer iOS and Android apps for a one-time fee. These apps are based on open-source language and parser (the same used by CLI), but a bit nicer and user friendlier.
I see three main problems:
1) tech people probably do not cook much and more order/eat out, so it is hard for me to imagine chefs/grandmas/not-tech-savvy people using it;
2) main problem for people cooking/experimenting is to decide what exactly to cook - and here you would usually go for something proven (e.g a cook-book or a website)
3) there is a reason not everyone can be a good recipe developer, because it takes a lot of experience and knowledge and you cannot really copy/paste and publish from existing pages/books. I am not sure if I would try a random "forked" recipe.
Good luck, I am interested in what comes out of it!
[1] https://arisgarden.theiceshelf.com/recipe/sweet-potato-gnocc... [2]https://github.com/theiceshelf/arisgarden/blob/master/src/Pa...
When I write my own recipes (on index cards or whatever), I explicitly create the graph to make it easier to follow. Of all the links in this thread, the "Computerized Cooking" one most closely models my ideal setup, but I don't love the RxOL language. Maybe I'll make an s-exp version of it that exports diagrams someday.
Now if we just had a good Markup Language for webdesign...
Great to have the iOS app, an easily convertable human readable and writable format and hang on to your own data.
Going to give this a good look over today. Might think about an Obsidian plugin as well.
Though, this here is much easier to edit. May need to create a converter ;-)
@salt and pepper{}
Instead of
@{salt and pepper}
The latter seems far easier to parse.