Re:Show HN: My Smoothie Stack – What are you using to build ...
by somewhatjustin on Tuesday May 31, 2022 @04:27PM
(#31574507)
Hi, I'm Justin, creator of My Smoothie Stack. I'm a new developer so I'm grateful for any feedback on my source code [0].
Here's my personal recipe [1].
If you take a look at that URL, you'll see it's quite long. I wanted to be able to share recipes, but I don't have any backend knowledge. I had to get creative and store the object representing the recipe in an object encoded in Base64. This presented some character escaping issues, but those were manageable.
I don't expect this project to change the world. I just wanted a way to practice my newfound React skills and share some smoothie recipes. If you give this a try, please share your recipe!
Re:Show HN: My Smoothie Stack – What are you using to build ...
by mdaniel on Tuesday May 31, 2022 @08:28PM
(#31576595)
Congratulations on your launch!
> This presented some character escaping issues, but those were manageable.
In case you were interested, there's a section devoted to that in RFC 3548: https://datatracker.ietf.org/doc/html/rfc3548#section-4 with the tl;dr of `s/[+]/-/; s/[/]/_/` and then omitting the trailing "=" characters and just padding the incoming b64 since (AFAIK) one can add as many "=" as they'd like and it'll just ignore extra ones
Depending on your interoperability interests, you can shave a bit of text out of it by shortening the JSON key names `"i"`, `"a"`, `"n"`, and then also `.filter(Boolean)` to nuke those two trailing empty strings
Re:Show HN: My Smoothie Stack – What are you using to build ...
by somewhatjustin on Wednesday June 01, 2022 @11:06AM
(#31582885)
Thanks for taking a look!
> In case you were interested, there's a section devoted to that in RFC 3548: https://datatracker.ietf.org/doc/html/rfc3548#section-4 with the tl;dr of `s/[+]/-/; s/[/]/_/` and then omitting the trailing "=" characters and just padding the incoming b64 since (AFAIK) one can add as many "=" as they'd like and it'll just ignore extra ones
Thanks! I'll check this out.
> Depending on your interoperability interests, you can shave a bit of text out of it by shortening the JSON key names `"i"`, `"a"`, `"n"`, and then also `.filter(Boolean)` to nuke those two trailing empty strings
This is a good idea. I might already be filtering those empty strings but I'll have to check.
Re:Show HN: My Smoothie Stack – What are you using to build ...
by normac2 on Tuesday May 31, 2022 @11:03PM
(#31577550)
> In case you were interested, there's a section devoted to that in RFC 3548: https://datatracker.ietf.org/doc/html/rfc3548#section-4 with the tl;dr of `s/[+]/-/; s/[/]/_/` and then omitting the trailing "=" characters and just padding the incoming b64 since (AFAIK) one can add as many "=" as they'd like and it'll just ignore extra ones
Just to add one thing: in case Justin isn't familiar, "s/original_thing/replacement_thing" is a figure of speech often used in the hacker subculture to mean "replace original_thing with replacement_thing." It comes from some languages and editors like Perl and Vim/vi, where that syntax (and variations) are used for search and replace.
Re:Show HN: My Smoothie Stack – What are you using to build ...
by dublin on Tuesday May 31, 2022 @09:29PM
(#31577017)
It'd be nice to be able to browse and search the recipes (e.g., to see what people have come up with for the ingredients you have on hand, etc.) I like the quick hack nature of it, though...
Re:Show HN: My Smoothie Stack – What are you using to build ...
by al_borland on Tuesday May 31, 2022 @11:47PM
(#31577825)
Pretty cool. Congrats on getting launched!
While I thought a favorites, browse, and top smoothies section would be cool... I read your comment about not knowing backend development yet, so your current implementation makes a lot of sense. I'm actually a huge fan of simple client-side sites that aren't over-engineered. Those are the kinds of things I do when I'm bored... try to make a simple, but useful, little site that is basic enough to run off GitHub pages. If I can do it in less than 100 lines, that's also a win.
The cool thing about the project you chose is that it has a lot of room to grow if you decide to take it in that direction, and if not, your MVP is still a useful site.
Re:Show HN: My Smoothie Stack – What are you using to build ...
by HAL9OOO on Wednesday June 08, 2022 @02:38AM
(#31664080)
Pretty cool idea to practice skills, I'll take a look at the source code since I'm just getting into React now too :). I'm sure there's an API for something like myfitnesspal for nutritional information, and I second having a simple voting system for best public smoothie recipes.
Re:Show HN: My Smoothie Stack – What are you using to build ...
by prithsr on Wednesday June 01, 2022 @10:33AM
(#31582340)
I like this! I worked on a passion project during the early weeks of covid / lockdown called Choose My Smoothie. Didn't continue working on it for long but always wondered where else I could take it - this would have been a nice addition.
Re:Show HN: My Smoothie Stack – What are you using to build ...
by somewhatjustin on Wednesday June 01, 2022 @11:13AM
(#31583023)
The second is particularly appealing to me. I wonder if there's some sort of open food API I could tap in to. Would also love to build your first idea as well once I start to learn backend development.
Here's my personal recipe [1].
If you take a look at that URL, you'll see it's quite long. I wanted to be able to share recipes, but I don't have any backend knowledge. I had to get creative and store the object representing the recipe in an object encoded in Base64. This presented some character escaping issues, but those were manageable.
I don't expect this project to change the world. I just wanted a way to practice my newfound React skills and share some smoothie recipes. If you give this a try, please share your recipe!
Thanks for your time!
[0] https://github.com/somewhatJustin/smoothie-stack/
[1] https://mysmoothiestack.com/?share=eyJpbmdyZWRpZW50cyI6WyJGc...
> This presented some character escaping issues, but those were manageable.
In case you were interested, there's a section devoted to that in RFC 3548: https://datatracker.ietf.org/doc/html/rfc3548#section-4 with the tl;dr of `s/[+]/-/; s/[/]/_/` and then omitting the trailing "=" characters and just padding the incoming b64 since (AFAIK) one can add as many "=" as they'd like and it'll just ignore extra ones
Depending on your interoperability interests, you can shave a bit of text out of it by shortening the JSON key names `"i"`, `"a"`, `"n"`, and then also `.filter(Boolean)` to nuke those two trailing empty strings
> In case you were interested, there's a section devoted to that in RFC 3548: https://datatracker.ietf.org/doc/html/rfc3548#section-4 with the tl;dr of `s/[+]/-/; s/[/]/_/` and then omitting the trailing "=" characters and just padding the incoming b64 since (AFAIK) one can add as many "=" as they'd like and it'll just ignore extra ones
Thanks! I'll check this out.
> Depending on your interoperability interests, you can shave a bit of text out of it by shortening the JSON key names `"i"`, `"a"`, `"n"`, and then also `.filter(Boolean)` to nuke those two trailing empty strings
This is a good idea. I might already be filtering those empty strings but I'll have to check.
Just to add one thing: in case Justin isn't familiar, "s/original_thing/replacement_thing" is a figure of speech often used in the hacker subculture to mean "replace original_thing with replacement_thing." It comes from some languages and editors like Perl and Vim/vi, where that syntax (and variations) are used for search and replace.
While I thought a favorites, browse, and top smoothies section would be cool... I read your comment about not knowing backend development yet, so your current implementation makes a lot of sense. I'm actually a huge fan of simple client-side sites that aren't over-engineered. Those are the kinds of things I do when I'm bored... try to make a simple, but useful, little site that is basic enough to run off GitHub pages. If I can do it in less than 100 lines, that's also a win.
The cool thing about the project you chose is that it has a lot of room to grow if you decide to take it in that direction, and if not, your MVP is still a useful site.
I'm considering going in the direction of full stack development, so your feature suggestions could be great ways to learn backend.
https://mysmoothiestack.com/?share=eyJpbmdyZWRpZW50cyI6WyJCY...
I'd love to try your recipe but I seem to be allergic to avocado and would not have a fun time.
* able to browser recipies by others, maybe vote?
* see the nutritional contents of each recipe (at least an estimate)