9 votes

What programming/technical projects have you been working on?

This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?

2 comments

  1. everydayanchovies
    (edited )
    Link
    I’m working on a system that arranges what I’ll be eating for the coming couple of days, with the idea that it’ll save me money and prevent food waste by managing ingredients cleverly. Right now,...

    I’m working on a system that arranges what I’ll be eating for the coming couple of days, with the idea that it’ll save me money and prevent food waste by managing ingredients cleverly.
    Right now, I’ve built a backend using Craft CMS, running on a raspberry pi at home, in which I can enter recipes and ingredients. Each ingredient has an expiration date, each recipe knows how much of every ingredient it must use.
    The system will send me a shopping list periodically and I will check off what I’ve bought, this way, by definition, the system will know the contents of my fridge within a week without me having explicitly fed everything in.

    Furthermore, I’ve built a frontend, and modified a kobo e-reader I’ve had lying around to display the recipe I’ll cook today and tomorrow. I mounted it on the wall, and seeing as it is an e ink display, it works gorgeously with my physical location: the sun sets into my kitchen when I cook, and the display is clear as can be.

    I still have to code the logic for meal planning (it’s all figured out, just not implemented.)
    It’ll take into account how often I’ve eaten each recipe, what recipe is (nearly) cookable, and if something absolutely has to go away, it’ll select the cheapest ingredients to throw away (and alert me of the waste, so that I can do something about it a head of time.)

    https://imgur.com/iLmgh45
    https://imgur.com/j60Pxg9

    8 votes
  2. joplin
    Link
    I'm learning about fuzzing. Clang comes with libfuzzer which is a code-coverage-guided fuzzer. That is, it runs some tests, checks which code was covered by the tests, then does mutations of the...

    I'm learning about fuzzing. Clang comes with libfuzzer which is a code-coverage-guided fuzzer. That is, it runs some tests, checks which code was covered by the tests, then does mutations of the previous test based on what code was covered. It attempts to cover as many code paths as possible that way.

    I've basically just been tinkering with it. Nothing serious yet, as I'm still learning how it works. I may end up incorporating it into my day-to-day work, if it proves useful.

    2 votes