Sandwich Bill of Materials

(nesbitt.io)

169 points | by zdw 5 days ago ago

21 comments

  • zahlman 8 minutes ago

    Some sandwich ingredients are known to be used both as standard toppings and as sauce components. To avoid ambiguity, condiments such as guacamole and relish (as well as ketchup) SHOULD define a stable API (Avocado and Pickle Interface).

  • aranw 12 minutes ago

    I asked claude to use this and create a ham salad sandwich with no onion for me https://gist.github.com/aranw/c2b59f42b20eb47e01bc66841233c2...

    I'll email this over to my local bakery on Monday for my lunch order might need to make some modifications for there build environment

  • bzmrgonz 2 hours ago

    You forgot to accomodate for MCP. You don't expect us to build the sandwiches manually as if we were cavemen living in 2023 do you???

    • zdw 2 hours ago

      If The Princess Bride is to be believed, MCP stands for the "Mutton Context Protocol".

      • jpitz 2 hours ago

        When the tokens are nice and lean.

  • SAI_Peregrinus 2 hours ago

    This promotes impractical version pinning. That leads to spoilage unless the lockfiles are updated every few hours. Freshness should be checked at build time, and the resolved version for each ingredient recorded in the SBOM but a lockfile SHOULD NOT be used for perishable ingredients. Bacteria will result in Spoilage Vulnerabilities if versions are locked inappropriately.

  • ponestar 2 hours ago

    So is "toasting the bread a little bit" in the semver for the bread? Is this part of the integrity hash?

    Where are post assembly instructions stored?

    Panini and croque monsieur sandwiches are left out of this spec.

    Author didn't post the repo so I don't know where to submit an issue.

  • elzbardico an hour ago

    This is fantastic, now, after implementing SAP home edition at your house, you’ll be able to use the procurement module and leverage EDI to source the ingredients of your sandwich while maintaining full traceability according to the relevant ISO standards.

  • SauntSolaire 3 hours ago

    Hopefully this has built in support for second sourcing

  • arealaccount 3 hours ago

    > The 2025 egg price crisis was a cascading failure equivalent to a left-pad incident, except it affected breakfast.

  • owlninja 5 hours ago

    They better load the SBOM correctly in SAP.

  • McGlockenshire 4 hours ago

    > AGPL (Affero General Pickle License): Same as GPL, but if you serve the sandwich over a network (delivery apps), you must also publish the recipe. This is why most restaurants avoid AGPL pickles.

    I love a good APGL joke, and this one especially tickles me because I'm currently a delivery driver instead of a dev.

  • ThrowawayTestr 4 hours ago

    The most delightful thing I've read in a while.

  • johndhi 3 hours ago

    love it - is this a thing that's mostly used in government contracting, or do people encounter SBOM stuff more broadly than that?

    • ozim 2 hours ago

      You can encounter it when someone is doing due diligence while buying software company.

      Also it is now hot topic because of CRA in EU.

    • xbar 3 hours ago

      I review an SBOM 3 days out of the week before lunch. If you can source your butter and cheese from the same dairy repo you can reduce the overhead of a grilled cheese by about 20%.

  • snarky123 3 hours ago

    Finally, something the software industry can learn from: sandwiches have dependency management figured out.

  • phendrenad2 3 hours ago

    > SHA-256 hash of the ingredient at time of acquisition

    I put mayonnaise on my RAM but I don't know how to hash it.

    • all2 2 hours ago

      Dice the mayo and sticks of RAM and place in a cast iron skillet over medium heat. Turn it every two or three minutes. Remove when you can smell the magic smoke.

  • TZubiri 4 hours ago

    Mmmmmh, specifications

  • benatkin 5 hours ago

    What's the purl (Package URL) equivalent of surl:mystery, for stuff like Claude Code, which now only supports running a script to install? It does have a pretty easy to read install script, but the docs don't suggest reading it before running it as an option, they just say to run it https://code.claude.com/docs/en/setup

    Also it doesn't address mold: harmful on bread, wonderful when intentionally added to cheese

    Edit: Claude Code has a homebrew cask, and homebrew supports Linux (I haven't been using it on Linux so it didn't occur to me when reading this). It can be specified in purl using pkg:brew.