Are you tired of negative thoughts, always thinking of your imperfections, constantly thinking something will go wrong, that no one loves you?  Are you missing out on opportunities due to your pessimistic thoughts? Is your life spiraling down due to this? Well, I too have been there. Since I was about nine years old, all I could think about was bad things, and it eventually became a habit of mine. Each morning before school, I would get killer cramps, diarrhea, and sometimes even vomited before the school bus came to pick me up. My body reacted to my never-ending negative thoughts, and I eventually developed irritable bowel syndrome. So I am here to tell you my tips and tricks that I used to overcome this bad habit of mine. I would like to explain from a psychology point of view how negative thinking affects you. When you think pessimistically all the time, your brain slows down and decreases activity in the cerebellum. When the cerebellum slows down, you will have difficulties solving problems. Another area that becomes affected is the frontal lobe, because it decides what is important according to what you pay most attention to. Therefore, more neurons will be created to support your negativity. The thalamus also perceives your negative thinking. The problem is that the thalamus can't differentiate negative thoughts from danger, increasing your blood pressure and affecting your mood. When stress is produced from overthinking, it can increase your chances to develop mental illnesses like depression, anxiety, and personality disorders. Not only that, but it can also affect our health in ways such as headaches, digestive problems, weight gain, muscle and jaw tension, decreased sex drive, back pain, fatigue, lowering the immune system, and affecting blood sugar. But don't worry, thankfully the brain has the capacity to rewire through training. This can be done by replacing negative thoughts with positive ones. This is easier said than done. It will take practice and lots of patience to control your pessimistic thinking. Here are my tips and tricks that I used. Notice your body language.  Are your muscles and shoulders tense? Do you have back and neck pain? Are your hands relaxed or in a fist? Are you frowning? This is important because your body can tell you a lot about your mental state. Relax your body and then you can calm your mind. Use affirmations. Affirmations are statements that you tell yourself to motivate and influence your mind and body. I tell myself affirmations every day. You can look these up online or buy a daily affirmation book and read one, repeating it throughout the day. Examples of these are, I am filled with positive thoughts. I welcome positivity in my life. Today is a new day, a new opportunity. I forgive myself for past mistakes. Mindfulness Be conscious of your thoughts, witness them and give them names or physical appearances. Then say no and let them go. This trick helped me immensely because I could identify negative thoughts through observation. I noticed how they were making me feel and by giving them names I was able to let them go. Know your triggers. Pay attention to what affects your thinking. Could it be a past situation? Could it be toxic people putting bad things in your mind? Is it a current situation? A bad relationship? I personally sat down and wrote everything I believed to trigger my negativity and then did something about it. For example, I was surrounded by people who did no good to my thinking so I stayed away from them. Distract yourself.  Basically anything that entertains you. I love Netflix and to color while I listen to music. The purpose of this is to quiet your mind for a while until you relax and are able to handle your thinking better. Find a trustful person. It can be a friend, partner, parent, teacher or counselor. Anyone who is willing to listen to you and give you their point of view. I personally have three trustful friends who I can tell what's on my mind and they will help me think more positively because they are seeing my situation from a different point of view. Exercise. You may hear this all the time but honestly this has helped diminish my negative thoughts. When you exercise, you release endorphins which are chemicals that energize you and moderate your bad thoughts. I go on a walk and jog early in the morning. This boosts me to start my day with a positive mind, daily journal. I have a journal where I write anything positive I did during the day. It doesn't matter if you had a bad day, just find one thing. For example, eating a healthy meal. The purpose of this is to train your mind to find positivity in the negative. Not only that but when you are down, look at your journal and see how far you have come. I sometimes even draw in my journal to help bring good thoughts. Self-talk using a mirror. This one may be silly but thanks to it I have the confidence to overcome stressful thoughts. I look at myself in the mirror and tell myself good things like I am beautiful or it will all be okay. I find it powerful to look at myself in the eyes and have a good talk. Be aware of misreading. Misreading any situation could provoke negative thoughts. For example, if you call a friend and they haven't called back, don't draw conclusions. It could be that they are busy or simply not in the mood to talk at that time. I learned this the hard way. The majority of the time I created situations in my mind that were distorted. Don't apply your perspectives to someone else. This one is very important. Each of us has different perspectives and ways of handling situations. For example, if you think, why did they say that? That's something I wouldn't have said. You will only bring negativity into your thoughts. So if you can change this, you will be able to relax more. Well, I hope these tips can help you as much as they've helped me. Keep in mind that your thinking won't change quickly. It will take time and discipline. If you feel that your mental health is getting worse due to negative thoughts, then maybe a counselor or therapist can help you as well. Happy thinking.


