Good morning. I'd like to thank Lita for the invitation to come here today and talk to you about our work and how it relates with our HMP demonstration project on atopic dermatitis. We've heard a lot about the gut microbiome and I think it was nicely organized that Susan's talk about the skin and wound healing segues very well into my focus on the skin microbiome. And one of the overarching questions that has developed in our time in looking at the skin microbiome is, do skin microbes influence host skin immunity? I'm going to give some background for those who are not familiar with the skin microbiome work in order to be able to talk about the microbiome and examinitis skin. I'm highlighting here a series of experiments by a collaborator, Yasmin Belcade's group, to highlight some of the differences that we see in that this not only is the skin microbiome different than other body sites, but that the skin immunity and the skin microbial relationship is also distinct. Here, Shruti, who was a graduate student in Yasmin's lab, she treated SPF mice. These are all experiments in mice with antibiotics. And what we can see in the gut that after antibiotic treatment, there's a significant shift in the microbial communities, but you don't see those significant changes in the skin microbial communities. Also, Shruti looked at the immune cells that were in the gut, IL-17MA, as well as interferon gamma producing cells in the gut. And as compared to the skin, once there was treatment with antibiotics, there was a significant reduction in the interferon gamma and IL-17A producing cells. So, in distinct epithelia, there are differential responses to antibiotic treatment, at least in these mice. So, Shruti then went on and in comparing SPF mice and germ-free mice, SPF mice here, germ-free mice looking at IL-17A producing T cells in the gut and the skin, we see here that there are reduced IL-17A producing T cells in the germ-free gut and skin. However, what she then did was topically mono-associated stethepodermidis in these germ-free mice. And interestingly, there were no changes in the interferon IL-17A producing T cells in the gut. However, in the skin, there was an increase of IL-17A producing T cells in the skin after application of stethepodermidis. So we can see here that skin microbes do influence the immune system, but is there a function? Is there a biological result when you do that? So what then Shruti did was use a Leishmanian major infection model. She infected the ears of these SPF mice and germ-free mice. In comparing these two, you see that there is a local cutaneous response in the SPF mice as compared much larger than the germ-free mice, but also you see increased interferon gamma producing T cells in the SPF mice as compared to the germ-free mice. So then when she topically associated stethepodermidis in these germ-free mice, you see an increase in the local cutaneous response as well as interferon gamma producing T cells that are in the ear. And these resemble what you see in the SPF mice, but also here we see in parasite burden that you have a decrease in the parasite burden when you treat or topically associate stethepodermidis. So skin commensals can restore immunity to Leishmanian major infection in germ-free mice. So summarizing this part, the host immunity and microbial interactions in skin are distinct. In mice, skin microbes can tune the level of activation and function of skin-resonant T cells, promote immunity to pathogens, and drive responses locally that are distinct and independent from the gut flora. But what about human skin immunity and microbial interactions? Unfortunately, we don't have a lot of germ-free humans walking around that we can do these types of experiments, but what we have done is started to look at what are the microbes that are on human skin. So again, this is a background for those who are not as familiar with human skin microbiome surveys. These are highly selected due to limited time that I'm not going to go into a lot of all the surveys that have been done. You've seen this figure before, but the reason why I'm showing it again is I want to emphasize that in skin here in pink there is a wide variation in the microbiome that you see in skin as compared to the other body sites. And that is because the skin surface is highly heterogeneous. And that is one of the reasons why in this study we selected 20 skin sites. These are distinct microenvironments on the skin surface, but I also selected them because they were sites of predilection for skin disease, specific skin diseases for which microbes have been postulated to potentially have a role. And David Relman showed this figure earlier, so I won't go into it in detail. But relative abundance of predominant bacteria appear to be dependent on the microenvironment. So we've talked about this throughout yesterday and some this morning, how there are carefully defined cohorts that we have looked at. Most of these are adults. We've talked about what happens. There have been the studies by Maria Gloria looking at the neonatal period, but what happens after that? Ruth Lay talked about at least for the gut microbiome how that can transition in the first two and a half years. But what about the skin? We don't know that information. In the other next transition, puberty. This is a turbulent period of time for our bodies. What happens between as we transition into adulthood? There's something called a tanner stage. For those of you who are not clinicians, a tanner stage is used by pediatricians to assess the level of sexual maturation in an individual child. This is based on the development of breast tissue as well as genitalia, cubic hair, but it ranges from one to five, one being pre-puberty, five being fully developed adult. So what we have here is we had cohorts of patients that were ranging from two to adulthood. So what Julia O. did in our in Julie Segre's lab was take these data and compare them with each other. And what based on tanner stages one, two, three, four, and five, we see the striking difference between tanner stages one, two, three, and tanner stages four and five. This is from the nary's, but we see a similar separation in other body site, in other skin sites. What drives that? Here we see a relative abundance chart, which you've seen a lot in these talks leading up till now. And here is tanner stages one, two, three, and then here is four and five. I do acknowledge that the ends are pretty low in these populations. But what we see in tanner stages one, two, three, that we have increased proteobacteria and more lipophilic bacteria in tanner stages four and five. That makes sense for everybody who's gone through puberty. You recognize that your body is changing dramatically. And one of the things that changes is the further maturation of our sebaceous glands or oil glands in our skin. So it's very possible this may be one of the reasons why we have more lipophilic bacteria, because they can thrive in that type of environment. So we've talked a lot about 16S taxonomic surveys. We've heard some about the Virome and several of the investigators looking at that. But what about the fungal microbiome? So more recently we've published a project looking at sequencing the fungal organisms on the human skin surface. But in order to do this, we had to go back from the beginning and figure out how do we optimize sample collection. And this refers back to the conversation we had in the open force session yesterday. What are the protocols to use? Optimizing DNA extraction, we had to deviate from the standard protocols for extracting DNA in order to optimize extraction of fungal DNA using bead beating, opening the fungal cell walls. What primers would we use? There are individuals who use 18S, some who use 28S. There's the ITS region here, ITS1, ITS2, that stands for internal transcribed spacer region. And so based on our analyses, for us at least for skin, that ITS1 provides more taxonomic resolution. This alludes back to Jean-Clavel's comment yesterday that just because it works for the gut or for the vagina, it may not work for the skin. And so this is for at least in our experience, ITS1 worked better for taxonomic resolution. So what we did was we had 10 healthy volunteers. I selected 14 sites. These are not identical to the ones that we did in the bacterial survey because these are, again, sites that reflect sites of predilection for skin diseases for which fungal contribution may be playing a role. So in 10 healthy volunteers we see here. Then we, if you look at the relative abundance charts, each of these horizontal lines represent one body site. Each of the vertical bars represents one of the healthy volunteers. And one of the most striking things that you can observe here is that malicezia predominates in 11 out of the 14 sites. That's the purple. That's why there's so much purple. But on the heel, toenail, and toe web space, so on the feet, there is much greater diversity. We have fungi everywhere, but it's just a different population depending on where you are. One of the things that you may notice is that healthy volunteer 7 is a bit different. This individual, again, talking about protocol standardization, our eligibility was no one could take, have taken an oral, antifungal, oral antibiotic within six months of being sampled for this protocol. And this individual had completed a course of oral antifungal seven months prior to being sampled. And so it's not clear whether the differences we see are related to residual effects of taking an oral antifungal or whether or not the person's predisposition, they were taking it for a toenail infection, whether a predisposition for a toenail infection represents some difference in their fungal microbial communities. Interestingly, I don't have the data here, but their 16S survey for this particular age, individual HV7, was similar to the other. So the bacterial microbiome was resembled any other healthy volunteer. But it was frustrating to see so much purple. There's a lot of malassezia, that's not that helpful. But one of the questions we had was, what happens if you speciate? Getting down to the speciation level, how do we do that? Well, we couldn't do that based on the databases that were available. So we had to cultivate our own malassezia and do genomic sequencing to actually populate the databases for us to be able to speciate. So when you do that, you again see there is striking site specificity for skin. Sarkis was talking about how there's specificity in the gut, but also we see that for the skin with regards to the fungal microbiome as well. So we can see in this area here, the external ear canal, behind the ear, the forehead, that malassezia restrictor predominates. But in other sites, we have the upper back, the back of the scalp, the inside hip, those are predominant, but you have malassezia globosa. So even though they're all malassezia, there are specific species that we're seeing at these different body sites. So I did mention that we did 16S. So from these same clinical samples, we did ITS, one sequencing as well as 16S sequencing from these samples. And what you see here is interesting anatomically in that those central body sites from the head and neck or core body sites listed here, they have a relatively limited number of growth guards to reach richness, relatively limited numbers of different types of bacteria and fungi. Whereas on the arms, here's the palm, the forearm and the inside elbow, there is a higher richness, a greater richness with regards to bacteria, but still relatively limited for fungi. That's different for the feet here, the heel, toe, ebb and toenail, relatively limited richness for bacteria, but a much greater richness for fungi. So there are these regional differences that cannot be explained just by sebaceous, moist and dry and that it's going to require a lot more understanding about human physiology and skin physiology to be able to explain these differences. So just summarizing this beginning portion, the skin bacterial microbiome is highly dependent on the sampled skin site. The neonatal skin bacterial microbiome varies based on mode of delivery, we've talked about that, that there are dramatically major shifts that we see in the tanner stages 1, 2, 3 versus tanner stages 4 and 5 and that fungal communities over the skin surface differentially vary from the bacterial microbiome. Now I'm going to shift into what my charge was into talking about eczema to skin, specifically atopic dermatitis and then briefly I'll talk about some data from other groups and our group about primary immunodeficiency syndromes and why that's interesting. So for background, those who are not familiar with atopic dermatitis, it's a chronic itchy inflammatory skin condition. It is not considered an infectious disease, it's an inflammatory skin condition, yet these individuals respond relatively well to antimicrobials. So there is something going on that suggests a role of microbes. It affects 15 percent of U.S. children at a high cost financially as well as socially. The quality of life in these children and in these families is severely adversely affected. And I mentioned before there is this association with microbes we observe and when we take care of these patients that disease flares are associated with increased colonization and infections with staph aureus, but also some a subset of these patients are at high risk for severe spread of herpes simplex virus infections and if they come into contact with small pox vaccinees. There is something that's been termed the atopic march in that there are 40 to 70 percent of those with severe atopic dermatitis over time go on to develop asthma and then hay fever. So these three diseases are termed the atopic triad. The incidence of these atopic diseases have doubled in the last three decades in industrialized countries suggesting there may be a possible external factor and this alludes to some of the comments yesterday by Marty and again today that it is unlikely that our human genome could change in that period of time and that an external possibly microbial contribution may be playing a role. Interestingly in mice and murine studies skin exposure to antigens can result in subsequent mucosal sensitization to those antigens suggesting that if we could somehow modify what happens in atopic dermatitis could we then go on and abrogate the development or the the disease severity of asthma which has significant morbidity and potential mortality as well as hay fever. So understanding the trigger triggers of atopic dermatitis may allow us to modify the development of AD and atopic disorders and potentially develop therapeutic targets. So atopic dermatitis is a complex disease it looks very simple here but this is not the whole story but just emphasizing we've talked about barrier the gut barrier earlier today but emphasizing I won't talk about it here but it is important in atopic dermatitis the skin barrier we know in um if you have a mutation in the skin epidermal protein valagran it's highly associated with the development of atopic dermatitis a particularly the kind that goes on to develop asthma and hay fever. We know the immune system is deranged in these individuals in that they have extremely high IGE levels and antimicrobial peptides in the skin are reduced but and we've also talked about the microbes and that is just one component of this complex disease. So our study we recruited pediatric patients with moderate to severe disease and healthy age match controls. I sampled them in characteristically affected sites as I mentioned before dermatologic diseases have sites of predilection where we find that and that helps us in the diagnosis of these diseases but it typically occurs in the anticoabital FOS and the popliteal FOS of that being the inside elbow and behind the knee. We selected the volar form or the inner form as a control site because it's less often affected in in moderate disease and it's an adjacent site. We also sampled the nares because that is a site of carriage for staff aureus and I sampled them during the baseline flare and post flare time points and these are just SCORAD scores which is a method for assessing severity in these patients and you can see that over time their SCORAD increases during the flare and decreases after they've been treated. This figure just demonstrates that when you have more severe disease that we observe a decrease in the bacterial skin communities but that drop in diversity is not everywhere it is very site specific again it is at the sites where we see disease appear the inside elbow and behind the knee but not at all time points this in particular are disease flares these are the natural true natural history of the disease where they have not been putting anything on their skin these the the blue flares are individuals who put on topical steroids potentially two days before seeing us or sometime within the seven days before they were sampled so these flares are truly the natural history of the disease but what are the bacteria that seem to be driving this decrease in diversity so looking at the genus down to the genus level here are the healthy controls these are the baseline time points for the atopic dermatitis the flare time points the no treatment ones versus the intermittently treated ones and the post flare time point and what you can see is that there's a dramatic increase a significant increase in the pink the staph locoxi in the skin of these patients during a flare but we do see increased staff in in proportion or relative relative increase in some of these individuals so that was quite a concern again we had to go down to speciation level because there's staph epidermis staph aureus staph epidermis again is a known skin commensal staph aureus is a fairly common pathogen and so it was important to us at least from the genome level they're very similar so we had to know which one was which because it makes a difference at least clinically and so what we did if you focus primarily on the pink the staph locoxi and we speciated those use it was reassuring to see that most of the staff we see in the healthy controls those are staph epidermis staph hominus known skin commensals but what we do observe is yes there is an increase in the staph aureus that we see even at baseline but it is a dramatically increased during the flare the natural history of the disease we see increased staph aureus but also staph epidermis that was not something we did expect to see but there is that is one of the benefit of looking at the whole microbial community with regards to disease progression and then it decreases once patients have been treated and one of the questions people often ask well you gave them antibiotics but often these majority of these patients were limited their treatment was limited to topical steroids or some of them do take dilute bleach baths which is like having a small swimming pool in your own tub so that's what we observed but what is what remains a question is this this our correlations what happens to get from this point to this point or what can what can we do so that these you never you remain a control you don't go on to develop atopic dermatitis those are questions that remain we did look at the fungal communities on the skin Julia oh looked at this these are baseline flare and close flare for a few of our patients who had atopic dermatitis and although you see fluctuations in the bacteria we don't see as this that type of fluctuation in the fungal communities on the skin so i'm going to shift gears a little bit and talk about primary immunodeficiencies there are some cohorts of primary immunodeficiency patients who have eczema to skin disease and the benefits here are they genotypically have the same mutation they are monogenic disorders and some of these patients have atopic dermatitis like skin eruptions and these eruptions can be antibiotic responsive again and so that was one of the reasons why we pursued these cohorts and asking do common and rare diseases with similar clinical phenotypes do they share skin microbiome features and how does the innate and the adaptive immunity shape the skin microbiome we haven't been able to ask all of these questions but these are some of the reasons that we let we were led down this path i'm just going to talk about two of these diseases in the rest of the time that i have talking about hyper IgE syndrome which have stat 3 mutations as well as another paper that was recently published by dirt jeavers and colleagues looking at stat 1 mutations with chronic mucane ecocutaneous cannidol infections so stat pathway is important it's a biochemical pathway and it's it's involved in so many things but these patients have art risk for infections and hyper IgE syndrome they have staphylococcal skin and lung infections cannidol infections and they can develop secondary aspergillus lung infections so this is the paper i just mentioned by dirt jeavers and colleagues where they looked at stat 3 and stat 1 mutations it's hard to see but these the left most groups these are the stat 1 mutation patients the middle grouping are the hyper IgE syndrome patients or stat 3 mutations and these are their controls but in general what you see just summarizing everything in this little corner at the genus level you see increased carinobacterium species in the stat 1 mutations you have decreased carinobacterium species in the stat 3 mutations you have increased gram negatives that you observe in these patient populations decreased pervitel and decreased fuzobacterialis so you we observe that there are taxonomic differences that we observe on the skin of these patients with primary immunodeficiency syndromes this group went on to do some studies of challenging pbmcs these are pbmcs from healthy volunteers what they initially did was they pre-stimulated them with either carinobacterium asinidobacter or staflococcus and then they challenged them to canada albicans or staf aureus and what this essentially shows is that if they were initially exposed to asinidobacter baomani there was a decreased tnf-alpha interferon gamma and il-22 that was produced on upon exposure with staf aureus and c-albicans in these healthy volunteer pbmcs so exposure to certain skin microbes may alter pbmc cytokine response to pathogens such as c-albicans and staf aureus this is just a snapshot of some of our work looking at patients with hybrid IgE syndrome stat3 mutations but due to the limited time i will direct you to poster 31 where julia oh we'll talk we'll walk you through her analyses that she's looked at in stat3 mutation patients but other primary immunodeficiency syndromes as well so briefly going through summarizing this part ad flares are associated with shifts in the skin bacteria we talked about the different species the specific primary immunodeficiency patients harbor distinct skin microbiota and that altering the skin microbiome may alter the pbmcs response to specific microbes but we need more studies quickly moving into the gaps needs and challenges since i'm running out of time these are knowledge gaps and then i'll go into as owen charged us with finding things that frustrate us on a day-to-day level but knowledge gaps here are evolution of the skin microbiome over life stages what are the physiological factors that contribute to the skin microbiome differences getting down to understanding skin microbiome and immunity interactions trying to expand on what has been done now but to explore that to a greater degree and fully understand how our immune system interacts with our skin microbes and again the importance of human and animal models we've talked about this but moving from correlation to causation but also as our recent survey has highlighted the magnitude of interaction between fungi and bacteria and the role in health and disease but one of the bigger challenges that i i don't think i've seen anything um been able to overcome this one challenge is skin meninginomics and that is due to the low biomass on skin so uh i do have a caveat these are my views i do not represent the views of the government but these are some of the frustrations that we encounter on a day-to-day basis standardization of protocols we've talked about this but particularly for skin i did a non-scientific survey of some of the people who do skin work here and we have different protocols i will admit that we don't follow the h and p protocol we have our own protocol that we've been doing and we've had to modify that from time to time so we are just as guilty of not having following a standardized protocol um the importance of phenotyping patients making sure are they really healthy or what are they normal what diseases particularly atopic dermatitis has several different phenotypes how do we define what is the phenotype we're studying and how do you main um especially you do that when you're at different multiple sites which sampling sites do you do how frequently what is the skin prep the time since antibiotics what sampling method is swabbing still the best way what are the critical metadata fields that are needed and it may change depending on the disease state you're looking at DNA extraction this is really critical um looking at especially when you have low biomass you um it's easily contaminated when you're talking about skin but then when we're looking at fungal organisms we had to modify DNA extraction but the primers pcr conditions just looking at various abstracts in the past and in manuscripts there are they're all over the place um quantitation this is a key question that i always get asked how do you know can you quantify what's there and we can't at this point and that is a major frustration i think not just for skin but in the entire microbiome field more microbial characterization where including genomes where we had to gene you know sequence our own malassezia in order to figure out speciation metagenomics analytical tools particularly if you have low biomass and one gripe about data submission um we even when we're submitting a manuscript and having to do db gap and sra that is a major frustration again my own opinions so then if i can move on to the acknowledgments if they will it's not there we go this um i'd like to acknowledge my close collaborator julissa gray and i have underlined here as well as photos of the postdocs work who i've highlighted here but there are many collaborators um within my own group but then also um collaborators among across different institutions but especially our patients and volunteers thank you very much for your time uh thank you so much for that great talk so we do have time for a question if there is one out there oh come on go ahead that was a lovely talk in your discussion about the areas we need to work on methods i think today as i was talking with a colleague we've seen very few slides actually on the methods that are used in any of the studies particularly in humans whether it was a wet a wet cotton swab whether it was a brush you know i think that as part of the methodological discovery process we all need to disclose or discuss exactly what the methods are as we're going forward even in presenting data such as we have here i know from the papillomavirus field we went through decades of methodological considerations that were critical so i applaud you're you know pointing these out and i encourage everybody to start including more specifics on exactly how they've collected the specimens process stored etc so we can understand that as we're interpreting the data thank you for your comments thanks for a nice talk uh when you show the results uh you show the fungi changes and you went very fast basically you didn't do much comments but i think i saw malassezia globosa increasing in the skin of the in the flare can you comment on on that uh if we're are you talking about the atopic dermatitis one this one or were you talking what or were you talking about the that one yeah so this one i will comment this particular individual was um tanner stage four and so what we see is um it's possibly related to although this was a pediatric patient that they had already transitioned through puberty and had more oils on their skin and so that's why we see that malassezia globosa is dominating potentially in this individual or it may be something unique to this individual and we just with a small and it's hard for us to tease that out thank you for that question thank you thank you okay so for our next talk we'll be uh oh sorry yeah you can clap our next talk we'll be moving on to the lung microbiome our next speaker is Gary Huffnagle he's from the University of Michigan and the title of his talk is the lung microbiome challenging old paradigms about microbes and the host respiratory tract


