Skip Navigation

User banner
Salamander
Salamander @ Sal @mander.xyz
Posts
392
Comments
539
Joined
4 yr. ago

  • Yes, this is what I mean.

    As for (3), this is how I am reasoning about this. The mushroom cells are surrounded by a soft cell membrane made out of lipids, and a hard cell wall made out of a network of sugar filaments (primarily chitin). The cell membrane serves as a chemical barrier that separates the chemistry outside of the cell from the chemistry inside of the cell, and it has many mechanisms to allow specific chemicals to flow from one side to the other. This cell membrane is very dynamic and it needs continuous maintenance to remain functioning as intended. When a cell dies, the cell membrane is no longer kept under maintenance, and it basically dissolves.

    After the cell membrane disintegrates, the cell wall remains. This cell wall is much tougher and does not require constant maintenance. The wall also has its own filtering capacity as well the ability to absorb and retain chemicals, but it is a lot more porous and this porosity allows water, nutrients, and other water-soluble chemicals to move more freely.

    So, my reasoning is: The mushroom dies. The cell wall disintegrates. The more permeable cell wall remains. Agaritine is soluble in water, and water and small water-soluble molecules can usually move freely through the cell wall. So, within a short period of time the water outside of the mushrooms will mix with the water inside of the mushrooms, and the agaritine will distribute throughout the whole volume. At this point, even if the mushroom's environment had provided some form of protection, the now-mixed agaritine will experience an environment similar to the environments discussed in the papers I from the previous comments.

    It is not as simple as I describe here, because the specific properties of the cell wall can be complex, and they can change due to chemical modifications. For example, some molecules can be absorbed into the sugar matrix such that they are protected from degradation - but I could not find any data to suggest that this likely a significant factor for agaritine. There are some recent articles that review the fungal cell wall, I will paste the citations below, in case you want to look at some of this in more detail.

    Gow, N. A., & Lenardon, M. D. (2023). Architecture of the dynamic fungal cell wall. Nature Reviews Microbiology, 21(4), 248-259.

    Latgé, J. P., & Wang, T. (2022). Modern biophysics redefines our understanding of fungal cell wall structure, complexity, and dynamics. Mbio, 13(3), e01145-22.

  • My question has to do about the agaritine content in mushrooms that are subjected to fermentation. That agaritine might behave differently when contained in a mushroom. What answer to my question does the articles give you?

    It is true. I am not sure, the articles do not address this specific question. It would depend on the process and the amount of time that you let it ferment. Over a period of weeks, it is likely that the mushrooms will have died, the cell membranes will have broken down, and the chemistry of degradation described in those papers will have taken place.

    Fresh mushrooms are still alive at the beginning of the process. Until they die, the mushroom's cells may continue to produce agaritine, and the chemistry inside of the cells is not necessarily going to be the same as in tap water. The amount of time that it will take for the cells to die depends on the process. If you are submerging the mushrooms into a brine, I don't think that they will survive for long because of the osmotic pressure.

  • No problem! I searched "Agaritine degradation" in Google Scholar and selected to those two articles from the results page as they seemed relevant. I also searched for more specific fermentation based papers but did not find any - this is what I mean when I say quick search.

    I did not use an LLM chat bot to formulate the answer, but I did copy and paste it to ChatGPT and asked whether it agreed. I often do this in case it catches some obvious mistake. But it did not suggest any corrections, and it did not affect my answer. So an LLM chatbot did assist me in validation.

    If you want I can explain some of the reasoning in more detail. Figures 1 and 3 of the first paper have data on what happens when agaritine is dissolved in water in the presence of air ('open vial'), no air ('closed vial'), and at a low pH with a closed vial. I think that these two figures are the most relevant to this particular question, as they give you an estimate to how fast agaritine will break down due to conditions that are easy to control and measure. Other types of microbiological activity can have an effect, but in this case it is not essential to invoke these more complicated processes.

  • Short summary from a quick search in the literature: Agaritine in water degrades quickly if oxygen is present, so if you can have an extended amount of time during which the mixture of water and ground mushroom is exposed to fresh air, that will help. As the mixture becomes acidic, degradation speeds up again even if the the atmosphere becomes oxygen poor. If the fermentation is meant to take more than 3 weeks, the acidic environment will probably be enough. Enzymes from the microbes are likely to have a combined effect that ultimately speeds up degradation as well, but that is a more complicated process and so it is not so easy to estimate the rates.


    Low pH, exposure to water, oxygen, and time will help. It seems like it degrades quite quickly in water if oxygen is present, but in lacto fermentation you do want to create an anaerobic environment so you might have a quick degradation followed by the formation of a protective atmosphere.

    The lowering of the pH will then help speed up the degradation again, but not as much as oxygen does.

    Have a look at the following paper to see curves of how agaritine degrades in water in the presence of fresh air, in a closed vial, at different pH levels:

    Hajšlová, J., Hajkova, L., Schulzova, V., Frandsen, H., Gry, J., & Andersson, H. C. (2002). Stability of agaritine-a natural toxicant of Agaricus mushrooms. Food Additives & Contaminants, 19(11), 1028-1033.

    Since you have a microbiologically active community, you also have access to the enzymatic pathways. I have not found a specific paper about agaritine during fermentation. I can find other articles describing enzymatic transformations and degradation. Some of these transformations can change the molecule into more toxic forms, and other enzymes move it towards a degraded product. What I expect that you will see is that the net effect of having a complex enzymatic mixture will be faster degradation, even if the pathways may cross the more active toxic intermediates (which would also probably form in your intestine), these will only form for a short time and degrade.

    You can refer to the paper below for specific examples of the enzymatic transformations that I am referring to. In this paper, the enzymes come from mushrooms that are ground into a liquid, and so they are mushroom enzymes. In the context of fermentation the source of the enzymes would be excreted by the fermenters into the ferment. These enzymes would likely not be specifically evolved for agaritine but instead represent general classes of enzymes that affect functional groups that are present in agaritine. It is difficult to make specific predictions.

    Walton, K., Coombs, M. M., Walker, R., & Ioannides, C. (2001). The metabolism and bioactivation of agaritine and of other mushroom hydrazines by whole mushroom homogenate and by mushroom tyrosinase. Toxicology, 161(3), 165-177.

  • I have used XMPP for some time now and I tried Matrix for a bit, but have stuck with XMPP until now.

    I found it practically very easy to set up a prosody XMPP server in a raspberry pi. In XMPP you have the core standard that is kept quite minimal and then you can extended your implementation using XMPP extension protocols (XEPs) in a highly modular fashion. This approach of building on top of a light core using well-documented extensions I like very much.

    With Matrix, JSON is used instead of XML. I think that JSON is a nice format when trying to look under the hood at how the message data is structured. XML is a bit of a pain to look at in my opinion. And I think JSON might be more efficient in how it moves the data around. So, that is a big positive for me. But I Matrix appears to be more focused on being feature rich than on having a flexible modular structure. While it does have extensions, successful extensions do have a chance of being eventually integrated into the core protocol. This makes the core feel bloated to me, because I have very minimal requirements.

    In terms of security, in XMPP you start with the core and then you select the type of encryption that you like (OpenPGP, OMEMO, etc). OMEMO encryption has plausible deniability built into its design, and for me, plausible deniability is a property that I consider important for messaging. The modular approach to XMPP also means that these are choices that one gets to make in an active manner, and the protocols are open protocols that come from outside of XMPP. With Matrix you get their encryption protocol as part of the core - it is a protocol that they designed and that you need to accept to use their tool with encryption. It is probably a good protocol, but I don't think it has plausible deniability built in, and that's a choice you did not get to make.

    As for moderation, I don't know. Do they mean moderation tools, or the actual absence of moderators and unmoderated communities? Because the latter is more a property of the people using the tool that the tool itself. You can have your own private communities.

    If someone asks me, I could recommend Matrix but would rather recommend XMPP, depending on what they are looking for specifically.

  • Snowden's Permanent Record book was a strong motivator for me.

  • Ah, bidding technology has advanced since I sniped Tony Hawk Pro-Skater for the Nintendo 64 on ebay. Why start bidding over a week early, though?

  • I find it strange that they are out-bidding each other like this when there are over 8 days left. I am not too experienced with bidding, but I thought that the normal strategy was to maybe place a placeholder bid if there is no activity, but more generally one waits until the last second to set a reasonably high bid. Going on a 1v1 with fast out-bidding over a week early seems bad for everyone except the seller. Perhaps someone can explain.

  • Very cool!

  • Someone needs to explain to Musk how to debug with the JSON so that the ipv6 GUI does not overflow into the git API front-end

  • Good squirrel. Similar to a tan egg

  • Thank you and thank you!

  • A fern vine! From the photo I would not have guessed that it is a fern, that's very cool.

    the entire “vine” is just one gigantic leaf stretching from the forest floor to the tree canopy.

    At the same time pinnae form on the leaf stalk (rachis). Pinnae look a bit like normal plant leaves but they are actually just leaf segments. The pinnae provide the energy for the frond to grow even longer.

    This I find surprising from looking at the photo! I am going to need to do some reading on ferns.

  • Ah! Great observational skills then!

  • Nice! Did you intentionally create this magnificent fern stack, or did it emerge from a fortunate accident?

  • Very lucky indeed!!! I am jealous!!

  • Glad you like it :D

    The ping is very useful. I know that there is a built-in range test, but sometimes I don't need the test to be on all the time, nor do I want to set the frequency too high. Actually.... This give me an idea, I can simply program a command to turn the range test off/on remotely.

    That weather function is nice! The US makes available some nice weather APIs. I have a PinePhone and it has a weather module that relies on a US-based API, but I am not in the US. At least I can find out the weather in Oregon easily. I don't know if there is some similar API in the Netherlands.

    Im guessing you were a C/C# dev based on the function names.

    I helped re-factor some C++-based micro-controller firmware recently and the original code was not following any convention, so I looked at a list of conventions and decided that 'lower camel case' looked like a nice one to pick. So, I have been developing a habit to stick to that. I do scientific r&d and only sometimes need to do a bit of programming, so I'm not sure if I'd call myself a dev!

  • For sure. It is quite basic and I am not proud of the hacky method I used to "parse" the message, but it might be useful for someone looking for a simple way to interface with a meshtastic device over TCP (onReceive) and the Lemmy API (createPost).

     
        
    import json
    import re
    import meshtastic
    import meshtastic.tcp_interface
    from pubsub import pub
    import time
    import os
    import requests
    
    
    INSTANCE_API = "https://mander.xyz/api/v3"
    MESHTEST_LEMMY_JWT = 'Cookie retrieved from browser'
    
    
    
    def createPost(community_name, subject, body):
        url = f"{INSTANCE_API}/post"
        getCommunity = requests.get(f"{INSTANCE_API}/community?name={community_name}").json()
        communityId = getCommunity['community_view']['community']['id']
        data = {
            "community_id": communityId,
            "name": subject,
            "body": body}
        headers = {
            "Authorization": f"Bearer {MESHTEST_LEMMY_JWT}",
            "Content-Type": "application/json"
        }
        response = requests.post(url, headers=headers, json=data)
        return response
    
    
    MESHTASTIC_NODE_IP = "Local IP of the base node connected to WiFi"
    
    def sstrip(text):
     return re.sub(r'(?:\s|,)*(sub|SUB|Sub|COM|com|Com|Bod|bod|BOD)(?:\s|,)*$', '', text.strip())
    
    def processMessage(message):
        blocks = message.split(':')    # Splits the message into blocks, but will also split smiley faces ":)", bad method. 
        try:
            for i in range(0,len(blocks)-1):
                if blocks[i][-3:].lower() == 'sub':
                    subject = sstrip(blocks[i+1])
                if blocks[i][-3:].lower() == 'com':
                    community_name = sstrip(blocks[i+1]).lower()
                if blocks[i][-3:].lower() == 'bod':
                    body = sstrip(blocks[i+1])
            return community_name, subject, body
        except:
            return 'ERR','ERR','ERR'
    
    def onReceive(packet, interface):
        if 'decoded' in packet and 'payload' in packet['decoded']:
            try:
                message = packet['decoded']['payload'].decode('utf-8')
                sender = packet['from']
                if 'Ping' in message:
                    interface.sendText("Pong!", destinationId=sender)
                if message.split('\n')[0] == 'PST':
                  try:
                    community_name, subject, body = processMessage(message)
                    response = createPost(community_name, subject, body)
                    if response.ok:
                      interface.sendText("Post created succesfully!", destinationId=sender)
                    else:
                      interface.sendText("Unable to create post!", destinationId=sender)
                  except:
                   interface.sendText("Exception triggered", destinationId=sender)
            except Exception as e:
                pass
    
    interface = meshtastic.tcp_interface.TCPInterface(hostname=MESHTASTIC_NODE_IP)
    pub.subscribe(onReceive, "meshtastic.receive")
    
    while True:
        time.sleep(2) 
    
      
  • Photonics @mander.xyz

    Are Optical Computers the Future of Computing? - with Martijn Heck

    Quantum Computing @mander.xyz

    Additive manufactured ceramics for compact quantum technologies

    Photonics @mander.xyz

    Parametric All-Optical Modulation on Chip

    Science of Cooking @mander.xyz

    Root microbiota of tea plants regulate nitrogen homeostasis and theanine synthesis to influence tea quality

    Reptiles and Amphibians @mander.xyz

    Mosquito Bite-induced Color Change in Chameleon Skin

    Spectroscopy @mander.xyz

    Ultrafast photochemistry and electron-diffraction spectra in n->(3s) Rydberg excited cyclobutanone resolved at the multireference perturbative level

    Spectroscopy @mander.xyz

    Vector spectrometer with Hertz-level resolution and super-recognition capability

    Botany @mander.xyz

    Genetic control of thermomorphogenesis in tomato inflorescences - Nature Communications

    Biology @mander.xyz

    Mechanisms of extracellular electron transfer in anaerobic methanotrophic archaea - Nature Communications

    Physics @mander.xyz

    Researchers discover new kind of magnetism

    Public Health @mander.xyz

    Why a cheap, effective treatment for diarrhoea is underused

    Chemistry @mander.xyz

    Bistability between π-diradical open-shell and closed-shell states in indeno[1,2-a]fluorene - Nature Chemistry

    Quantum Computing @mander.xyz

    Wave-Shape-Tolerant Photonic Quantum Gates

    Linguistics @mander.xyz

    Computational phylogenetics reveal histories of sign languages

    Photonics @mander.xyz

    Light-driven nanoscale vectorial currents - Nature

    Reptiles and Amphibians @mander.xyz

    Effect of hydration state on locomotor performance and water searching behavior of the terrestrial lungless salamander Bolitoglossa ramosi

    Radioactive @mander.xyz

    Radiation Dose Chart (xkcd)

    Photonics @mander.xyz

    Integrated Magneto-photonic Non-Volatile Multi-Bit Memory

    Spectroscopy @mander.xyz

    A low-energy MHz repetition rate short-pulse electron gun

    Spectroscopy @mander.xyz

    Photonic Spin-Orbit Coupling Induced by Deep-Subwavelength Structured Light