This meeting is being recorded and or transcribed. In attendance we have Ingrid Jonas from the advisory committee. We have Julie Hulberg from the board. I'm from NACB. And Nellie is here and Nellie Marvel and two members of the public who they wish to speak. We can introduce them toward the end of the meeting. Sound good? Sounds great. Alright Tanika why don't you pick it up and introduce our invited guests and we'll get down to business. Thanks. Thank you so much Mark. This morning I'm Tanika Scott. I am an advisor with the National Association of Cannabis Businesses and Mark has called our meeting to order. I would like to note that we do not have any written public comments this week that were submitted to the CCB. But I would like to remind the public that if you would like to make a comment you may do so at ccb.vermont.gov as a public intake form. This morning we have an honored guest with us Omar Loryasebal. Did I do okay with that? Thank you very much. Excellent. He has a PhD in microbiology and food safety. So he has a very deep background in food, in the safety of food, in of course microbiology. He understands a lot of elements that are often foreign to us in the public health subcommittee except for maybe Dr. Levine. It's going to bring us a wealth of knowledge today as we go through this last half, which is to talk about the oversight of edibles, the consumables by the consumer. So with that being said, because we do have such a small group today, Omar this morning said that if there were questions in grid or Mark or Gina or even you, Julie, during the presentation, because there are not a lot of a peer, he is more than happy to entertain those. I don't want to speak on his behalf. He has a PhD of course from Auburn University, the War Eagles, and also was a professor for quite some time at the University of Vermont. He is now a consultant and has a great deal of knowledge of what is going on in cannabis, in hemp, and all of the different nuances I would say that we are hearing a little bit about. So with that being said, Omar, welcome and we're going to turn it over to you. Thank you so much, Danica, for the introduction. Thank you, Julie, for the invitation. It's always a pleasure to try to talk a little bit about, you know, manufacturing. And I'm going to start a little bit this presentation. And I guess I thought, Danica, I'm going to try to make it not too complicated. I'm going to try to see if I can actually share this screen. Can you see the screen there? I was doing great before. Yeah, see it. That's it, right? And now I'm going to go and just put the title of the manufacturing hemp product. And we will try to focus on that. And as I mentioned, I would be glad to answer some questions as we go. There are also some, if you see in the lower right corner, there are some numbers that hopefully it's going to appear in most of it. In case you have a question that you want to answer or we'll send it a little bit later. So the outline that I have is just trying to review some terms. Discuss a little bit the 2018 Farm Bill. Discuss also the current position of the Food and Drug Administration that oversees most of the, you know, manufacturing regulations related to safety at the federal level. Review a little bit of difference between food manufacturers and manufacturers of dietary supplement products. Mention the issues about claims. And questions as we go. I would like to acknowledge, you know, Green Queen Candies and Korea Botanical for kindly letting me have access to some of the pictures that I will be presenting. A disclaimer, you will hear something about food safety regulation because I work in the area of regulatory compliance, but I do not provide legal advice. Okay. There are also remembering interpretations about some regulations. Even happens after several years or decades after those, some of these regulations have been implemented. So you will see that implementation is not always a straightforward line as we may think. This topic is still evolving. It's in flux. We have issues still even coming with terms and how we define them and we reshape them a little bit. And the only thing I want to show about my background is that several years ago I started this. I got involved with a journal, a scientific journal that is still going on. It's called Microbial Risk Analysis, published by Elsevier. And we talk a little bit maybe sometimes about what is the concept of risk, which applies quite well for some of these, you know, discussions that we will talk about. When I am asked which one I work with, I always try to explain that I work with food manufacturers. And I use the word manufacturing because it's very easy to differentiate from what we have in our kitchen, right, that the food processing. And because, thanks to FISMA, the Food Safety and Modernization Act, we have a clear definition about manufacturing and processing, which actually are considered, you know, right. You can see in this slide some of those, it includes a lot of things, even going into labeling, packing, streaming, waxing, okay. So FISMA, separation and clearly defined farms and then manufacturing activities. However, if you actually read 21 CFR 117, it will be titled 21 of the Code of Federal Regulation, Part 117, you will find that sometimes they use manufacturing coma processing. I think they were different, but in other times they just put the backslides, meaning they are the same, okay. So there are things like this, all right. One thing that we wanted to cover is the 2018 Farm Bill, which is a very interesting regulation. And the one where we have the term HEM a little bit better defined. We're talking about plants from the cannabis that Eva, you know, species that includes part of the plants that have a PHC content, and this is the Delta 9 tetrahydrocannabinoid content of no more than 0.3% on a dry wave basis. This Farm Bill, really what it did is created the difference between those things that we can see in the left side of your screen that are HEM, that are product with very little content of THC, versus the rest. And the rest, there is the word, you know, marijuana for those. Some states are trying to get away from that word because of the, you know, social connotation. In any case, we're talking about a few cannabis plants that have a higher PHC content. By now, we know that there are specific varieties that will probably get you always to be on the left side. That is a low amount of THC. And that's what we are kind of going into it. It's not a random that I have a light in here and it kind of dark in this area, because I intentionally tried to talk about the left area that is where we have more potential for growth. That brings us to some terms. Cannabinoids are all those products that we substance these compounds that we can get out of the plant, including CBD, THC. THC is the cannabinoid responsible for psychotropic effect. As we said, the cannabis plant can be divided into two groups now, HEMP and marijuana. And again, that term marijuana may probably disappear, I don't know. We are still dealing with those specific terms. So basically, what the farm bill brought is a removal of those restrictions that we used to have through the Drug Enforcement Agency. And as long as you are growing and cultivating what is called inductor HEMP, that are plants that have less than 0.3% of THC, we are okay. And also, the farm bill kind of empowered the Secretary of Agriculture in each state to monitor for the growing and cultivation of HEMP plants, and provides more opportunity to create a farming business and a uniformity for trade. It's important to remember that this farm bill does not change at all the way FDA enforces this regulation, and remember, FDA is regulating food manufacturers. So in that way, with the farm bill, we get all of these organizations of industrial HEMP, the growing of the plant, cultivation, the drying, the creation of this biomass. But once we go into manufacturing, we are still a little bit in limbo, okay? Another term that we have been using, and kind of abusing also a lot, especially in the media, is the cannabidiol, that is the compost from the plant, the cannabis plant, that doesn't have a psychotropic effect. And that product, CDD, now has been associated, has been approved by FDA as a trap, okay? And that comes from a company from Europe that we will talk a little bit more in a few moments, all right? So with that, in 2018, when FDA approved this product, it's starting to go into the direction of approval for drugs. The Epidiolexis I, there are some others where you can see names that are dronobinal, different type of cannabinoids. Some of them are synthetic, some of them have a combination. So we see a lot of research that has been there fighting out for the last 10, 15 years, even with some specific human trials, where, you know, the agency is providing approval but as a drug. So what is the FDA position? Hemp and CDD are not the same. For them, a CDD is still a drug. No use of CDD as a food or dietary committee because it's with a drug, okay? They use, still the FDA is using what is called an enforcement description, the thing giving warning letters is still telling us about the safety of some other products that are appearing in the market and giving us warnings about some of those products. The states are taking a little bit of that role here. It happened a few years ago and the company has to recall a few jars of a product that, you know, was infused with CBD. So for the FDA, the position is still clear. For, based on the Food Drug and Cosmetic Act that prohibits the commerce of products that are dragged into food, that's enough for them to say we cannot approve it and the evidence that the FDA have concluded that those products are excluded. THC and CBDs are excluded from dietary supplement definition. Have the industry tried yet? They have tried several times to get a little bit of an approval of a new dietary ingredient using what is called the SHIA, the Dietary Supplement Health and Education Act of 1994. I briefly want to mention that that act, what it did, is created this opportunity for several old, what we consider old dietary ingredients to be accepted in the market without a pre-market approval by FDA. That's the ingredients that were in the market so for October 1994. New dietary ingredients can be marketed only after a pre-market notification and of course CBD cannot be grandfathered because it was not sold legally in the USA. And also we have GW Pharmaceuticals that brought these products to market as drugs. So back to this, this is where if we go to the right side, we have a still decision with marijuana, the Schedule 1 control staff, that's where states have taken a little bit of a lead over the last decade to start allowing for some medicinal and recreational use with quite a degree of digitalization or not. We're more interested in these other parts. And when we go there, we are under the FDA regulations and there are some products that are coming from him that have been given the grass status, which means generally recognized as safe. And we're trying to find out where these products are going to fit, are they going to go into food ingredients, dietary supplements, cosmetic drugs. And that's where these companies that are getting into the business are a little bit complex and not traditional food companies. They concentrate products, they do extractions, they use words like tinctures or an infusion that are more within, you know, a dietary substance. There are, of course, edibles, of course, but those edibles all come out of extracting something, especially in the areas of the flower where these products concentrate, okay? It can become a little bit more complex because I've seen and I'm trying to filter companies that created products that are considered infused by state regulators before we have some issue with the potential for prostrate and botulinum to grow. I've seen some that have been trying to create, like, an acidified food based on the additional components. So here is where, you know, the general manufacturing state that we are seeing are the traditional extraction, further purification, concentration, mixing, using the term infusion, sometimes the term infusion creates a little bit of, you know, a great flag for some state regulators. The word infusion is used in different ways sometimes. And, of course, packing and labeling. Remember, we are trying, we see that companies are trying to get into the market and they try to use some claims to try to sell this product, okay? So are there any products or by-products from the hemp plant that can be used, really? Yes, those are under what are called the grass notices. Generally recognized as safe. And these are products that can, all of them come from really the seed, whether it is a seed protein, a powder, an oil, because it's known that this part of the plant doesn't accumulate too much of DHT, okay? Or other, you know. So we've come now to this regulatory framework for food manufacturers, right? So I'm just mentioning the basic regulations that are covering a product. Basically, you want to have the environmental conditions to manufacture wholesome food that carry good manufacturing practices. We need to use ingredients that have been approved, that are safe, especially when it comes to additive colors. There are many different types of ingredients that we can add.  Then we need to pack the food in a food approved container. We have to use honest labeling, basically when it comes to the nutrition fact panel, the certain sizes, because we want to avoid, you know, misbranding. And of course, be consistent with those claims. All of that, when it comes to carry good manufacturing practices, the moment the FISMA Act was signed in 2011, created this movement of the CGMPs to a new regulation. They used to be regulated. They used to be codified under 21 CFR 110. Now they all move to 117 subpart B, okay? This is what we have currently for people that are trying to manufacture food for human consumption. It's become a little bit more complex because this regulation also got subpart C that is where we have risk-based preventive controls. That is where I work the most within the industry, how to create those and implement those controls. Those manufacturing dietary supplements fall in a little bit of a different area, different regulation. Dietary supplements are those taken by mouth that contain dietary ingredients, as we were mentioned. There are several examples of those dietary ingredients. You have labels that have to be useful, honest. It allows for some type of functional claims. That's different from food. But the CGMPs for dietary supplements are a little bit more complex. And I just highlighted in there some of the things that are different from the rest of the CGMPs that are applicable to food. You have to have a process control system, quality control, production. There is a lot of, you know, these products are made by batches and they want to have very strict control of the batch records. Here the laboratories play an important role. As you can imagine with this product like CGMP, laboratories are very important and they're going through a lot of different methodologies for testing the potency of the product. We know that those methodologies have quite a large variation still. These are methods that are being developed as we speak. So they have some specific things that are more unique to them. So with that background, where is the industry going? We are all guessing. This is also my guess, right? From what I see, companies are trying to go more into a dietary supplement type of manufacturing because they can make a structural function claim. Why do you want to sell a product as a food ingredient when you cannot make any claim? It doesn't give you an edge. That's what I see with some companies. That brings us to the testing for potency that, as I mentioned, has quite a bit of a variation in the methodologies. But there are also companies going and pursuing drugs. And those are companies with deep pockets that are extracting natural products. Remember, we talk about many different bi-products that can be extracted from the plant, but also going into synthetic drugs. So it's going to be a matter of time to see which is the industry that claims the most out of these bi-products and kind of take it in a way. Remember something. If the agency, and I'm saying the Food and Drug Administration, approve a product as a drug, it cannot be used in a food. It cannot be used as an ingredient, as a dietary ingredient. You can have some of those kind of unique companies that have a specific function. And remember, the way the regulatory process is established in this country, the company has to bring the information to the agency for review for either approval of a new drug or a new dietary ingredient. I think Julie asked me to talk a little bit briefly about the state. This is where also it's very dicey. It all depends. To me, it's how important the business is for the state. Some states are making quite a bit of business out of that. How organized is that? There's a game program out of the 2018 Farm Bill and how much it has been fostered. And of course that goes to the resources. Not all the states have the same resources, right? And that brings us also to financial incentives that are still under development. A few states where I have worked a little bit are here is the state of Vermont. It tells you a little bit about what is there, what can be taxed. Remember in some of these cases there is a taxing by the state that is important. Colorado has developed a little bit of a better website in a way because they have quite a bit of a business in here. And they have a specificity for those that are manufacturing, packing, taxing, and distributing industrial hemp products within the state. And they cover food, diet, supplements, and cosmetics. I'm not going to even mention too much about cosmetics, but that's also an area where we can see more. So what do the manufacturers have to do? Well, they have to be in compliance with the state regulations, get an approval. They use the term standard of identity that is a very interesting one. I haven't seen that term used a lot, but that's a term that refers to a case when we can really have a very good identification of the product that we are selling, whether it's the food or an ingredient. And really the FDA has presented a standard of identity over the year, providing the maybe 250, 270 products that have standard of identities, but other foods don't. So that, you see, we're talking about the development of terms. Maybe in a few years, maybe sooner than later, we may have that standard of identity for hemp products. Clearly they will include these statements, not tested by FDA for efficacy and safety. So although they have provisions to allow for stay within the state, they're also saying watch out, don't go outside the boundaries of our state because you're going into a federal trade, interstate commerce. And of course, don't include health claims. I forgot. Very interesting slide. The Department of Health and Environment is what appears. Great. So they have a nice website. There is a rulemaking. Oh, we are already in the state of California. Oh, yeah. Well, California just recently also passed another regulation trying to promote more. They have a very large website with rulemaking regulations. This is the assembly bill number 45, as I think the governor signed it recently a few days ago. So just as a gist of what is going on there, it's a long one. Now they also have to register with the State Department of Public Health. They must demonstrate that the parts of the plan that they are using are within the 0.3 or less of THC. So they are really not doing something completely new. They are just more promoting the sale of hemp. OK. One thing that is unique in this rule is that they consider the amount of THC in the final product not in between. So you can have parts of portion of the plan that may be above that, which will be considered hemp. I mean, we would consider marijuana, right? Class 1, stuff. And so this is the area where they have a little bit more leeway or more relaxed regulation. They are only concerned about the end product, which makes sense. You have to have testing, again, the labeling. In this case, they say efficacy because, remember, people are telling this product because of some type of claims. All right. It's also interesting because it leaves open to the Department of Health in California to impose maximum serving sizes, which is very interesting. At least I haven't seen it before in other cases. So they are trying to say, as we get to know more about these cannabinoids, we can also try to put them in packets and say, this can be allowed to certain size or concentration or not. So quite a bit of an interesting regulation. Again, they say that in that hemp does not include grafts because for them, of course, it's already accepted as an ingredient by FDA, so it can be used anywhere. Also, it doesn't include hemp that contains derivatives or compounds from the seed, which we know it doesn't have too much of a concentration of these cannabinoids. Interesting terms, manufacturing and processing, preparing, holding or storing hemp products. Very interesting. And it clearly says in the manufacturer that it does not include planting, growing, harvesting, drying, curing, grading or trimming. As you can see, at the state level, they are redefining some terms that again we know have a definition from the agency, from FDA. So basically, let me see if I can go back to here wherever I am. So that's basically what I have as a short presentation. I hope it wasn't too long or complicated. I don't think I'm bringing anything new just a perspective of what I see with the industry going on. Dr. Levine has joined us as well. Welcome, Dr. Levine. He is part of the subcommittee. So in pieces of the discussion this morning, we were discussing that it's coming down to the state of Vermont to determine who would have oversight over the edible pieces. And so if you have perspective on that based on everything that you have seen, we certainly would welcome that perspective. So basically, the farm bill kind of gives the opportunity for the secretary of state in each state to handle the industrial hemp programs. This is here under the secretary of state food and markets, right? Now, everything boils down to what I said a few moments ago. We have this biome. So there are a lot of farms making that. But that's the bottleneck who is going to process that. In this state, any processing of food goes under the food and lodged division of the Department of Health. It's very similar actually to what happened in many other states that have these farm manufacturing, farm growing, harvesting under one state agency and then the manufacturing under another. The same example as I mentioned with Colorado, with California. So really the Department of Health will be dealing with it. In my experience and from what I've seen in the last few years, the Department of Health in different states are really quiet because it's something that falls in their lap without probably knowing too much about it or being too interested about it. The farm bill revolutionized the idea of the farm but we haven't taken good care of the manufacturing. And all the state agencies that are in charge of manufacturing, whether it comes from meat and poultry that will be coming from FSIS, USDA, put safety inspection service of the U.S. Department of Agriculture. I'm sorry, I have to say that. Or the Food and Drug Administration through Steve's and so those two, so all the agencies at the state level follow regulations from federal mandates. They said we will do equivalencies. We will try to be similar to, right, one state that has everything in one group under the Department of Health in New Hampshire right here next door. They don't get money to import the food codes from the federal mandate but they do follow the food codes in a way. It's very interesting because all states still use the guidance from federal mandates. And because there is none, states are kind of quiet. I hope you made sense what I just said. And that's the reason why I see the states, the manufacturers are kind of quiet. They don't respond sometimes. They don't want to engage because they don't have guidance. Are there any questions? Dr. Levine or Ingrid? And Dr. Levine, I realize you didn't see all of the discussion but wanted to open the floor. Unfortunately, I saw only the very last couple of slides. I assume I'll be able to access those slides though. Yeah, and I don't mind sending also like a PDF form for all views to share. Yeah, that would be great. It's a lot to take in but I think for the Department of Health that may put some things and for the CTB into a little more perspective in terms of what is there. Any questions, Mark? Yeah, I'm just, you know, this is a complicated business and I'm assuming that some of the, some aspects of this commerce falls under FDA. Some of it might fall under, I don't know, Treasury Department or other agencies. And it's not, it wasn't all straight out by the congressional farm bill. And I'm just wondering if you think there's more legislative guidance that's needed either at the federal or maybe both the federal and the state level or whether we're going to be able to make our way through this with despite regulatory decisions? So basically I don't think there is a need for more regulations more than just everybody's holding waiting for FDA to make a decision to help. But the problem again comes from the fact that we are still misunderstanding terms. We keep using the term CBD which is a specific one product but that has been kind of hijacked by the drug company. And again, it's against the Food and Drug and Cosmetic Act to go against that. Once we have a drug you cannot put a drug into a food product or a dietary supplement product. So it's not going to change, it has to not change quickly. And the issue is again all of the other drug, all of the other companies that can be extracted, that can use different names, all of a sudden from what is under the regulation of FDA I think the drug company is being very active. That may take a role and may go further and start getting more approval. And that kind of explains why some of the companies are lobbying for this CBD to be a supplement, right? They want as much of this to be a supplement, to find a supplement rather than drugs. And just the FDA recently denied again two applications as a new ingredient, as a new ingredient, dietary ingredient. So they have tried because India has tried many times, many times. I don't know where they can go. I think again the search for new products, new compounds that can have a little bit of a different name. I'm not a chemist, but you see the formula for this product. They're all very similar. So creatives in 31 she's also very attractive for some companies, especially drug companies. Omar, I do have a general question for you as a food safety expert. Have you seen with the use of edible issues as it relates to the manufacturing of the food product, understanding the THC component and what that is, but you know, allergens, anything that could... Right, right, right. So basically no allergen. It hasn't been associated to any allergen, despite products so far. Once you have an ingredient, what we do in food, we use ingredients. And once you consider this product an ingredient, it would follow the tradition that we have in food of understanding what are the potential hazards of that ingredient. I don't think there are potential hazards as long as you treat it... It's according to the food. It's according to how you prepare food. It's in manufacturing itself. Remember, food safety relies on manufacturing practice. In one instance, I worked with a company that tried to do an actual infusion and was trying to use very little temperature because they didn't want to decarboxylate and to eat the product. The Department of Health in that state, whoops, hold on a second. We had chances of crusty and botulinum because you're not destroying the sport. You may have the spales. The vegetative spales, when they have an opportunity, they grow and the toxin is produced in no time, right? And I said, yes, you're right. So that product was chill. That would be one of the worst case scenarios. The others would be just a regular production based on what is the intended use as an ingredient. But remember, I don't see... I particularly don't see an incentive for a food company to use an ingredient like this for which they cannot have any claims because food are very limiting. If there is anything where claims are going to be very, very, very remote, they're going to be food, so you have to be very careful. And these companies are trying to position themselves about claims and that's where, you know, I see the dietize supplements may allow them for that. And of course, drugs. Did any of the discussions this morning center around potency issues? I mentioned briefly that this is an area where we go into dietize supplements and they're trying to do a claim. They're going to have to support that claim with some, you know, testing. And what I see with the testing with potency is quite a bit of variation. It's the methodologies they're developing, the large variability in how they measure it. And so you may have some good protocols for identifying the analyte, the target, but quantification is illogical. And since you are going to go into potency, you need to have a quantification system that have a proficient variation that is small and I think the industry is still struggling with that. But I'm not an expert about that. I mean, that's what I see and some value that I have access to. Oh, when you're saying a quantification system, are you...  That's an issue. The standard serving hasn't been calculated, right? Because we are, again, talking about only less than 0.3% of ESC, but then if you want to do a claim about any effect, you're going to have to show that you have a drug and what is the product or the substance that you have in there, the compound. It's not for a small... I mean, testing for this type of compound is not inexpensive. You know, people use HVLT. There are systems that are complex, but the main issue with that is that... And the front-wheel is very strict on that. They want to have testing done in labs that have certifications and dealing with the food industry for more than 20 years. Not many labs have that. They are all over the map sometimes. So it's very important to have standards and to create protocols that have been validated before you can use them. We are still going through that. Do you have any considerations or have you gotten involved in warning language or warnings on the food products? Do you have any perspective on that you'd like to share? That's right. That's more of a legal advice. My take from speaking to the agency how they behave with others is that they have been kind of just using warning letters but not going to harden the compound. In other things, CBD is prohibitive. You go into the warning letters, you start seeing a lot of association with good manufacturing practices, violations of that. Which, by the way, is probably still 80, 90% of the warning letters are associated to violations of 21 CFR, 117 sub-parties. Are there any additional questions from the subcommittee or from the CCB? I don't have any questions. Thank you, Omar. This actually answered quite a few of my questions. Thanks for that. Dr. Levine and Ingrid will be able to share a PDF version of what Omar presented today. And we thank you so much for your knowledge and your time. And so now, Julie, we are right at Tentill. If we have any comments from the public, we certainly are open to those at this time. Public comments? Just a feedback point. You're welcome to stay. You're welcome to stay. I don't think we have any public comment today. Okay. All right. Dr. Levine and Ingrid, before we were to adjourn the meeting, are there any additional thoughts or anything more you'd like to see on this subject? I will say, Dr. Levine, he did spell out very well many of the CFRs in the presentation as it relates to this subject. Excellent. Mark, I think we can take it away. We appreciate you so much coming in here today and speaking with the subcommittee and the Cannabis Control Board and members of the public from Vermont. To remind everyone who may be watching this, if you would like to make a public comment, you may do so at ccb.vermont.gov with the public intake form. All comments received that way are submitted to the subcommittee members for their review. I'll summarize and bring those up during our subcommittee meeting. Mark, if you'd like to close this act. Well, thanks, Omar. If there are no further comments or questions, then do I hear a motion to adjourn from one of the members? Make that motion. Thanks, Ingrid. In a second. Do we hear a second? Thank you, Mark. We use adjourn. Thank you, everyone. Bye.