What's going on everybody? My name is Alex Friedberg and in today's video we're going to be looking at unions. Now in the very last video we walked through joins and I thought it was appropriate to look at unions next because unions and joins are somewhat similar or closely related. And that's because in both instances they're combining two tables to create one output. Now what's the difference? The difference is that a join combines both tables based off a common column. And in last video that was the employee ID. So in both tables we had an employee ID and when you're selecting your data you have to choose either to only select one employee ID or you can choose both employee IDs but they're in separate columns. And with a union you're actually able to select all the data from both tables and put it into one output where all the data is in each column and not separated out and you don't have to choose which table you're choosing it from. Now that may not have made a hundred percent sense but let's look at it real quick in stages. So let's go down here and let's actually join this table together and see what we get. Now the two tables that we're looking at is employee demographics and warehouse employee demographics. So over here we have our employee demographics information and then over here actually down here we have our warehouse employee demographics. Now right now I'm doing a full outer join so we're looking at all the data and if we were to pull this in to an Excel spreadsheet we could just copy this and paste it over here and we would be good to go. And that's because we have all the same columns first name last name age gender first name last name age gender. But if we tried to combine this in a query where we had this information right here it wouldn't work. We cannot get it in the same column and that's where a union comes into play. So let's go back up here and let's actually run both of these. Now as you can see they have the exact same columns and that makes it super easy for what we're about to do. All we're going to do is between these two queries which are completely separate right now all we're going to do is write union. So let's run just this now because of the union you can look down here and the information that used to be in the other table which were in separate columns are now added down below in the exact same order. Now Daryl Philbin was actually in both tables and the reason he isn't showing up multiple times is because this union is actually taking out and removing the duplicates kind of like a distinct statement. Now there's actually another thing called union all and if we do union all it is going to show us all of the information regardless if it is a duplicate or not. So let's run that real quick and they are both there but let's order by and let's do employee ID. So now let's run it and as you can see right here these are exact duplicates and so the union got rid of it because they are the exact same but the union all kept it in because it is showing just the data as is. Now let's get rid of this union all because the only reason why it works so well is because those two tables were the exact same. They were employee ID first name last name age gender so they're basically the same tables just with different information so it made it really easy but we have another table employee salary and let's look at these two tables. So these two tables are obviously very different. They hold different information. Now we would still be able to combine them so let's do employee ID first name and let's do age. Now down here on the employee salary table we will do employee ID job title and salary. Now let's use a union really quick and run this one and it is still going to work. Now why does this work? Well first off the reason it's working is because these data types are the exact same or at least similar so text and text age which is an integer salary which is an integer it has the same amount of columns so three and three so we have employee ID first name and age and it's taking that from the first select statement and it's still using a union to take the data from the second select statement so it's still inserting this information. Now this is not what you want to do because right here we have first name and it's salesman salesman and then our age we have 30, 45,000 and 45,000 is obviously not an age so you want to be careful when you're using a union to combine two separate tables and make sure that the data you're selecting is the same. In the very next video we're going to walk you through case statements. Thank you guys so much for joining me I really appreciate it. If you like this type of content be sure to subscribe below and I'll see you in the next video.