Greetings, everybody. My name is Dr. Vivek Darga. I'm a junior resident at Justice K. S. Agra Medical Academy at Mangalore. Today, we are going to discuss about MDCT evaluation of acute non-traumatic vascular mesentry pathologies. Mesentry pathologies, especially mesentry ischemia, are increasing in incidents as the population ages. High morbidity and mortality rates are largely related to delayed diagnosis of these conditions. Conventional angiography has always been considered to be the gold standard for the diagnosis of ischemia, which is an invasive procedure. Whereas MDCT is now regarded as the first line imaging modality to confirm the clinical diagnosis or suggest an alternative condition, which may explain the patient's symptoms. The aims and objectives of our study was to present the characteristic multi-detector computed tomography, that is, MDCT features of non-traumatic acute vascular mesentry pathologies. Ours was a retrospective study of 15 patients, which included nine men and six women, who had underwent CECT study between January 2020 to September 2022. These CECT examinations were conducted with GE128 slice CT scanners at the Department of Radiology of Justice K. Sagrange Irritable Hospital at Mangalore. Images obtained during the RTL and the venous phases were analyzed for the presence of findings involving the mesentry in patients who presented with acute abdominal pain. And who had no history of trauma. Moving on to the results of our study, the age distribution ranged between 26 and 73 years with male predominance. The male is to female ratio for our study was 3 to 2. The causes of acute mesentry pathologies that we have covered included mesentry ischemia. So out of these 15 patients, seven cases were of mesentry ischemia, seven cases of omenital infarction, and one case of epiploic appendicitis. The demographic data of patients who presented with mesentry ischemia, sort of those seven patients, six were males, one was a female. Out of these seven patients who were diagnosed with mesentry ischemia eventually, five of these patients presented with acute abdominal pain. One patient had a history of infective endocarditis while one patient was a known case of pancreatic carcinoma. The findings in patients with mesentry ischemia, the most common finding that we found was hypo enhancement of small intestinal walls, small intestinal loops followed by peaches of small intestinal obstruction, pneumatosis intestinalis, and the presence of SMA thrombosis. While mild asitis was seen in two patients, which was the least common finding in our study. So here we can see axial and acetyl image, arterial phase, amyp image, which shows the presence of a thrombus in the superior mesentry cartilage. So here we can see there is absence of contrast filling, which suggests presence of thrombus. This is an axial image which shows the bobble loops being very thinned out, which is what we call as paper thin small bobble loops. So because of ischemia, the bobble walls will become very paper thin. Some of the patients also presented with features of small bobble loops. Here we can see there are multiple dilated small bobble loops with air fluid levels and prominent valvular conventus. Here we can see air density is noted within the wall of the small bobble, which is called as pneumatosis intestinalis. And the pneumatosis intestinalis was quite severe in one case, which also extended to involve the portal vein and its branches. So here we can see the axial image and the coronal image showing the presence of air within the portal vein radicals. The second condition that we considered was omental infarction. So we had seven cases out of which four were males, three were females. So these cases were clinically presented as right lower abdominal pain, who were clinically diagnosed as acute appendicitis in four instances. While these patients presented with right upper abdominal pain and clinically they were suspected to have acute cholecystitis in two cases. Whereas one patient was a female who presented with left lower abdominal pain. She had a history of hemorrhage exist in the left ovary in the previous scans. So based on that, this presentation was clinically suspected to be a rupture of that hemorrhage left ovarian cyst. So we performed in the city of these patients and the clinical finding that we found in all of these cases was, so there was involvement of the greater omentum. The lesion or the fat density, fat standing that we saw was about round to oval in shape.  And we could not define any continuous or any peripheral margin for this lesion. Etiology of omental infarct, primary infarct as we'll discuss ahead. So in these cases, we could not find the cause of this infarct. So hence the name primary infarct was about five cases. And secondary infarct, so these patients who had secondary infarct, they had a history of inguinal hernia previously. So that was the cause of omental infarct because of the torsion in these cases. Moving on to MD60 features of omental infarction. So something assigned that is typically described as world sign. So it appears as streaks due to the whirling of omentum on its vessels in a concentrated pattern. Usually these lesions measures more than five centimeters are about triangle, oval or round in shape. They are heterogeneous, fat density lesion and they do not have any enhancing room. Usually these are not associated with any bobble ball technique. However, if the omental infarct is close to any adjacent bobble loop, so a reactive wall technique in those particular loops can be seen. So this is what is defined as the world sign. So the arrow that you see here, so this was about hazy omentum with concentric hyperdensity and whirling pattern. As you can see, it's like a cyclone as it whirls around. In the right iliac fossa and which is abutting the cecum posteriorly as marked in the image. This was another case which showed a fat density lesion with hyperattinuating streak infiltration between the abdominal wall anteriorly and the transverse column posteriorly. So this was a case of omental infarct in the right iliac fossa. So the patient presented with RIF twin and clinically what was suspected from the surgery department was likely acute appendicitis. However, this was the CCT finding. This was another case which demonstrated actual and coronal contrast images showing oval fat density lesions. Again, we can see that bobble sign and streaky appearance with the broad base towards the parietal peritonium. The region was noted here again between the ascending column and the anterior abdominal wall. Another image, again, here, we do not see the classic wall sign. However, we can see very hazy and a streaky appearance of fat density mass in the right iliac fossa, which is again abutting the parietal peritonium. And this was one case which was a case of secondary omental infarction. So this was area of fat density, as you can see this curved arrow herniating into the right inguinal region. So the patient already had right inguinal hernia and the omentum was content of it. So because of the omentum twisting, the omentum, regional omentum underwent infarction, which gave rise to patients symptoms. The third entity that was epiploic appendicitis, we encountered one case that one case was a female. So this, again, a patient presented with left lower quadrant pain and she was suspected to have ruptured hemorrhagic ovaliancyst again based on a previous ultrasound report. So it was just clinical suspicion. So the finding that we found in this particular patient with epiploic appendicitis was a paracolonic void fatty mass. It was well-defined hyper-retinuating rim around the mass. So unlike omentum infarction, here we could make out a very well-defined hyper-retinuating rim and occasionally a central high attenuation was found. So the reason for all of these findings was why do we see it as an ovoid fatimus because epiploic appendicitis, they are usually tubular fatty structures. A well-defined hyper-retinuting rim was found because it represents the inflamed peritoneal lining surrounding it. And why do we find a central high attenuation areas? The reason for that being the thrombose vessels in the center and because of the hemorrhage, the area appears hyper-dense. So this was that image which showed a very well-defined rim enhancement here and central high density because of the hemorrhage. And this peripherally enhancing rim represents peritoneal inflammation. So this was a case of epiploic appendicitis in the left ilac fossa, but clinically the patient was suspected to be having a ruptured hemorrhagic system. Moving on to the discussion part. So mesentric ischemia occurs when there is compromised blood flow to the small intestine. It is typically classified into two types, acute mesentric ischemia and chronic mesentric ischemia. We'll be dealing only with acute mesentric ischemia. So in acute mesentric ischemia, as we move ahead, the causes can be because of either occlusion to the arteries or vessels or it could be non-occlusive. So when we talk about occlusive, it could be either occlusion to the arterial supply or occlusion to the venous supply. So again, in arterial supply, a thrombus would be forming or eventually it may embolize. Whereas in venous, the occlusion would be definitely because of thrombosis. So acute mesentric ischemia is one of the most serious and life-threatening abdominal conditions with an estimated mortality ranging up to as high as 80%. Amboli to the SMA, supidine mesentric artery, are typically associated with cardiac arrhythmia such as atrial fibrillation. Now why is SMA very prone to be getting involved in it? Because SMA has a white caliber lumen and it has a narrow angle takeoff as it originates from the abdominal aorta below the celiac axis. And hence, these conditions make the supidine mesentric artery more susceptible to these amboli. So if you have a large embolus, it will most often lodge in the proximal part of SMA because a larger embolus will not be able to go beyond it. And hence, it will result in extensive involvement. Whereas smaller emboli will lodge further more distally and may affect only small segments of bobble and owing to availability of collateral flow, the rest of the bobble loop may be saved or may not be involved. Just like we mentioned about occlusion of the arteries. So ischemia can also occur because of thrombosis of the mesentric veins. However, it's a very lesser common cause of mesentric ischemia. So patients particularly with hypercoagulable states or who have polycythemia or patients who are taking oral contraceptives are susceptible in presenting with thrombosis of mesentric veins leading to ischemia. These were the causes of, these were the occlusive causes of mesentric ischemia. However, there could be some causes like non-occlusive causes. So these occur when there is a decrease in the blood pressure typically associated with either cardiac failure, trauma, widespread sepsis leading to septic shock or certain drugs like cocaine which result in splanknic vasoconstriction to preserve blood flow to the heart and the brain. So in these conditions, what is happening? As such, there is no occlusion in the vessels supplying it, but because of the decreased blood pressure, the condition may arise that is mesentric ischemia. So embolied with the supidermesentric artery accounts for approximately 50% of the cases. As we mentioned, the white calibre lumen and an arrow angle takeoff from the abdominal aorta. These are the conditions that usually will tend to involve the SMM more than the other arteries. The second condition is omenital infarction that we discussed. So the created omentum is a large paternal fold and is continuous with the visceral peritorium of the stomach and the transverse column.  Most commonly, infarction occurs on the right side and it is likely due to a long and mobile omentum. However, this need not be necessary. Omentum, as we know, it covers the entire abdomen and hence, omental infarction can take place anywhere. This omental infarction works classified by Lettna at all in 1952 and it has been cited in many studies. So the classification that they give is into primary and the secondary. So secondary omental infarction is caused due to torsion of omental vessels caused by a decision between the omentum and any pathological foca. So in our case, the pathological foca was vernia. It could also involve surgical scar or any tumor. So because of these conditions, the regional omentum may undergo torsion and hence may undergo infarction. Whereas primary omental infarction is called when we could not identify any cause. The third condition was epiploic appendicitis. So again, this is a very close differential diagnosis on CT for omental infarction. So appendices epiploic are pedunculated fatty structures which arise from the serosal surfaces of the colon. So what basically is the pathophysiology of epiploic appendicitis is these are pedunculated, shaped and they're quite mobile. So sometimes they can undergo spontaneous torsion as a result of which they could either undergo ischemia or hemorrhagic infarction, which will lead to local inflammatory process and hence later on inflammation leading to epiploic appendicitis. So what happens is when they undergo torsion and when they bleed, so it will have a central hypertensive region and the peripheral rim that we discussed is because of the peritonal inflammation. These are the three conditions. So the take home message from today's paper presentation is that MDCT depicts misintric ischemia and its underlying causes also its severity. Knowledge of imaging findings of various misintric pathologists can guide further life-saving interventions in serious conditions like acute misintric ischemia. At the same time, it can also avoid unnecessary surgical interventions in self-limiting diseases like appendicitis and omental infarction. So all these cases of omental infarction and appendicitis in our institute were treated conservatively for two to three weeks and all of these patients had basically no symptoms after that treatment period and hence unnecessary surgical intervention including laparoscopy or laparotomy was prevented in all these cases because of the diagnosis based on MDCT features. Omental infarction should be considered important in the differential diagnosis of acute abdominal pain which can mimic acute appendicitis. These were the references for my discussion. My name is Dr. Vivek Ramesh Nelda. Thank you. Thank you very much.


What's going on everyone? Sam here with late in sports cards, ripping one box of 2022 Panini Immaculate UFC hobby for Scott N. So good luck here. Scott, let's do it buddy. See what we've got. See something wild come out of here. That's cool. I know that's going to be a cool auto. Jalen, or Jalen. Gilbert Burns, that is 30 out of 49 for Welterweight. Nice one there on the base. Gilbert Burns. We've got, coming up next is a TJ Dillishaw, 82 out of 99. That's nasty. That's so nasty. Dude, these are so freaking cool. TJ Dillishaw. We've got, that is Carol Rosa. Two of three on the Venom Patch. Congrats Scott. God, those are so sick. Fighter worn slash used material. Very nice. I love these Venom. I need one of these in the Venom Patches. They're pretty cool. So cool. So freaking cool. Congrats on that. Very nice. We've got Heavyweight 6 of 99. All time great is Mark Coleman. Nice one there. All time great. Next up we've got rookie 60 out of 99 is Adrian Yanez. That is Shadowbox Signature. Adrian Yanez. Very nice. I love this guy. I've got to get an auto just because of the way he signs it. 99 of 99. Rookie Shadowbox Auto is Jalen Turner. That is signed Tarantula, his nickname. So cool dude. So freaking cool. Very nice. Congrats on that Scott. That is awesome man. Love to do it for your break there. Scott, thanks again for the support buddy. We will get those right out to you man.