The Navy Cross is a great honor. I will not deny that. The biggest honor to me is my men fought 50 years to get me that. You stop and think they fought 50 years for that. Around September 4th or 5th, 1965, I was watching a news program on NBC News with Chet Huntley and David Brinkley. And I saw a segment on Vietnam and it wasn't a very good segment. And I said, well, I said to my mother, I guess those boys need my help. On April 1966, we were shipped to Vietnam. I was sent off to Charlie 1-3 and I rotated out. I went back to the States. I was assigned to Greenberg, Charleston, South Carolina as a security guard. And I stayed that for a year. Two or three months later, I don't know the time, but I got a QSN to go back to Vietnam. And when I went back, I told myself, I'm not going to worry about it. I said, I'll go and check in and tell them I just left Vietnam a year going on a second tour. And I said, don't give me a job in the rear. Well, they assigned me to First Marine Division.  And I don't want to tell you what I said. But I know what that meant. So I went to Kilo Company, 3rd Battalion, 7th Marines. I was Batoon Sergeant at that time. It was a very, one of those very, very hot days. We had very heavy packs. We were going through rice paddy. It was not totally dry, but it wasn't the worst rice paddy you could be in. We started going through it. And I bet you we had, we had to go about 300 meters maybe, about halfway through where we came down to drop our packs. They were too heavy. We dropped our packs and proceeded to maneuver.  We had walked into an L shaped ambush. They were dug in in bunkers. We were not. We were in an open rice paddy. I only remember one dyke. I'm sure they may have been born dyke, but I only remember one. So it wasn't to me a lot of places that you died. And everybody's trying to get behind that dyke. The fire was incredible. There was a law and a skipper called me back to the CP because my Batoon Commander was down. So I was running the Batoon. So I go back there with my radio man and I wasn't thrilled about that because we had to cross 200 meters of rice paddy to get back to him. We were probably 25 meters, 50 meters away from where the skipper was at. And my radio man took one in the field larger. I grabbed him, we were right there in the dyke. I grabbed him by the slack jacket, threw him over the dyke. It was the best I could because the radio sticks up. And I'm fumbling for the radio because I want the radio. But I got back to where the skipper was and he was telling us kind of where he wanted to maneuver and everything. And then the automatic weapons opened up. It just opened up like crazy. It took the gunny in the shoulder and he fell on me. So I'm banished in the shoulder. It took the skipper that I remember in the leg, hip and shoulder. He's trying to talk on the radio. But he started to stutter. You know, he's losing it. He started to stutter. So I just took the phone away from him. I tell him he's scared of that and I'm the only one talking. Then I come up on battalion and tell battalion this is three assists. I'm assuming kill of six. Well, up until that time, battalion just thought we were at a little minor firefight. And they were kind of slow to react. But when I called in that three assisted assuming kill of six, it got things moving, but not quick enough. We tried to consolidate our position as best we could. There was people all over the place on this front. We tried to get as many as we could back into a safety circle, which again, we lost people doing that because it fired itself. I cannot say enough about the corpsmen. They had their hands full. They all used their all battle dressings. They all used everybody else's battle dressings. And that means they had a scurry from person to person. Where I didn't want to move, they moved. And they all got wounded. Some of them got wounded twice and didn't stop. Around eight or nine o'clock at night, the relief column got through to us. There was 33 of us left at a kilo company. We had 68 wounded, sent them hit numerous times. Many of them critical because they'd been out there for a long time. We had 22 killed. We were ambushed by an NVA battalion. An NVA battalion at that time ran 500, 700 people. We were 113 strong. They were dug into a four to five position. We were outgunned and outman. Kilo Company Marines fought gallantry. You cannot believe how great they fought. The general consensus is if they hadn't given 110%, nobody would have survived. And that cannot be forgotten. Many of those people gave their lives so people could live. I do not want that to be left off and not forgotten about those Marines, especially those 22 died. They did doing their job. Third battalion took people from all over the United States and somehow we meshed together. And not only became an effective fighting force, but became friends. And that's different. They say, you're closer to the guy in the fighting hold in your arms to your own brother. Well, I'm close to my brother. Don't get in on my brothers, but I'm very close to these guys too.