Good afternoon everybody. Welcome back from lunch. I hope you're not gonna be in a food coma in a second Welcome back to track one I'm gonna introduce mark SP. He's for the people that don't know him He's one of the the package and ports gods from open VSD and he's gonna do a talk about it. So mark Thank you very much, Michelle. Oh well I'm very happy to be doing this talk For once I get access to an electrical outlet so I can use my phone and my computer which is complicated here and I'm going to talk about Architectural issues in the part three First I wanted to address what I would call the elephant in the room. No, I'm not going to talk about package ad the speed up Recently for those of you using open VSD. It's going much faster. It's also an interesting topic But I already decided I wanted to talk about something else so Architectural support in open base report three The first thing I want to say is that we have some very strict policy about things like our Chief let's say our leader maybe doesn't believe in cross-compilation for Anything except bootstrapping systems. So I think We have a very strong tendency to refuse to cross-compile anything Including packages which has advantages and which has also some drawbacks The main advantage obviously is that it's almost the best stress test you can find for general purpose computation like you have some people like Alexander who is Working a lot with networks and who is giving us lots of grass for network bandwidth But whenever you want to use a machine to do something else Be it compilation or be it using web clients or anything You really need it to work and When you are building cages You are stress testing the memory the swap the disk NFS to its breaking point and beyond especially with respect to NFS most of the time So it's still a good idea.  Let's hope it doesn't happen again One nice thing about having lots of different architectures and that you have variations So this is not specific to the part three some parts are not even related to ports Street element is something which is fun like trying to work with a son and discovering suddenly that Won't work because it does shit with its pointers and everything Indian versus sweet Indian obviously That's mostly a headache for cross-compilation is this most issues have been fixed years ago Characters like this. I'm not sure this is even Interesting actually It's just a poor choice on the part of PPC people and we have to leave it We have stack That's a curiosity like if you are running HPP You have to realize that the stack goes up road and not done once So this means that you're mostly exempt from buffer of the flows and the founder flows don't happen that often so Yeah, there are all the issues with the architectures stuff like Register windows goes down on the spark and stuff like that And also some can surf like for instance, you have some architectures where where you start stressing on the system You will run out of cannon memory and that might be an issue The actual biggest issue with architectures in the post tree We are going to talk about that a bit more later is compiler banks Well, obviously for anybody who's tried to do ports and who's tried to compile them on Anything that's not Intel 64 bit So I wanted to talk about this because this is a topic. I've never talked about before and there are lots of Small bits and pieces that slowly came together over the years And it's not finished. It's never finished. Anyway, there are some interesting points that might be Useful to know if you want to play with open busy ports and might be also of use for People working on the verb is this most might get some cool ideas to improve our stuff So what's an architecture? Architecture 101 I would say I always get confused because I mostly work on Intel but if you have two variables on the system Arch is the exact machine that you have for instance Mac PPC and Machine Arch is the CPU model Most of the times the packages are Specific to a given architecture so machine arch and we don't care about the specific model except for very very specific reasons and The first issue that we are going to run into is that There are variations on some architectures most notably Intel again Which means that if you don't set up your compiler correctly You're going to end up with packages that won't run everywhere. And that's a big issue For instance, you have Minus m arch equal to native which you should never ever use when you are building packages because you don't know what it's going to do on anything except your computer and Usually when you build packages, it's for using them elsewhere So the idea in open busy and I guess behind most Operating systems these days is that you are going to target a given baseline like an firm for instance and You're going to compile everything to work at least on that on that specific make of your CPU and Possibly be slightly more optimized for more Frequent iteration of the architecture, but it should run everywhere There was some Exceptions in the past because of performance issue like for instance there was something called Altevic on PPC a long while ago, that was mostly used for multimedia ports because they would be completely We would those extensions for those processors were really way too soon Over the years we are creating architecture at some point in the past you could run open busy or anything with Nintendo processor and MMU and that's no longer the case I think that by now the bearer is at least that pension level and maybe higher I don't really give a shit actually Some what modern machine and as long as it works. I'm happy with it and we get very very few bug reports from people trying to run stuff from V-hole machines with only eight megabytes of memory or so So again, we are not gentle We try to build stuff so that it works everywhere It means that we have to talk to upstream and this is something really important If you know people who are writing software make sure that they do stuff that can be packaged Like trying to auto-detect everything on a machine and the specific a for that machine is a very bad idea Can be occasionally useful when you want lots of performance But make sure that at least in your configure script or see my stuff as some shit or whatever You get a way to build for okay. I'm going to target this whole family of computers and it should work everywhere You can do tests during a compilation to try to optimize obviously and That's the specific case of usually multimedia ports that need to decode video and stuff like that Why you might want to have some codes targeted to a specific architecture and in that case You must have a set of runtime modules that you are going to plug in depending on what you discovered and Again, it shouldn't be hard compiled into your program It's much easier to do this when you are designing the software and to retrofit it later So if you know anybody who is trying to write multimedia code Tell them before they start before it starts being a Rebolydeck and stuff that we have to patch for years compilers Most people are writing software usually don't know How software distribution works especially open vsd and so they try to do stuff with minus O3 or some over crazy options that only works well on some compilers on some versions of the compilers and We have to patch that away Please as fast as possible make it possible to have C flags CXX flags If possible make it for same options like okay look at C make how you set compiler flags I will set include flags shit so that it is best Yeah, how not to design a configuring stuff If you want to write the next Mason for instance, you have to make sure that this stuff is somewhat standardized and easy to replace for the people who are going to port software Even compilers change default so this is Something really funny a while back People in Clang or GCC. I don't know decided that they wanted to change The name of some option and add some new stuff and they decided that okay We don't want to break with all systems so the options that we have deprecated we are just going to display warning and still exception because you know some people used to specify that and It should still work and Combined that with C make auto-detection of options and you end up with the logs of 100,000 lines of warnings because hey, I have this option. Yeah, it works If we played that it worked. Yeah, I told you there was a warning, but no, we didn't crash so I'm going to use this option Great work was fun. So let's talk a bit more about ports now Over the years we have moved away mostly from tests How could he directly to make files Into time formation that describes what's going on Based on values example, I can say that usually writing directly Seeing that this machine architecture.  I'm going to do that Etc. Is usually a very bad idea especially when you have some ports that Don't work on some architecture or with some components that don't work on some architectures Specifically as When we try to do my stuff Which is what Dpb does and over components on the system If we have special cases each special case Is going to take a tour for instance if a port vanishes somewhere It's going to be invisible in volos or you're going to get one error message at some point and if it supports that Everything depends on suddenly half your parts three has vanished. Why is it? It's hidden behind the test so instead We have used and abused both mechanisms only for our cheese and not for our cheese to say, okay This stuff the specific stuff one compiler on that architecture That's not perfect. We would like it to work, but it's still okay We're still going to get meta information for it and ports that depend on it or Are going to be able to take an informed decision based upon that the port is still around the meta information is still around What do you choose do you use only for our cheese not for our cheese It's mostly a question of laziness, which is the shorter list and Sometimes also you are going to use explicitly broken because it's usually something that should work But somehow a compiler people work something somewhere and we have a bug report upstream And we hope that the gaze that the clung or mostly clung Are going to be able to figure out what's going wrong and how to fix it So we have tools like I said mostly this meta information is fed through two tools We have Dpb which gets a Very large subset of all the meta information that's available in every port who make them bars Dpb is supposed to be a Brazilian to a loss if somehow you can't obtain information for a given package path It's going to give you an error, but it's still going to be able to complete On the other side, we also have SQL ports, which is incredibly powerful way to check the world pod street for any kind of information like Which port using auto conf 2.50 for instance and she got and By contrast SQL ports will error out as soon as there is a port where there is a problem It's actually very useful Because people knew to be open with the port street Are usually going to make mistakes? Like say, okay, it hasn't been to this architecture So I'm not going to decide anything and so you end up with what's the package name? What are the dependencies or this path doesn't exist and We find out very quickly through SQL ports because it's built about once every three days on at least MD 64 and Very frequently on other architectures and if it breaks, it usually means that somebody fucked up Sometimes it's also me. I sometimes break the pearl behind the SQL ports Not very often. Most often. It's individual porters who committed something. That's Not actually the way it should be done So this is an example of what don't var that I just started it at the start of the pot street I stopped it before the end because we have something like 10,000 ports and it would be something like I don't know 20 or 30,000 lines something like that. So for Each package path for instance here archivers such arc You get all the variables that Actually makes sense within the pot street, right? Some stuff is actually written directly in the make file and some of the stuff is just default For instance archivers arc is a very simple port. So there is no multi-package to speak of So you have just one single package Supercage which is called dash in that case.  So we won't even try to grab it on ourselves by ourselves and You have some more information that we are going to talk about like for instance compiler And you also have the full package name, which is the end result So basically you've got a package path with options We're going to talk about flavors and multi-packages and for each full package path Sorry, you end up with a full package name line 31 on this Okay, so far And there is a very small part which is dependent on the architecture when you do it on there you're going to get package architectures for Everything that's actually dependent on the machine you're building it on You have a few ports here and there which don't have any architectures like for instance documentation usually And also some rather big stuff in take life as well I talked about this last year It's useful when you try to produce debug packages because then you know that you don't Like that you shouldn't even try to build debug packages for stuff that doesn't contain binaries So this is a naming game The unique full package path Can be parsed automatically We have code in the port 3 that does that we also have Similar piece of code in package ad obviously For instance archiver slash arc or long slash Python slash 3.10 comma minus test which is the test package of long Python 3.10 And It's unique Which means that whenever you try to change options of whatever you build normally you should end up with a new Full package path, but something that's very deliberate in open basically we don't support having over options elsewhere If you want to have official packages if you really want to build packages with some specific options You have to make them available as a flavor This is more as needed because open basically is still a relatively small project with a very small number of developers So if we had many more options That would be a complete nightmare for bug reports and debugging. It's already difficult enough as it is We can't Take on more So flavors and multi-packages like I say flavors that's just options. You will see it in the middle of your package M and multi-packages, that's just a way to Not lose time Packaging stuff like you build stuff once and you create several packages out of one bit So how does this we had to having several architectures? In many many many cases Port will build on Specific architecture, but somewhat crippled Like for instance, you will have some parts that depend on some stuff that's not available like I don't know was plugins for instance In that case what we do is that we say okay Normally we are going to build the full port But if we are an architecture where this is not possible we are going to pass some options to say okay Don't build this it will fail, but it's not a good idea and This specific part will end up in a different sub package so The usual setup is you have multi-packages Where architecture dependent part architecture broken part is in a separate sub package And we have some glue that goes from having the full list of Multi-packages to stuff that will actually be built on the given architecture It actually looks like this I Took a real port I didn't even take the smallest one because I thought it would be more interesting to show you How this work on some big shit? Yeah, it's support from Raphael. So you can expect some edX as usual because he's only working on stuff That's difficult to port so that's open CV and As you can see the first line here Tells you that the Java part is only going to build on architectures where we have Java support on OpenBSD So I had 64 and 64 and all the until 32 bits Then you have every variable as usual For the main port and stuff that's specific to each package just yet Appended with a dash man or that's dash Java in that case So obviously the sub package names are going to be different Completely different because you want to be able to install openCV and openCV Java at the same time Assuming you want to install openCV Java, which is yeah, I don't know maybe some people use it You have lots of glue some of these glue we will probably talk about later like compiler or LipsyX6 for instance The libraries that the main package depend on the libraries that the Java sub package depend on A choice of compiler again Multi-packages is always going to be man and Java on every architecture We are going to generate a meta-information for both sub-packages You got a manual way to disable the Java part That's a bonus for our infrastructure When you have dependent ports, dependent parts, sorry, that aren't built all the time There's also a way to say okay, I have CPU that Could build the Java part, but I really don't want to Why can I avoid that? You can set the flower equal No Java and then you won't build Java and also Because you have viewer part because you have only forage Java, it's also going to disappear on anything That's not in that list So after that Yeah You've got this line which has most of the magic line 98 Include bezde.port.h.mka Which we'll look at all the variables defined before that and it will create build packages from Multi-packages and afterwards for the configure parts what you do is you check okay Do I actually want to build Java or not? and you get some Configured differences, an extra module for Java You choose a version as well. You get to build depends And if you don't want Java, all you have to do is you have to tell CMake Well, all you have to do is you have to figure out which flag does what in CMake and when it's easy To tell that okay, I won't even try to build Java and that's it The big big thing here is that all the blue, sorry To see the javascript package will only build on these architectures Is declarative you have one thing you're Include file that will do all the magic and after that you have a specific test which isn't really architecture dependent It's only dependent on whether or not you want to build Java Right, how that's clear so far so the specific module is small parts of the original glue for building ports How it works internally is that it is included as a part of the normal ports infrastructure So what you do when you include it manually is you do things in advance. It will always be run And like I said, yeah, it's going to set build packages Stripping down multi-packages depending on pseudo-favorables and depending on availability Depending on the architecture and that's it and it works It also contains some more information Because at some point we realize that as well Very some information which isn't Which is difficult to encode as specific architectures because You're going to have a whole set of ports that follow the same lines So we use your opportunity because it's a natural place to put this information to have a small smallish database of Every property of every architecture on open VSD Well, not every property, but most of the properties that are relevant to the port street actually So you have the full list of architectures that we can support You have architectures with APM support There are some ports that don't make any sense if you don't even have APM working, big Indian architecture, less Indian architectures That's usually not to decide whether or not you want to build something but to set up some specific compiler flex in some cases 64 bit architectures and also compilers again as usual And also we have some other languages in the ports which have their own supports like mono for instance like also camel, like go, like rest and Instead of putting the list of supported architectures directly In those specific modules, we decided to uplift it in a single location Because of performance issue quite simply We could leave a list of OCaml architecture in the OCaml module But then you would have to include the OCaml module Each and every time and that's not same the idea of having modules is specifically to be able to have a somewhat smaller infrastructure Yeah this line line 37 debug info architectures That's not really True, we could have debug packages on more architectures. It's a deliberate choice right now. We only provide Debug packages for those two architectures There are reasons to that related to Actually killing all architectures namely building debug packages on 32-bit architectures is Usually unreasonable. You want to have debug packages for stuff that's large So if you include debug info, it's going to be even larger when linking and we only have 4 gigabytes of memory so usually it doesn't fit and Maybe we Had some more at some point. I don't know That's also the concern that the debug packages have to be on every mirror. Oh It takes about as much space as Full package sets I guess for given architecture. I don't want the mirrors I don't actually have the exact numbers, but the debug packages time to be rather Some numbers I Did a quick break in the port 3 we have currently roughly 10,000 make files and fragments Out of these Bezde.port.arch.mk is only used 200 times Out of these you have about half of them Which are really test on build packages So we have something like 100 ports in OpenBSD That do have parts that do not build depending on the architecture And the rest obviously is using properties. It's saying okay if I am on this kind of architecture I'm going to add this flag to configure or whatever One fun thing for people not familiar with mech is that You can actually use these variables before they are defined Like for instance, it's perfectly okay to say that a given super cage will only be on rust architectures and then Include the part that does define rust architectures Because only for that sub will only be expanded when it's needed So by that point you already have rust architectures defined correctly and then you can do your test as usual So Let's go back to the main subject which is what's going on with respect to architectures and OpenBSD I believe that one thing that we are doing right is that we managed to industrialize everything which means that One things do not build We usually know about it Very early then there's obviously the other issue of having people who care enough to fix it But at least we got the logs. We got everything So the time frame is that we got binary package very early It was mostly because of Teo who pest on me until I fall lead and I decided to go binary packages only If you open the base they post three somewhere around two percent Dpb came into existence thanks to Nikolai Sturm Got something that was so horrible that I had to write it Well, actually it's something that worked, but it was a bit slow you started this Dpb And you waited for an hour and he told you ah there is an error, try again So I tried to do something better These days we have dedicated build farms for most architectures There's still the issue that our leader is very paranoid. So all those build farms are located in his basement Which might be an issue with some architecture, which are not very sturdy so You can ask bug builders how many times we have to Try to talk to Teo to tell him Hey, you need to reset Spark 64 dash 2 or something like that because it says Hank again The fastest architecture is I think still I'm the 64 I Don't know how many machines we have probably two or three and it takes 24 hours to build the full port street The slowest things I don't know which one this is these days, but if you look at a release Usually we see four or five architectures show up on time and Few hours will show up after one or two weeks because it took that time that long to build to try to build everything and We have regular build stats for everything Thanks to you laundry because I think it's still your script that creates the logs and Yeah, this is the time where I Get out of this and Show you the most recent build stats for some architectures. For instance, you can see that on risk five We built 8,000 packages recently Poor PC is much better apparently at 9,700 packages park 64 Somewhere in the middle 64 Apparently almost everything by the thing built. Whoa Yeah, I am on time to time managed to build some stuff, but it's still a small architectures So it doesn't build all that much You can find all those reports as you can see just mark Meaning this archive so you just look for What's the title again? Yeah, blah blah blah bug big report and you will see you have a state the status of every open base the architecture and You have the build Favors for anything that film so if you feel like fixing it and you have the right machine you can try Good luck Let's go back to representation again. How much time do I have 10 minutes probably? so The way I see things is that I'm the 64 is the bellweaver Might be a bit cool English you have this thing that goes really fast and If something breaks on MD 64, it's really bad for us because it's really close to what Muggles actually use so yeah We have to fix things first on MD 64 and Then the over architectures Some trivial stuff get fixed Really easy Some stuff doesn't get fixed because one thing you have to remember is because you have a binary package doesn't really trans You have to try it out and use it If you have some stuff with graphical interface sometimes it can stay broken for really long back for instance architectures with word and yenness Will not talk correctly to graphics card and you will end up with stuff with really fun colors for instance And Also, there are some stuff that we decided Just okay, we put a command there and we do not build this on that machine because for instance It doesn't have enough memory. I think that all machine learning software for instance does not make any sense on 32-bit architectures anymore for the most part compilers I said I wanted to come back to this We have an infrastructure that was really painful to create. I think it's the sixth or seventh iteration and The usual suspects helped a lot in telling me that he didn't work properly You have variable compiler that you set to choose the best compiler for for that specific airport Quarantine open Disney we still have GCC free for M8 8k we have an older GCC 4.2 because of licensing issues and then we have reasonably modern clung We've lived 6x all quite a few architectures these days and we also have More modern GCC version and a more modern 11 version in ports So what you do is you set compiler to the list of compilers that you prefer to use between base GCC base clown GCC free port GCC port It will take the first compiler in that list to try to compile your port the first compiler available in that list to try to compile your port For normal parts you do not have to set this variable, but as soon as you have anything that uses Recent C++ or some new fungals the extensions like in C20 or so You might need to switch to base clown or port clown or even port GCC and hope that it will build The port itself won't see anything because it will try to auto-detect and call CC and C++ and we have just links under The work directory of a port which is at the start of a path and that's it. That's really transparent Also some details like for instance, we switch the linker for at least until 64 bit so you have to pass some options because Doesn't have the default path and try it to all minutes Over languages. Yeah I'm not a fan of go. I'm not a fan of rust mostly because it means that you have to build lots of stuff to have them supported on architectures and The fashion people who are writing go and rest do not care about all stuff. So they're contributing quite a lot in killing all machines So I don't like that We have some small optimization in DPB, but yeah, I don't really have a time. I won't talk about that It's not really important One small detail if you really want you to look at how things work Make is a really odd program because it tries to be lazy except when it is not So early on before 2000 I took apart the main make-five framework and reorganized it so that variables were before any targets and before any tests and Now each time we try to add to that it's a bit complicated, especially when you try to Get some parts of that big make file and put it into a separate file because you are going by nature to mix up variable definitions and test and targets and If you don't do it in exactly the right order, you're almost certain you're going to break some stuff It's much easier this day specifically because we've got lots of tests the fact that SQL ports and DPB report on anything that goes wrong Usually if you try to make a change You will notice it was not a very good idea so to answer the question of What's going to happen with old-style architectures? In my opinion language support is the really main issue by far Ah Youngster don't care about all stuff and we have compilers that more and more resources I'm not sure we're going to be able to support 32-bit architectures for long I don't know if laundry is going to talk about that in this firefox port. No, you have given up, right? Yeah We are no longer really trying to compile anything big 32-bit architecture it does not link quite simply or it takes forever or it takes forever and it works I've tried to mitigate the program slightly You get DPP annotation you can put into a Mac file, which is called Lonson, which is very specific It's a lucky look. I'm a poor Lonson cobalt, right? It means that when you are trying to build this port you won't try to schedule anything else on the same machine so give stuff like firefox of fighting chance that Trying to link on a poor machine that doesn't have enough memory and is going to go swapping but In the end I think that we have to choose Specifically we can still work on lots of architectures, but they have to be somewhat recent ones Stuff that has enough memory is probably still going to be supportive for at least five of ten years, I hope But 32-bit architectures really for mainstream unique systems I'm pretty sure that shit has failed. We should have maybe spoken very low against big languages and stuff that doesn't fit on small machines But it was five or ten years ago. We can't do anything more now Okay, sorry to be depressing, but yeah, still we cut lots of packages building almost everything with this and natively That's it guys questions no questions really Package source what we are doing for a lot of Some of the older and most popular architectures where for example a port of LLVM is not available is we have a secondary version of packages like lib RSVG which has a rust dependency and we're Still shipping an older version that was still written in C for these specific architectures So there's kind of a seamless fallback But in general this stuff is not easy to maintain and there's a lot of problems for this As far as drifting from what upstream is doing and I'm wondering what your take is on this And how you're approaching these big dependencies that are being rewritten in rust or other programming languages That are not as portable as C Yeah, so as far as lib RSVG goes we I think we still have the old one as well and we run into the same issue One big problem is how many people you're going to have that actually use this And which means that how many tests are you going to get like if something breaks When are you going to notice is there actually somebody that uses this first And also it means that you have a big variation of some software and sooner or later upstream is going to Make things completely end of life I don't know if you still have any version of any supported version of Firefox That does actually work with the old lib RSVG or whether you need lots of patches for that to happen I don't think we're currently patching lots of software to work with the lib RSVG It's more an issue of the dependency chain The lib RSVG the old version has some slightly different requirements to the modern version And build systems need to be aware of that We are shipping an old version of Firefox for these architectures as well as what's what we're increasingly using is A fork of Firefox called Arctic Fox which is specifically targeted to support as many CPU architectures as possible And the upstream offer is very BFBSD friendly so I recommend So the big Arctic Fox So the big question in the end is is this old version of Firefox still receiving security updates It's getting lots of security patches back ported to it from the current version But there's some parts that are being rewritten entirely like the CSS library that won't get any patches in the future This is the issue usually you need to have lots of work put into getting that working So assuming you've got a limited workforce you have to choose the better the better I can talk again about something that's really dear to me which is that we have an over browser in our ports 3 which isn't really open source Which is called Chromium because it looks like open source But Google doesn't accept any patches from era event operating systems like us Right now the ports 3 of OpenBSD and I guess that FreeBSD has got the same code days now We got something like 900 patches for Chromium And we tried upstream it in the past and basically Google has told us to go for car cells So this is something that's really important if you want to make things go forward and make sure that BFBSDs are not really dying Maybe try to publicize the fact that Google doesn't work with us That they don't care about whether things work which is something of a paradox because if you remember at first Chromium was done They're using the preset model of OpenBSD So you've mentioned random detection of features and I know that the story for detecting like on x86 you have the CPU AD But for all the other architectures it's like well hopefully there's this color and it's slightly different on every different OS There's some kind of standardization on non x86 stuff that OpenBSD uses I'm not aware of any but that might be a good idea You should talk to kernel people about that You should talk to people working on the kernel about that Yeah that sounds like a good idea I have a small comment and a question The small comment on Rust is also that whatever speaks to the network will likely use encryption Which will likely mean that it will use the ring crate which doesn't support all Rust architectures with only a small subset So this knocks out quite a lot of Rust ports And the question I had is I was a bit surprised about your statement that using machine arch is an extraordinarily bad idea Was it just for selecting port names or package name stuff Or because we have packed things and make files that branch on machine arch all the time I'm not sure I get what you mean So you had a point that said using machine arch is an extraordinarily bad idea Yeah using it directly for tests it usually makes things more complicated If you can use the more generic property stuff only for arch for a given architecture It makes for things that is easier to read This is something that we noticed along the life of a port 3 Each time I tried to add complicated features which relied on tests People, everybody including me would sometimes miss something And create some ports that would work on MD64 but break horribly on something else So as far as possible we try to uplift most tests inside the infrastructure proper And keep the McFly junk to a minimum