What is up everybody, welcome back to the channel.  If you're anywhere in the freelancing space or digital marketing space or trying to build an agency or trying to do any type of marketing services for clients, I consult with business owners every single day, man. Some of them I'm actually trying to do business with as far as serve them, as far as, you know, bring them on as one of my clients. And then some consultations that I take on, some strategy calls that I take on are with other digital marketers, other digital agencies that are trying to pick my brain and really strategize on how they can better their agency. I've been building an agency since 2016. So if you're new to my channel, I'm out here in San Diego, started focusing on one niche, which was real estate agents and started providing social media marketing and Facebook advertising services to them. And to this day, it's what I still do. Now we're into 2020, going into 2021. And I'm still servicing that niche, but now I'm packaging my knowledge. Now I'm scaling my knowledge in the form of digital courses and now selling that. So that's what I'm really fired up about now is no longer servicing people, meaning no longer fishing for them. And the way I look at my digital course is now I'm teaching them how to fish themselves. That's what gets me fired up. But long story short, what I'm trying to say is that I consult with agency owners a lot, digital marketers, and they're always trying to find out, you know, how can they better, how can I really, you know, give them advice as far as them getting better and going after more clients and finding more clients and really trying to build their business, right?  You don't need to be offering all kinds of random services. Like you don't need to be posting on LinkedIn. You don't need to be posting on their Instagram, running their Snapchat, running Facebook ads, running YouTube ads. You don't need to be a jack of all trades. That's for sure what you don't want to be doing. You want to be focusing on a handful of income producing activities. And that's a few, like literally a few, maybe one or two. And so that's when I always tell them, I say, man, you need to narrow it in.  Pick one, you don't need to do all of them at one time at all, nor do you need to be managing their social media and posting for them. None of that has an ROI at all, like at all at all. In my personal professional opinion, unless you're trying to build a personal brand and be an influencer, then you better be posting 10 times per day. Like Gary Vee would always talk about, right? You need to be posting 10 times per day on Instagram, 10 times per day on LinkedIn. That's a personal brand. Someone that's trying to build an influencer brand and go all in with organic posting. And that's for someone that's building a nationwide business or a international business, right? A global brand. That's when you could do something like that. But if you're servicing clients that are local business owners, you need to pick one. And that one needs to be paid advertising. So you're either running Facebook ads for them, IG or YouTube, right? But another powerful stream of income that you can for sure package into your service is landing page software and email automation. Because running the paid traffic is one thing. You're running the ad, the YouTube ad, the IG ad, whatever, you're running the ad. But where are you taking that click to? So when I'm on Facebook, let's just look at, let's just get into it. When I'm on Facebook and I'm running through, and it could be Facebook, again, it could be Instagram, it could be whatever, dude. I don't care what it is, what platform it is. Whether it's social media marketing or whether you're running freaking Google ads for somebody, it doesn't matter, man. The million dollar question is when I run the ad, there's the sponsor ad on Facebook. When I click on learn more, the million dollar question is where are you taking me? Okay, where are you taking me? Where am I going? Nine and a half out of 10 times, you better be taking me to a landing page. And that's why the other stream of income that you need to be building into your packaging, again, this is for you freelancers, for you digital marketers that are offering services to people, or even if you're your own business and you're building a business and you're thinking, damn, okay, how do I build my business on social media? I'm telling you right now, man, it's paid ads and landing page software. That's it, that's it. So what I see a lot is the landing page software. So if you're offering services to a business owner, you may be pitching social media management. You may be pitching Facebook advertising. But what about the landing page software? That's the most important, dude. When I see that ad on Facebook and I click learn more, where are you taking me? Okay, that's a landing page. So what I highly encourage you to do, man, for those of you that are looking to broaden your services or to justify what you charge people, landing pages can justify that. So if you could package up landing pages, if you could package up sales funnels and put that in with your deal.  You're doing paid advertising for them and you're managing their landing page and email automation software. That's it. Like a business will pay you a lot of money and you can deliver a lot of value to a business by offering just that. No social media management, no posting on all these damn platforms for you.    The 1% is the Facebook ad, the Instagram ad, the YouTube ad, that's the 1%. That's the only tool you need to be doing, man. But again, when they click, you need to be taking them somewhere. And that's the landing page. So if you can be that service provider that provides paid traffic, one platform, right? One platform at a time. Once you master one platform, then move on to the other ones and offer the other paid traffic services with your package. But right now, if you're just starting and a lot of times I'm talking to the beginner. On my channel, I truly believe a lot of you guys that are following my channel are the beginner, the aspiring online entrepreneur. The aspiring online business owner that's trying to crack the code and figure out this whole damn thing, right? Where do I start? How do I start? What tools do I need?  And so again, for those of you that have been following me for a while, I've been talking about cartridge since 2018.  It's landing pages, man. It's cartridge. And I just truly believe, man, no matter where you're at in your journey, this right here is the one stop shop that is the most affordable and the most effective. Shout out to Yvonne. I was speaking to a potential client which is giving some advice consulting to an entrepreneur, Yvonne, earlier today. And I'm like, man, if it's not cartridge, then you're having to pay for all of these services individually and that's what most people do. When it comes to my communications, they're using a MailChimp or a GetResponse or a Infusionsoft or some type of Sendlane, some type of email auto responder for my communications and you're paying anywhere from 50 to 100 bucks a month for that. Then you're doing your landing pages which some of you are using ClickFunnels, some of you are using LeadPages, some of you are using Kajabi, but that's my pages and that's the second software that a lot of you guys are paying for, 100 bucks a month just for the landing pages. Then if you're doing any kind of online booking, online scheduling, online appointments, a lot of you guys are using Calendly and using ScheduleOnce or some of you rookies or even still using Gmail, the online Google Calendar, it's like, dude, step your game up. This right here, myCalendar, again, if you're using a free service like myCalendly, you can only use it for so long in the free version until you have to pay for it and I think the beginning package is like 20 bucks a month. So it's like, dude, if you really turn and build something legitimate, you're already at three softwares, you're already paying for three different online services and it's like, dude, that alone is enough, right? I do everything inside a cartridge. So everything I could possibly need to build my online business and for memberships as well.  It's like, dude, I get all that for $99 a month. It's like, there's no service like that, man. There's no software like that. Just for click models alone, you're paying for landing pages a hundred bucks a month, like just for the landing pages.  If a membership platform, if you're planning on producing and developing membership courses, it's like, dude, I do all that in one.  But I just truly believe, man, it's the software that I live and die by. I use it for my day-to-day business. And I just truly believe every online entrepreneur should be starting here. So there's a 14-day trial. The link is in the description, profitwithculture.online. So here's what I'm trying to say in this video, paid traffic, your landing page software. So if you're providing that as a service to other people, what I recommend is picking one niche. Like don't be, again, don't be a jack of all trades.  You got one restaurant client. You got one gym. You got one doctor. You got a chiropractor. You got a real estate agent.  Like pick one niche. I've been focused on one niche, which are real estate agents since 2016. And the only reason why I even had a passion or a desire to even go into that niche is because I came from it. I was a banker. I was a lender. I was a licensed loan originator dealing with real estate agents for six years prior. So I ended up going into real estate in 2016 servicing real estate agents with social media marketing and Facebook advertising because I came from it. I was able to talk the lingo. I knew the verbiage. I knew the swag. I knew, I just knew it all. I knew the industry, right? I knew I can communicate with these types of people and talk to them as if I was still in the business, right? And that, because of that, because of my background, my experience and all that is what led me to build a successful business. And again, now today, I'm consulting many other type of businesses because I truly believe what I taught real estate agents I could teach to any business owner. So now I'm opening up to everybody, but it starts here, man. It starts with landing page software. So it starts with choosing one niche because if you can go all in with one niche, then you can come in here and start building a bunch of different funnels and have them on deck. So when you bring on new clients, you can offer it in your package. So what I'm gonna show you right here is how you can package it all up. The landing page, the email list, the email sequence, the calendar, how you can package it all up and then either sell it to people or literally give it to them. What I've been doing for the past couple years with my niche is I've been giving it to them. Now, right now I'm in a different account. I'm in a client's account. I'm packaging up all this so she can give it to other people and eventually sell it to other people. But I just thought I'd drop this video and show you how I'm gonna do it. But either you're either giving it to people. Now, why would you give it to people, right? Why was I giving it to people? I have a bunch of funnels in the real estate space that I put together, right? And I have it all packaged up, put a freaking red bow on it. Damn thing is ready to give away. I give it away to justify what I charge people up front. So again, that's how you can package it all up, create another stream of revenue or just package it all up in what you're currently charging and justify what you're charging. So if you're charging 1,000 a month, 1,500 a month, you're able to justify it.  So not only do I have it all built already, it's ready to go, all I gotta do is transfer it to your account and boom, we're in business. But at the same time, I'm gonna manage it for you. I'm gonna manage your landing page. So if anything needs to be tweaked or edited or if we need to change the purple to red, I got you, like I'm gonna do all that for you. Plus the email automation. So as these leads come in, I'm gonna manage that email automation. I'm gonna make sure emails are going out. I'm gonna make sure we're building a list. I'm gonna make sure we're nurturing this list. That's the back end. That's why it's like, dude, everyone talks about the Facebook ad. That's the front end. That's one thing. What about the back end? The back end is the software. The back end is once they click on learn more, let's go to another ad. Once they click on learn more, the million dollar question, they're sponsored. There's the text. There's the video. There's learn more. The million dollar question is when I click on learn more, where are you taking me? That is a landing page, you guys. And once I get to this landing page and I click the button and enter my information, where does that lead go? That's your email auto responder. So that's why this guy, all he's asking for is my email.  He just wants the email because he knows that's where it's all at is the email automation. Once he has my email, then he can nurture that list via email automation and build the relationship and even get me to buy other products and services that he may be providing via email. So rather than running another Facebook ad to me, he could just now communicate with me via email. How powerful is that? So if you are the freelancer, if you're that digital marketer, if you're the one building the agency and servicing clients, this needs to be part of your deal. Of your retainer of what you're charging. You're charging for the paid traffic to run that Facebook ad and you're charging to manage the landing page and email automation software.  Again, you can either give it to people to justify the cost of what you're charging per month or you can sell it to them. You can easily do that as well, man. I know people that sell funnels for freaking hundreds of dollars like hundreds of dollars. So what I'm gonna do here you guys and this will just be a few minutes. We're gonna take literally the next few minutes to do all this. This is this fast and this simple. Inside of Cartra, I could package up every single asset whether it's a tag, whether it's a form, whether it's a video, whether it's a calendar, whether it's an email list, the sequence of pages, all that shit, man. I could package it all up, put a red bow on it and give it to people or sell it to people. So here's how it's done. Inside of Cartra, all I'm gonna do, let me tell you what we have. First of all, in my communications, we have a list. So here is the list right here and it's this list and this list. The sequence is the email auto responder. So not every list is tied to an email auto responder. Not every list is tied to a sequence but for sure you want it to be. You want every list to be tied to a sequence for sure. So there's the sequence right there and then pages, you just saw the three pages right there. This is what I'm gonna package all up and bring over and then the form is also in here as well. So there's the form, videos, I don't think she has any videos. Okay, no videos and then the calendar. Let's see if she has a calendar, no calendar. So it's just those first few and I don't think she has a product listed either. Let's check, no product. Okay, so it's just a handful of assets that I'm gonna bring over and here's where it all starts. It all starts right here under my campaigns.  So what I'm gonna do is I'm gonna give it a name and I'm gonna name this, I'll just name it my funnel and then that's the author, so that's the creator of it, right? And then I'll put funnel from old account. Okay, cool, and then we go create.  So basic info, what we can do is we can create an image, I could put an image there, which is what I'll do. Let's do that. So image thumbnail, it's just making it look pretty, that's all, 286 by 156. Let's go to Canva real quick, 286 by 156, right? 286, okay, so hit custom dimensions right here. 286 by 156, okay, create design. And this is a public speaker, so let me grab something cool. Let's grab a quick image over here on Google. Let's go to public speaking. And let's just go to images and let's just grab an image right here. Let's go with this one, the Art of Public Speaking, perfect.  Let's hit upload, and let's go upload an image from device. We'll go to downloads, grab that image, and then boom. And then all I'm gonna do is just spread that bad boy out. There we go, there we go. Okay, perfect, there it is there, there it is there. So now what we're gonna do is let's just download it. Looks a little blurry, but it's all good.  Okay, so again, you guys, I'm gonna package it all up and I can give it or I can freaking sell it. So that's why you'd wanna go the extra mile and put a cool picture on it and do all that. So here's what I'm gonna do, I'm gonna hit save, I'm gonna hit save and next. And then what I'm gonna do is I'm gonna put, remember, in cartridge everything is interconnected. You must include all assets contained within the campaign. Okay, so okay, I understand, and this is where it starts you guys. So all of these are all assets. I can, again man, pick one niche.  No, back to why I give them, back to why I give them. I almost forgot about that. Why do I give them? I give them because I care about the affiliate commission, the reoccurring residual passive income commission. I'm in it for that. I'm not in it to sell you a funnel for 500 bucks. Like that's not, I don't really care about that. I care about you getting into Cartier, clicking on my affiliate link, which is the link in the description, profitwithCartier.online. So I'll have my clients set up an account first, right? With my affiliate link, and then I'll share the code, which I'll show you right now. Then I'll share the funnel with them, okay? So as long as they set it up under my link, that's what I'm in it for, man. I'm in it for the long-term residual income of Cartier. So I wanna help people be successful, man.  Set up a 14-day trial.  I will give you all my time for free. We'll set up strategy calls, and I'll help you get off to a fast start. I'm offering my time for free, man. So, and I always tell people too, man, forget about the hell I'm saying, set up a 14-day trial to compare it. Like compare it yourself.  It's like, shit, dude, at least compare it. Like you don't gotta keep the 14, like after 14 days, if you don't wanna freaking keep it, freaking cancel it, whatever, but at least compare it, compare it to what you're currently using. And I guarantee you, man, it's night and day. So, set up a 14-day trial, profitwithCartier.online. Link is in the description, and then comment below, or reach out to me. Shoot me an email, hit me on Facebook, DM me on Instagram, whatever. Let me know you set up your 14-day trial, and I will give you all my time for free. Okay, so here's how we do it. Remember, we don't have any products, but she has a list. She has general list and she has women's coaching. So let's add the general list, let's add the women's coaching, and then the tags. Let's see if she has any tags. Okay, perfect. So she has all these tags, aspiring speaker, let's add that, no category, emerging, let's add that, no category, third one, let's add that, no category, one, two, three, four, established speaker, let's add that, requested ten mistake, let's add that, and then let's add the last one, perfect. Okay, so we're adding that, perfect. So now the pages, we just have three pages, so let's add that first one, let's add the second one, and then let's add the third one. Okay, those are the three pages, and also let me explain what the three pages are. The landing page, the thank you page, and then the thank you for scheduling page, which should be this one, but it's labeled top 10 mistakes new speakers make. So that right there is that, okay, and then the sequence, let's go, and she just has one sequence, which is that one, and then the forms, she has that one form right there, and then does she have any automations, no automations, no membership, no portals, calendar, no calendar tracking links, no tracking links, no tracking links, and then that is it, that is it. So look, dude, depending on how extensive you wanna get, you can get crazy with it, man, you can get super crazy with it and create automations, a calendar, like all this, so I'm trying to tell you, man, this is how you can bring value to your client, this is how you can make an additional stream of income, this is how you can justify what you're already charging these clients, package up a funnel, have these funnels ready to go and be able to deliver it when you ink that new client, right, when you sign that new deal with that new client. Again, you can give it to them in hopes of them clicking on your affiliate link, that's if you're in it for the long-term residual income, which is what I'm in it for, or again, you can sell it to them, you can easily package up a great funnel and for sure, minimum for sure, 500 bucks, 500 bucks. You can get 500 bucks all day with a great-looking funnel and the aesthetics have actually really not too much to do it, that you obviously want it to look nice, but it's just the fact that you bundled everything, man, it's a plug-and-play type of deal, like the pages, the sequence, the email list, everything is there, where a person just has to go in once you transfer it to their account, all they gotta do now is freaking edit, change the color, or change the headline, the words, right? Basic editing, and because you're in it for the long-term as well, or maybe you charged 500 bucks for the damn deal, whatever. That's when you'll wanna get on the phone with them and say, hey, man, here's your entire funnel, let's take a look at it and let me show you how to edit it. Like that's what I do, man, that's what I'm telling you, I'll give you my time for free.  I wanna make a monthly residual income on your account forever, right, that's what I'm in it for. So again, this is how I'm able to do it, I'm able to package up the damn thing and give it, or again, sell it. So that's everything we're gonna be putting into this bundle. We hit save, we hit save and next, and then here's what's super powerful as well, man, is that Karcher has an affiliate marketplace where I could package up my entire funnel and have it listed in the marketplace. The marketplace is accessible for every Karcher user. There's over 20,000 people on Karcher, they log in and they come down here to affiliate promos. Let me show you the marketplace. It's under affiliate promos, you come up here, click on marketplace and in here, you guys, I could take my funnel, list it in the marketplace and have thousands of people take a look at it and possibly sell it to thousands of people. So in here, there's so many different things going on. Internet marketing, health beauty, self-help and personal development, parenting, sports, cooking. If I'm in the cooking niche, I can come in here and look for funnels or I can come in here and look for different offers to send to my people. If I'm building an email list of people who are interested in food and diet and nutrition and health, this is just like ClickBank or JB Zoo where I can come in here and I can find different offers that I can offer my audience. So again, I can look for offers or I can look for funnels, which is super extensive. Like, so I could package all this up and list it in the marketplace for sell or I can keep it private, which is what I'll do and then just offer it to my clients or anything like that, you know what I mean? So save it next and now I'm finished. So I go to my campaigns. So now I just package it all up. Boom, there it is there. So here's what I can do now. And in fact, I'm gonna transfer over to my account so you guys know how it works. So look, for example, I just created an entire funnel, right? I just created that entire funnel. Now, if I'm the client, okay, here's how they import it. So all I'm gonna do is I'm gonna come over here to my campaigns, I'm gonna log into this account right here. I'm gonna go to my campaigns. So this is what I would tell a client. I would say, okay, client, I have the funnel already done for you and now I'm gonna transfer it to your account. So all I gotta do is click on the dots, click on share and then just read this right here, copyright, support, no spam, that's fine. Okay, so I'm gonna do that, I'm gonna hit next. And then what I can do is I can generate a share code or I can share with a specific cartridge user. So as long as you know their email, the one they use to sign up with cartridge or you know their username, you can do it that way. Or you can just generate a share code, okay? You can generate the share code and you can activate the one download only so you can have it for just one person and one person only, boom. There's that one code for only one person or you can allow anybody to use that one code and download the entire funnel. So that's what I'm gonna do. I'm gonna just leave it shaded gray, I'll have the share code, anybody can use it and here's what happens. So now I have that code. So now what I'm gonna tell my client is I'm gonna say, okay, client, I have the share code for you.  So now I'm gonna tell my client, okay, go to my campaigns on the left.  Not only am I giving a ton of value by making a damn funnel for them, right? And on top of it all, I'm freaking, in my case, I'm freaking giving it to them. So not only is that a shitload of value right there, but cartridge already provides a ton of done for you funnels already. So look, dude, if it's not my funnel that I'm giving them and the share code and now I'm gonna import the share code, if it's not that, I can come in here to cartridge and look at all these done for you funnels that are free. Like this comes with your 14 day trial. It comes with your freaking monthly membership at $99 a month. You have all these done for you funnels where it's like, all I gotta do is click on the dots and deploy it. It's like, dude, you don't get this with anything else. So not only in my pages, if I go to my pages and I just wanna create and start creating some pages, I click on the green button, I click on my pages to the left, I click on the green button over here.  Let's make that clear. It's not like I built the funnel from scratch. No, dude, I came in here and I used a damn template and I just customized the template. Everything is already done. I can go to personal branding and build a whole freaking website for somebody if I want. I can come over here to webinar registrations page. If you're driving people to a webinar, boom, here's a ton of cool little freaking templates for a webinar page.  It's like, dude, there's so many templates that are already done for you. So not only are the pages already there, but I'm talking about the entire funnel. I'm talking about the list, the sequence, the tags, the automation, the freaking, the whole entire funnel. Like it's already a package and it's already done for you. Not only does Cartra provide that, but again, for my clients, for my crew, for my YouTube fam, I also have funnels that are already done as well and that's what this is all about. So I'm gonna come over here. I clicked on my campaigns. I clicked on available campaigns. Now I'm gonna click on the green button over here to import the share code. So here's all I do. I paste in that share code. I click next. Those are all the assets that are coming over from quote, unquote, my funnel, right? That's what I named it in her account. Campaign successfully imported. I click on close and there is the new campaign. So all I gotta do is click on deploy, prefix, I'll just name it women's coaching association. That's her thing. Campaign is funnel import and that's it, you guys.  So I X out of that and now if I click over here to my pages, bam, that's where everything is at. I click on my pages and you'll see her three pages now inside of my account. I got the pages, I got the form. Let's go click on my form. There's a WCA top 10 mistakes form. I go to my communications. There's the list. Let's look at the list that I brought over. There's the list right there, the WCA women's coaching, the general list. You guys, I just simply took a funnel, gave it to somebody else and now it's in my new account. This would be your client for example, right? Now they'll have that entire funnel in their account. Again, man, businesses will be more than happy to pay you for that, but again, if you're already charging them to run ads, for example, if you're already charging them to run their social media and manage all of that for them, this just allows you to justify that cost even more by giving them a funnel that's already done for them. So you guys, that's how you get it done. That's how you open up extra streams of revenue for your business.  All right, guys, so hopefully that made sense. Again, if you're new to all this stuff, man, my name is David. Smash the subscribe, smash the bell for notifications. I'm out here in San Diego, building an online business, building a social media agency, fired up about digital courses, fired up about Facebook advertising and fired up about Cartra. So click the link below, set up a 14-day trial, let's jump on a call, let's strategize, let's compare it to the other 19 services that you're freaking paying for and let's see if Cartra doesn't make more sense for you. All right, guys, so I'll see you in the next video over now.


So thank you for coming out. My name is Sean Webb. I go by the hand of Lattera online. And as people are coming in, I thought I would introduce Groff. As you all know, this is my lovely goat. He was born at BSD Can. And he was born because I had tweeted, and it caused a tweet storm about how I was preparing for my ASLR presentation for BSD Can. And I had yet to sacrifice the traditional three and a half goats. So Alan Jude and a few others picked it up. And he suggested that Alan Jude pick up a goat for BSD Can so that I didn't have to bring one through US Customs.  I love him. So today's presentation is about address space layout randomization, or ASLR for short. While people are filling in, I'm going to have a moment of arrogance and egotism. I'm going to talk about myself. So my name is Sean Webb. I'm a big fan of open source. And I was introduced to free BSD when I was a teenager. And I had joined an internet and online hacking community. And they introduced me to free BSD and how it's much more hacker-like than even slackware. And I just fell in love from day one. I'm passionate about security. I have been working in the security industry for the past few years. And my first introduction to security when I was about 14, 15 years old and introduced to the internet. A lot of you will recognize the names NetZero and Juno. They offered free dial-up service if you agreed to install a piece of adware on your computer that would dial in to their network for you. And then once you're connected, it would display some ads. Well, I figured that dial-up is precious band with, and I don't want these big banners on my screen. It takes up a lot of bandwidth. So I ran a hex editor and strings. And I found out what numbers they were using to dial in and how they did the authentication mechanisms. And I was able to reverse engineer that and created my own dial-up script to not have to deal with the adware. So from that day on, I loved security. Taking a look at things and manipulating things that the original developers or designers never thought of. I submitted a few insignificant patches to FreeBSD. I worked on setFACL, getFACL. I'm a maintainer of a few ports, which are pretty much defunct now because I submitted them because they were my projects. And I didn't want to maintain my own custom port sentry. Maybe some people use them, but mainly I think it's just me. And I authored a tool called Libhijak, originally for Linux. And I ported it over to FreeBSD and spoke about that at last year's BSD Can. It's a tool that makes runtime process infection and injection of shell code and arbitrary shared objects extremely easy on Linux and FreeBSD. I'm the co-founder of the Hardin BSD project. I'll be talking more about the OpenBSD project at the end of the presentation. And to satisfy my lawyers or my employer's lawyers, rather, anything that I say here, any opinions, ideas, thoughts, implementations, projects, that kind of stuff, they represent me and me only. Well, actually, I'm representing Hardin BSD and SoldierX. SoldierX is an online security community, of which I'm a member. And nothing but nothing reflects any of my previous employers, current employers, or future employers. So what we're going to do today is we're going to talk. We're going to start out with some definitions. So we're on the same plane level. And we're going to go through the history of ASLR. Thank you to Wikipedia University. And then we're going to talk about what FreeBSD has done well in security. And we're going to talk about what needs to what weaknesses they have and what needs to be done further. Since we're a little bit late to the game with ASLR, we have the unique opportunity to learn from others. FreeBSD is really the only enterprise operating system that does not have ASLR. So we can take this opportunity to learn from others, their implementations, and some of the social and political aspects of those implementations as well. We're going to talk next about how we've implemented ASLR and how to use it on FreeBSD. Then we're going to talk about what's next to do, what's left, and then if time permits, because I've only got 45 minutes, a live demo. So security, what is security? It's what Mt. Gox and Sony have in common.  Really, security is an onion. It's an ever-increasing layers of an onion that make everyone tear up. The more layers of security you have, the more time it takes an attacker to successfully exploit your system. Layers of security are called exploit mitigations. An exploit mitigation is a method or technique used to prevent the successful exploitation of security vulnerabilities. One such exploitation mitigation technique is called ASLR, address space layout randomization. ASLR is what it does is it randomizes the memory layout of a program. If you don't have ASLR on your system or don't have it enabled, your program is going to tell the operating system where it needs to be loaded in memory. If it's not loaded at that place in memory, it's going to crash. It's not going to work right. Well, what ASLR does is it allows the program to tell the operating system, hey, I can be loaded anywhere. But so load me anywhere, load me in a random spot, and I'll make do. I'll figure out where I am. I'll figure out where my variables are, where my functions are, and I'll make do. What ASLR helps protect against is very low-level things, buffer overflow attacks, integer overflow attacks. You're very basic and low-level vulnerabilities. But it does not help protect against higher-level vulnerabilities, such as misconfiguring pseudo, or PHP, LFI, or RFI vulnerabilities. Really, we're talking at a very low-level vulnerability here. A lot of people get mistaken that ASLR is the end-all, be-all of security. That once you have ASLR, that your system is completely secure, you don't need anything else. Well, that's not the case. There are techniques to break ASLR. So ASLR is not the end-all, be-all of security. But it is a good first step. It is one of the first layers that you need to apply in creating your onion of security. So a little bit of history. In 2001, the PAX team created a third-party patch to the Linux kernel. And this kernel implemented, among other things, ASLR. To this day, the PAX patch is still distributed as a third-party patch. So that was 13 years ago. A lot has changed since then. In 2004, OpenBSD started their work on implementing ASLR. They get everything except for Pi support, position-independent executable support. We'll talk more in depth about what a Pi is later on.  And they keep doing this even in nine years later, almost 10, they keep doing similar things. What they did is they saw PAX's patch, and they're like, oh, that's a neat idea. Well, we're going to rip off your work. We're going to dumb it down, make it less secure, and market it as more secure. There was a lot of politics and a lot of drama regarding that patch. And I'll talk about that later. In 2007, Microsoft introduced ASLR for Windows Vista. Their implementation sucked for Windows Vista. They had some technical issues and some other big gaping issues that have survived to this day. So we'll talk more in depth about that later. In 2007, Apple started working on ASLR for OS10 and finished it in 2012. In 2008, OpenBSD completed their implementation for with Pi support. So that was the technical base implementation, the technical implementation that was required to finish it up in 2004. Actually, yeah, it was this year, I believe, with OpenBSD 5.5. So it took them 10 years to go from no ASLR to having ASLR fully enabled for all applications in base. And that's understandable. They had a lot of work to do. And in fact, you can see in 2014 Oliver Pinter, which I'm mispronouncing his name. He's from Hungary. And we Americans love to mispronounce names. He and I submitted our patch to FreeBSD. We've been working on it for over a year now. And so it's gonna take us a lot longer to have full ASLR on FreeBSD. I'm gonna guess another few years of work. So what FreeBSD has done well in the security industry is that they've done a lot of policy-based, policy-driven security. They have the Mac framework in Capsicum. The Mac framework is really awesome, really extendable. And Capsicum is a sandboxing framework that you have to integrate with in your applications. A developer needs to integrate with in his or her applications. They have NFSV4 and POSIX ACLs. So file system ACLs that drive security policy. They have secure level, which helps with the kernel so that you can't change, you can only do certain things if the secure level is set.  And AuditDistee, which shares, which sends all your audit logs off to another server so that if an attacker compromises your system, your audit logs are off on a different server that hopefully the attacker can't get to. You can think of containerization technologies and virtualization technologies as a form of policy-based security. If you don't trust your application, then chances are you're gonna wanna run it in a container or in a virtual environment. FreeBSD does have two non-policy-based security technologies, one of which is an exploit mitigation technology and that is the non-exec stack. Prior to, way back in the day, back when Aleph1 wrote his famous paper, Smashing the Stack for Fun and Profit, attackers would store their shell code on the stack and get it to run on the stack. Well, it's really popular nowadays for servers to have the stack as non-executable. So that is an exploit mitigation technique that no longer an attacker can store and run their shell code on the stack. Petrace restrictions, Petrace is awesome. I love it, that's what lib hijack uses. Pretty much makes you God mode in regards to exploiting or manipulating other processes. So what FreeBSD needs to improve on is that it needs to enable the non-exec stack on all architectures. The non-exec stack is only enabled by default on AMD64 and i386. It is not enabled and not even functional on ARM. So we need to get it enabled on more architectures and working on more architectures. We need position independent support, independent executable support in base. We had a patch, I had actually committed, well I didn't commit, I had upstreamed a patch to FreeBSD that enabled position independent executable support. There were issues with that patch and later it was reverted. So we need to revisit that and reimplement it. Of course there's no ASLR and FreeBSD, that's why this presentation exists, why you're here. There's another third-party patch to the Linux kernel that hardens both the Linux kernel and the user land called GR Security or GRsec for short. And my end goal is to port all features of GRsec to FreeBSD, the features that make sense for FreeBSD at least. So we have the opportunity to learn from others and we're gonna learn from Linux today. Linux developers love politics. I think they love it more than actually developing. What they did is they took PAX's patch, which is awesome, it's 13 years old and it's undergone a few changes over the past 13 years but by and large the underlying technique that he is using has withstood the test of time. Well the Linux developers took his patch, completely ripped it out and dumbed it down, imported their dumbed down and less secure version into the Linux kernel and then marketed it as more secure. I remember distinctly all the drama that happened with that. I was about to leave the security industry for the security scene for about two years and that had just barely gone on right before I left. And I remember that as if it were day and night, as if it were yesterday. Linux's ASLR has weaknesses, they're not randomizing enough bits and they're not randomizing them in the right way. And there's only one way you can, if you have a misbehaving application, if you have a close source application, we'll take Flash for an example, Flash does work but I'm gonna pick on it because I hate it. If Flash were to misbehave under ASLR, you would have to turn ASLR off for your whole system because you wanted to run Flash. That's not okay. That means for one application, you have to remove all security in your system, well not all but a good important piece of security in your system. And non-root users can disable ASLR for their applications. All they have to do is call fork and set a special personality, say in this newly forked process, I don't wanna randomize my environment. And then after, so it's fork, set the personality and then exec VE.  Non-root users should never be able to disable ASLR. Windows, so Microsoft today with Windows 7 and especially Windows 8.1 has a really good implementation of ASLR. They're randomizing enough bits and they are randomizing them in the right way. But the problem is that individual DLLs that an executable might import can have ASLR turned off. So this was the case with a major software vendor whose name I will not mention, but they are used pretty much every day by a lot of people to look at documentation and to modify graphics files. They had shipped within this last year, one of their, one of their applications to generate documentation. And this application had ASLR turned on for the executable itself and for all of the DLLs it imported except for one DLL. And because of that one DLL, so what happens is Windows will load that executable with ASLR turned on in all of the DLLs with ASLR turned on except for that one DLL. So ASLR, that one DLL will be loaded in a deterministic way. That means that the attacker is now able to generate exploit payloads based off of that one DLL because it's loaded in a deterministic way. Every single time that that program is loaded up it's gonna be loaded at the same exact address. It's gonna be loaded in the same exact way every single time even across reboots. So that software vendor had done that. They released their application. They had a vulnerability in a DLL that was randomized that had ASLR turned on, but because of the one DLL that had ASLR turned off they were attackers were able to successfully exploit their application relatively easily. They didn't need to do any anti mitigation techniques. They just keyed off of that one DLL and they were able to pop a shell. Fortunately, Microsoft has this tool called Emmet and version 5.0 was released just within the past few months. Emmet is a tool that makes it so that you can force ASLR on and other exploit mitigation technology features on all the time for even for applications and DLLs that say I don't support ASLR. You can still force ASLR to be turned on for those applications and DLLs. So that's a really good, really great product there and it's free and if you run Windows I highly recommend as does everyone in the security industry I highly recommend you run Emmet and you run it in enforcing mode. But what we learned is that ASLR is not the end all be all of security. It's a good first step in exploit mitigation technologies. You can bypass ASLR using techniques called, using a technique called blind Rop. It's a technique that was published earlier this year at the Black Hat USA Conference and so it's a relatively new technique and it's kind of a little bit error prone. You have to try it a few times. Your victim application, your target application might crash while you're trying to generate dynamically Rop payloads. But it's a technique, nevertheless to get rid of, to bypass ASLR. So really what we need, the thing that we can take away from Windows is that we need a combination of exploit mitigation technologies. We're not gonna stop once ASLR is finished. Oliver and I are not gonna stop there. We're gonna continue working on adding exploit mitigation technologies to FreeBSD. And Microsoft has proven that that is absolutely required. So to introduce ASLR and FreeBSD, we support all architectures that FreeBSD supports. We're kind of limited right now because we're doing this out of our own pocket and we have, of course, AMD64 boxes and i386 boxes I have a BeagleBone Black and a Raspberry Pi. The BeagleBone Black was donated to me by SoldierX as well as a Spark64 box. ASLR and ARM is broken and I'm looking for help from people who know ARM well. If you wanna talk to me about the ARM breakage, see me after this presentation, well, see me once the conference is over because I wanna see Edmast's talk next about LDB. That looks really interesting. But ARM is broken pretty much and it's due to the stack and signal delivery. We can talk about that more later. Spark64, I couldn't get a FreeBSD head box, a FreeBSD11 current box, just vanilla running on Spark64. I have an old Spark box donated to me by the same people, the SoldierX community, but it's old and I couldn't get FreeBSD, the vanilla FreeBSD running on it. So we support exec base randomization for position independent executables and we support basic address layout, randomization for executables that aren't compiled as a Pi and we support per-jail ASLR settings. So what a Pi is, a position independent executable is it's an application that is compiled in such a way that it tells the operating system that it can be loaded anywhere in memory. Traditionally, your application will tell the operating system, like I said before, that it expects to be loaded at a certain place and that is due to how the ELF file format works. There's nothing we can do to change the ELF specification. That was created a long time ago by Sun over 20 years ago, I believe. And so in order to make full utilization of ASLR, in order to make full utilization of ASLR, you have to compile your application as a Pi as a position independent executable. We have the reverse problem that Microsoft has. Microsoft has a problem where individual DXC or DLLs might have ASLR turned off. We have the problem of an application itself might have ASLR turned off, but it's shared objects that it depends on or it's DLLs, so to speak, that it depends on will have ASLR turned on. And we can't, there's no way that we can turn ASLR off for individual shared objects. That's because of how the ELF spec works, how the ELF file format works. And that works out in our favor. So when you compile, what you have to do is you have to compile your kernel with a custom option, the PAX ASLR option. And when you do that, you'll have these knobs, these tunables that you can tune at boot time via bootloader.conf. And this is actually defaulted to two now rather than one in our implementation. When you look at the help, when you look at the help for those tunables, you'll see why it's zero, one, two, and three. There's different things that you can set. So the status sets, whether it's enabled, whether you want ASLR enabled, the bug is self-explanatory. The M-map line, that's how many bits of address space are we gonna randomize when M-map is called? The stack length is the same thing except for the stack. How many bits of the stack are we gonna randomize? And the exec base, the exec line is how many bits are we gonna randomize of the exec base of the position independent executable, where that position independent executable, the base of where it's loaded. So what happens when an application, when you have an application that doesn't support ASLR, it crashes or it misbehaves, it exhibits bugs, well what you can do is you can jail it. You can set, you can put that application inside of a jail and have ASLR turned off just for that jail. So you have ASLR turned on for everything else but except for that application or applications in that jail that don't support ASLR. And that's how we learned from Linux that we don't want one knob to rule them all. We want to be able to be flexible and support having security mitigation techniques, exploit mitigation techniques be enforceable on a per jail basis. So what we do is there's a few different ways you can implement ASLR. You can either sacrifice a lot of performance and have an extremely secure version of ASLR, implementation of ASLR. Or you can sacrifice a little bit of security for performance, for a lot of performance. And what we did is we took PAX's patch or we looked at his documentation and we went the performance route, which is the route that he goes with that has withstood the past 13 years. So what we do is we use deltas. We have calculated what we do is we, when a process executes, we generate three different deltas, which you saw from those knobs. The M-map delta, the stack delta, and the exec base delta. And so these deltas are applied in different places. So these deltas are calculated once and anytime you call M-map in a specific way, the delta is applied. So we're not consistently, for every single mapping, we're not consistently calling into the pseudo random number generator. That is one way to do it, but that would cause major issues with performance. Your computer would slow down to a crawl. So using those deltas helps us with performance and we do lose a little bit of security there, but it's negligible. So PAX's implementation does the same thing and it hasn't been defeated yet. Other than blind drop is a technique to defeat ASLR. There's no real way to defend against that except through other completely different mitigation techniques. So one of the problems with position independent executables is that they set their exec base in their headers to a null. So what happens is when you're calculating this delta, zero is a completely valid random number and so our implementation guarantees that null will never, ever, ever be used as the exec base. So we guarantee that null mappings will never be reached and so once we have this ASLR in the base system, once it's been fully upstreamed, we're gonna next work on reworking that PI support that we had committed and reverted before. We're gonna rework that and redevelop that. So how to use it? First of all, you compile your kernels so you need a custom kernel and you have to compile it with the PAX ASLR option. By default, because ASLR touches a whole lot of different places in the Linux kernel and especially since it's per jail, we have decided to make it opt-in by default. So you have to, well, not opt-in, you have to compile a custom kernel. It is disabled by default in the generic kernel. Once you do that, you'll get this, you'll get the tunables that are set via the bootloader.conf. So if you need to change these tunables, you have to reboot, which is really good.  And there is another kernel option, the PAX Sys CTLs option, that allows you to have these knobs exposed while during runtime, so you don't have to reboot, but it is less secure. So when you do compile your kernel with the PAX ASLR option, you have to, it is enabled by default. So ASLR will be enabled by default. And child jails will inherit the parent jail settings. So you know how you can have multiple levels of jails where a jail might have a child jail. The child jail will inherit the parent jail setting. So if you have ASLR turned off in the parent jail, then when you boot or when you start the child jail, it will start with ASLR turned off. So to add support for applications to be compiled as a Pi, you have to compile them with certain flags. The C flag that you compile with is dash F Pi, all one word and the Pi is capitalized. The LD flag that you have to set is dash Pi with Pi all lowercase. So our ASLR implementation is just a very basic implementation as far as what, as far as how far along it is. I am currently researching how to randomize PS strings and the VDSO. That's gonna take a lot of work and changing and randomizing PS strings might break ABI and API. There is potential for that. I'm still researching it, but there is potential for that. It's a major change and it needs to happen. Otherwise, the ASLR implementation won't be 100% complete. The VDSO needs to be randomized as well because even though it's tiny, you can still generate maybe a couple, a few Rop gadgets out of it. And one thing that OpenBSD does that I really like is that they randomize the order of loading shared objects. So I really like that. I need help with ARM. I am kind of a busy guy. So I've been trying to learn ARM in my spare time, but my spare time is limited. So I haven't been able to fix the bug. I know what's going, I know the symptoms, but I don't know the cause. We need a lot more people to test this. I've done a few calls for testing on the mailing lists and we've gotten some good feedback. I've been running our ASLR patches in production for over a year now and I have had zero hiccups, zero problems. So we are at a stable point and we have a nightly cron job that makes sure that it merges still, that our work still merges in successfully with free BSD head. And of course, once ASLR is completed and PI is completed, we're going to work on porting over more GR second packs features. So the Hardin BSD project, we, Oliver and I, started this. We put in some of the foundations of it late last year and we made it official just a month or so ago. The Hardin BSD project is a fork of free BSD and it's pretty much, it aims, its goal is to serve as mainly just a staging area for us to do our development of these security projects and have just a place to wait for these patches before they're fully merged upstream. Now take that with a grain of salt because there are some things that we are not going to upstream. There are some changes that we just, it just doesn't seem like a good fit for the free BSD project as a whole, but does seem like a good fit for Hardin BSD. So we've already implemented one change and that is a CIS CTL knob that allows you to disable the map 32-bit functionality for AMD64 because that can be used and miss and abused to, to and may cause some security vulnerabilities. We are slowly becoming a more complete downstream distribution of free BSD. We're working on getting an automated build infrastructure. We're about 90% complete there and we're working on doing weekly Poudreir builds and nightly builds of head. So we have five developers and three of them are active daily. That would be me, Oliver and David Carlier who is in France. So Hardin BSD is coming along great. We have Chacha now implemented like what Tom was, Ted, like what Ted was talking about or not Ted Theo. Theo was the one talking about it. Sorry, too many things going on in my brain right now. Theo was talking about Chacha and how they replaced their Arc4 implementation with Chacha. We've done the same but for free BSD. So we are active daily. We're doing a lot of things. We've gotten quite a few patches upstreamed already to free BSD. David Carlier has been doing great work in getting his work upstreamed. So I want to say a special thank you to Oliver Pinter who's been an amazing person to work with. He's the co-founder with me on the Hardin BSD project, an inactive developer. And he was the person that originally started developing ASLR for free BSD. And I came in a little bit late to the project and added cool new things. And Danilo isn't one of the other developers for Hardin BSD. He has been working on another exploit mitigation technology called SEGV Guard. And Ryan Steinmetz, he's on the ports team. He's one of my coworkers at Cisco. And he had some really great ideas for integrating Pi support into the ports framework which I have not done yet. But he had some really awesome ideas there. I'm gonna murder this name since I'm American but Johannes Mexner, he convinced me to do some stuff about publicizing the ASLR project and to Soldier X for donating hardware. And so thank you very much. Do we have any questions? All right, well thank you very much for coming to my presentation. I really, really appreciate it. My slides are up on GitHub. So they're just a text file that you can read with any text editor. So go ahead and visit my GitHub if you want slides. There's references for some of the vulnerabilities and weaknesses in different implementations of ASLR.


The researchers developed a new method for fabricating perovskite solar cells, PSCs, using a thermally-polymized additive as the polymer template. This additive forms monolithic perovskite grains and a unique mortise 10 and structure, which reduces non-radiative recombination and improves the balance between the interface charge extraction and the charge transport. As a result, the PSCs achieved a certified efficiency of 24.55% and maintained more than 95% initial efficiency after 1100 hours of testing under the ISOS-L2 protocol and more than 80% initial efficiency after 1000 hours of testing under the ISOS-D3 accelerated aging test. This article was authored by Fang Fang Wang, Moobai Li, Zhou Shuangjian, and others.


It is the SHT41 Temperature and Humidity Trinkie as a quick easy monitoring solution, and you can see here this just slides right in, and that's a thick enough board that it actually stays in there quite nicely. Here you can see every two seconds I have it logging the temperature in both Celsius and Fahrenheit, so it's about 78 degrees in here right now, and humidity is at about 29%. I can probably skew that a bit either by just touching the sensor, that'll probably warm it up a bit. Oh, it's cooling it. I'm cooler than the air. You can see the humidity jumped up there just because of some perspiration on my finger, or if I blow on it. So if we give it a little warm, hot breath there, we got it up to 83 degrees and about 80% humidity. The SHT41 Temperature and Humidity Trinkie.