In modern medicine and modern science, there's a tendency to identify consciousness, mind, and brain, make mind a function of the brain, consciousness a function of the mind, and to treat them chemically and to alter them chemically, and that well-being is good chemistry of the brain, higher consciousness is good chemistry of the brain, and unhappiness is bad chemistry of the brain. Nobody's responsible, but we need to change the chemistry to make it better. Now, in the yogic thought, brain, mind, and consciousness are three different things, but they're related at a certain level. So my question to Sadhguruji is the nature of brain, mind, and consciousness, how we can use the brain and mind in the proper way without getting stuck in them, and the model of healing that is based on more consciousness than brain chemistry. In the yogic sciences, there is no such thing as brain. Brain is just body. Like there is a heart, like there's a liver, there is a brain, it's just body. I think this overtly exaggerated sense of what is brain is coming, because as I mentioned it in the morning or year, our education systems have become purely intellectual. We think intellect is everything. Let me… I mean, I will try to say it in a very brief way. When you say something very complex in a brief way, there will be holes in it. Please pick the holes if you find them, otherwise I'm okay. In the yogic system, we are looking at the human mind as sixteen parts. These sixteen parts are in four categories. The first one is buddhi. Buddhi means the intellect.  All of you must choose, I'm going to bless you. You want it sharp. So intellect is essentially like a knife. You use a knife to cut things open. This is the nature of the intellect. Whatever you give it, it will dissect. The entire modern science is coming out of human intellect. So everything is by dissection. If you give this flower to the scientist, they will repeat open and see. If you repeat open and see, yes of course there are many facts you will know about the flower. Only thing is you won't have the flower after that. And now if you really want to know something, let's say you really want to get to know your mother, please don't dissect her. That's not the way it works. Because what you can know by dissection is material aspect of life. You cannot know life by dissection. Only the material and the physical can be dissected. But now we are using our intellect to understand the entire gamut of things. Now we try to dissect. We go on talking about unifying the world and unity and enlightenment, everything with intellect. This is like using a knife to stitch something. If you stitch something with a knife, you leave it in tatters. So you are seeing this, the more knowledge you gather about something, the more misunderstanding and further away from truth we are becoming. Not because information is bad, because we are trying to stitch with a knife. So intellect is like a knife, it must be sharp. It is a survival instrument. If you did not have a discriminatory intellect, you would not be surviving on this planet. It's very, very vital. But survival is all that it can do. But intellect cannot function unless there is a certain volume of memory. If you wipe out all your memory, it doesn't matter how whatever your IQ is right now.   This always happens in India. People are putting rural children and urban children together and testing them. Just because of the volume of information that the urban child has, he looks smart.  So intellect looks smart only when you back it up with lot of information and hence you see information. Technology and everybody is mad about information. They are not looking into their phones simply for waste of time. Because only with all the bits and pieces of data, they look smart among their friends in the society in which they live. It's only with data they can look smart. Without data, they can't do one thing smart. I'll just tell you an example. We have two different types of schools. One is a modern kind of school where 30% of the children coming from United States in India. And another is a completely traditional school where we teach them only yoga, classical dance, classical music, Kalari Pai Tu, the mother of all martial arts, Sanskrit language and English language. They don't go through any academics as such. This was a few years ago. Little, little ones, they all run to the place to hand wash. Hand wash is at this height. Many of these six, seven-year-olds can't reach. So all this... those who are going through modern education, they will go and stand there in a very civilized way, wait for a teacher or somebody to come and put a bench. They will climb on the bench and then wash. These other kids ran there. The older ones bent down, the younger ones climbed on top of them, washed and ran away. So too much orientation towards intellect and the other dimensions of intelligence are completely uncultivated today. So the next dimension of the mind is referred to as ahankara, which we have completely ignored. Ahankara does not mean ego as most people are beginning to think. It means identity. What are you identified with? Because intellect is essentially an instrument to protect the identity that you have taken on.  You will see just a piece of cloth. If you show, I'm in a flag. People will have tears in their eyes. Just the identity. If you had put them somewhere else and shown another flag, the same thing would happen. In India, Pakistan it's very, very striking because it was one nation and suddenly somebody drew a line and the entire emotion, the way it works is amazing simply because you got identified with this or that. So intellect is an instrument which protects the identity. Identity is that instrument which allows the intellect to function in a certain way. When I say a certain way, suppose you're identified just with this, me as a person, your intellect will do only this to protecting you all the time, all the time just doing this. Now I say my identity is my family. Now your intellect will do everything to protect that or you say a community or race or a religion or a nation. In the name of race, religion, nation, how many things we have done which are utterly idiotic and inhuman but we do it with great pride because we're identified because this is the nature. If we have to continue that analogy, if intellect is the knife, the hand that holds it is the identity. You tell me, in handling a knife, knife is important that it must be sharp but whether it becomes destructive or productive is determined by the hand that holds it, isn't it? But in today's society, in today's world, there is no cultivation of the hand at all. The smaller and smaller identities that we are creating will inevitably cause disturbance within the human being and in the world. There is no other way. Right from ancient times in eastern cultures always we have been taught to have a cosmic identity, Aham Brahmashmi. At the age of twelve, you must know, Aham Brahmashmi, this means I am the cosmos. Without identifying with a limitless identity, no education should be given. Only after identity is fixed, then education because without the right kind of identity, education becomes destructive because you have a limited identity. We can say whatever we want but essentially all crime, all evil, all most terrible things that we do is just a question of limited identity, isn't it? This is my way, that is your way, this is my country, this is your country, this is my religion, this is your religion. This all it is. So without cultivating the identity, we are sharpening the knife. We have an unsteady hand but we are sharpening the knife and arming it with memory. So the next dimension of the mind is called manas which is a silo of memory. Here there are eight dimensions of memory. This starts from elemental memory, atomic memory, evolutionary memory, karmic memory and conscious memory, unconscious memory, articulate memory, inarticulate memory like this, there are many states of memory. As we already looked at this, this body carries the memory of everything that's happened on this planet. If we pay enough attention, we can know simply by looking at this how evolution has happened. Only 150 years ago, Charles Darwin talked about evolution by studying life on the planet. But over fifteen thousand years ago, Adiyugi spoke about how life evolved. He said first, almost every Indian person knows it but not conscious of it, is the ten avatars. You must be studying much of it. The first one is fish or water life. Next one is amphibious. Next one is a mammal. Next one is half-man, half-animal. Next one is a dwarfed man. Next one is a full-grown man but volatile. Next one is a peaceful man. Next one is a loving man. Next one is a meditative man. Next one is supposed to be a mystical man. This is not one-man story. This is the evolution of life on this planet. So fifteen thousand years ago, somebody spoke about this by not looking into the microscope but looking inward because the entire evolutionary story is written here. So the yogic system is focused on this as to how to activate different dimensions of memory because without that, with limited amount of memory, you can't act in immature ways. So if you're intellect becomes super capable, then it's very, very important your identity is cosmic, limitless identity and your memory is evolved that all dimensions of memory are active. These three function in a certain way. Some people have evolved it in certain ways but largely it is happening in a very skewed way. Too much of intellect and other things are very minimalistic. The fourth dimension of intelligence is referred to as chitta. This is a dimension of intelligence which is unsullied by memory. See, we must understand this. We are who we are, only because of the memory that we carry. From the color of our skin to what we identify with, what we are, whether we are male or female or everything, everything is a question of memory. It is the memory stored in this which is deciding all these aspects. Whether I am a human being or some other creature is also a question of memory. Memory is a tremendous possibility but memory is also a limitation and a boundary. What is you and what is me is right now the boundary of this is just memory. What I remember in my system and what you remember in your system is the boundary. So memory is also a boundary. Memory is the basis of all forms that have happened. There is a certain memory which creates patterns which patterns in turn create physical forms. The way we are, the kind of form that we have taken is essentially out of the basic memory that is there. Never it got confused in the sense suppose you and a cow every day start eating mangoes. Never it happens that one day by accident or by lapse of memory the cow became human or you became a cow. Both of you eat the same food every day but it will not happen because memory is so strongly instilled at various levels we are recognizing eight different dimensions of memory. But chitta has no memory. No memory means no boundary an intelligence beyond bounds. In the yogic culture there is a mischievous way of expressing this.  So it is very important because this is the first time we must understand this this is the first time where our survival process is as organized as it is today. This is the first time that human beings have so much time to look at things otherwise just putting the food together would take twenty-four hours. Once again in affluent societies we are going back to the same thing. As you said in Montana somebody has to work three jobs when so much land is there. Why do you need to do a job to make your food? No, because you want to buy it in a Walmart. I'm saying we've just kind of twisted the entire thing. For the first time our survival for example today you go into your super store what you need for next one year you can buy bring it home out of your house for the next one year. It's possible never before it was possible. Today morning's water if you have to get means you have to walk down to the river or the pond or something. For the first time our survival process is so enormously organized this is the time for humanity. This is the time for humanity to explore deeper dimensions of life.


HCC to Treckyards, HCC to Treckyards, come in Treckyards. Captain Foley here, Treckyards read you loud and clear. Go ahead, HCC. I'm piloting the USS Thunder Road to the far reaches of the galaxy. I'm really far out now. I'm investigating territory where no previous Earth person has here to for explored. God, I wish I could be up there. I envy you, hoodie. I wish I could smell the aroma of unexplored planets, meet some alien species, encounter women with extra glands. Who knows what kind of alien I could meet out here. It could be pure energy, or it could be thought waves. It could be something we can't even imagine. How about a species of Amazon women who want to breed a new race? Hang on, I'm getting a transmission from an extraterrestrial source. What's up, doc? HCC to Treckyards, nothing to see out here. I'm heading back. See you at the pub. Commander 788 here. This is the show where we review every vintage G.I. Joe toy from 1982 to 1994. This week I have the privilege of giving a codename to another patron. One bad devil dog added his support on Patreon. Really, his screen name is a pretty good codename, but I still need to give him a new one. He was a marine, so I want to give him a codename that has something to do with the marines. G.I. Joe had some great marines. They had Sargeant Slaughter, Leatherneck, Gung Ho. One bad devil dog needs a codename that combines all of those great marines together. One bad devil dog, your codename is Sargeant Leatherhoe. Thank you for your support. To get through this review, I'm going to need a few drinks. I'm trying something new this week, drunk toy reviewing. We are venturing into outer space. I'm reviewing a G.I. Joe space alien. Yeah, you heard that right. I also invited an expert on outer space to join the show this week. Please welcome Captain Foley from the YouTube channel, Trek Yards. Hey guys, I'm Captain Foley from Trek Yards. We are a YouTube-based Star Trek show. We talk about the ships and tech primarily. But we also do episode reviews, breaking news. We look at all the new series. We have a lot of fun in our channel, lots of lives that are either reviews and or getting to know you guys or just late night hangouts with me where I answer your questions and comments. There's myself and Commander Cockings, and we really love Star Trek. We really love all sci-fi. We have a spin-off channel called Fleet Yards as well. So if you're on YouTube and feel like joining up, please join the ranks. Hit subscribe for Trek Yards. Thanks guys. I want to make a drinking game out of this.  Alright, cool. Let's do it. I have bourbon. The bourbon is cheap, and so am I. What you got? Um, well, I have this. It's, uh, it's, well, it's, uh, it's green. Order is ready as will ever be. HCC 788 and Captain Foley present, Carcass. This is Carcass, G.I. Joe's Star Brigade Alien Destroyer from 1994. This figure was available only in 1994 because 1994 was the final year of the vintage G.I. Joe toyline before it transitioned to Sergeant Savage. This is the only version of Carcass ever produced. He is a Lunar Ticks Empire space alien. Yes, a space alien in the vintage G.I. Joe toyline. A Carcass is a dead body of an animal. Yeah, that's about right. The aliens in the Star Brigade subset were from the Lunar Ticks Empire. You heard that right. They are Lunar Ticks. Drink. Carcass was in the Star Brigade subset, which was introduced in 1993. It was a series of space themed G.I. Joe figures and vehicles. In 1993, the Star Brigade characters were mostly human. There was one android and some armor tech characters that were part machine, but they all had their origin on earth. In the 1994 Star Brigade series, G.I. Joe jumped over all the sharks in the ocean and brought us aliens from outer space. Obviously, this isn't the first time science fiction appeared in G.I. Joe. Science fiction elements have been present in the line since the relaunch in 1982. For instance, Flash was a laser rifle trooper and Grand Slam had a big laser cannon. In 1984, the Zartan figure had color changing powers. In the comic book series, his camouflage and disguise abilities were partly explained with holographic technology. 1986 was a big year for science fiction in G.I. Joe. That year saw androids, two color changing figures, a mad scientist, and a composite clone emperor. In 1993, G.I. Joe had a couple mutant creatures in the mega marine subset, but the line managed to make it all the way to the final year without having literal space aliens. There were three Star Brigade aliens in 1994, Carcass, Lobotamax, and Predacon. I already reviewed Lobotamax. He had a long, veiny tail with a fist on the end and a long, veiny neck and a ball sack on his head. Drink. Carcass, well, look at him. Of the three, Predacon is the least weird. There was another series of aliens planned for 1994, but they were canceled before production. The Manimals were alien figures that transformed into monsters. Some of the Manimals were eventually released in the year 2000 as exclusives to KB toy stores. Thanks to Brandon Knight, I have a sealed Carcass figure, so let's look at the unopened figure and see how Carcass was marketed back in 1994. The card has a vertical G.I. Joe logo, and above G.I. Joe it says Lunar Ticks Empire. It has the Star Brigade logo in the corner, and in very tiny it has the Lunar Ticks Empire logo.  This guy's mama named him Carcass. He is the alien destroyer. The card art is fine. It enhances some of the details on the figure. For instance, the card art shows him with claw feet, and those details are just sort of sculpted on the top of regular feet rather than make the figure's feet that shape, and he is holding a weapon that is an accessory that comes with the figure. He has bendable monster arms, and this figure was $4.49 when he was on the pegs in 1994. You can see through the plastic bubble, this figure came with an accessories tree, this plastic piece here, and all the accessories are attached to the tree, so the purchaser would have to cut the individual accessories off of the frame. Flipping the card around the back, we have the cross-sell with some other Star Brigade figures that were available at the time. There's Carcass right there. There are instructions on how to use the figure stand, and then there's this caption, coming soon, Power Fighters and Manimals. Power Fighters were released in the vintage era, but the Manimals were not. They were released later, though. This was worth $1.90 style flag point, and this figure was apparently sold at Target. Then we have the file card. This is the reduced-size file card. It's about baseball card size. They started doing this in 1994. The card has this to say about Lunar Ticks aliens. Watch out. Alien bounty hunters joined the Galactic battles as they stalked the stars in search of alien or humanoid prey. These are all alien bounty hunters, and so were the Manimals. Did the writer of these cards not know what a bounty hunter is? I think they heard it on Star Wars, and assumed it had something to do with bad aliens. Drink. Ew. That is... not smooth. That's... oof. Let's take a look at Carcass' accessories. As mentioned a moment ago, they were all connected to a green plastic frame, so they are all the same green color. This was common with 90s figures. There is no spring-loaded missile launcher, though. None of these accessories are original. They are all reissues of accessories that came with earlier action figures. Let's start by looking at this one. This sort of looks like a traditional assault rifle with a grenade launcher attached. It feeds from top and bottom. It has two magazines. This lower magazine looks like it might feed into the underbarrel grenade launcher. The details are not bad. It is not based on a real-world weapon, but you can kind of imagine this working as a real firearm. This is a reissue of the rifle that originally came with 1990 Sky Patrol Air Wave. That rifle will fit in the action figure's hand without any problem, and it fits quite snugly. It won't fall out very easily. Next, let's look at this other rifle. This is also in that green color. It has a magazine under the grip. It has what looks like a folding stock and a scope and a vented barrel shroud. This is a reissue of the rifle that came with 1991 Lowlight Version 3. This is the accessory featured on the card arch. Even though this isn't based on a real weapon, it still looks like a traditional firearm. Looks like something from Earth, not from outer space. Next, we look at his pistol. This pistol is also in that green color. It is not based on a real-world weapon, but it kind of looks like just a generic pistol. It has details that you might see on any number of semi-automatic firearms. This is a reissue of the accessory that came with 1990 Sky Patrol Sky Dive. And like the others, even though this isn't based on a real weapon, it looks like a traditional firearm and not something from outer space. Next, we have this knife. The knife is in that green plastic color. This is not a science fiction weapon. It's a pretty basic knife. Although, of course, aliens could have knives. If they can invent space travel, I'm sure they can invent a stick with a sharp thing on the end. So an alien could have something like this. But in this case, this alien has borrowed this knife from 1988 Hidden Run. Hidden Run had that knife first and in a much better color of green. The knife will fit in the figure's hand, but just barely. The base of the handle is wider than the handle itself. So you really have to press it in to get it into the closed fist of the figure's hand. Next, we get to this accessory, and this finally looks like a weapon that might be appropriate for carcass. This looks like a laser gun. It looks like a weapon that might be used by a space alien. This is a reissue of the accessory that came with 1991 Mercer Version 2. But there's a problem with this accessory. A big problem. A big, big, big problem. This is the only accessory that looks science fiction enough to be used by an alien like carcass. But carcass can't hold it because this weapon has a closed loop on the grip and carcass has closed fists on both hands. It is not possible to put his hands on the grip of the one accessory that looks like it's right for him. The best you can do is try to get him to hold it by the stock.  Drink. Look, I'm on record as saying these accessories trees that came with 90s figures were lazy and cheap, and they didn't even care if the accessories were appropriate to the figure they came with. And this is an example. It's not just that he came with accessories that don't look like they would be used by an alien from outer space. He came with an accessory that he can't use at all. This indicates to me that nobody at Hasbro cared what accessories these figures came with, as long as they were cheap. The final accessory is the best one probably. It's the figure stand. 90s figures came with figure stands. 80s figures did not. So that is one point that 90s figures will always have in their favor. Let's take a look at the articulation on Carcass. He had articulation that was unlike any other GI Joe figure. He could turn his head from left to right. He had a swivel neck, not a ball-jointed neck. The arms are bendy. There is a bendable metal wire inside a softer plastic sleeve. They don't bend very well. They are kind of stiff. Also, the arms are one piece. They are connected. So they move together. You can kind of get the arms to move independently if you twist them. But because they chose to make the arms all one piece, they want to move together. Believe it or not, this is an O-ring figure. So he can move at the torso like a traditional O-ring figure. And the lower half of the figure is standard GI Joe articulation. So he can move his legs apart about so far. He can bend his leg at the hip about 90 degrees and bend at the knee about 90 degrees. Let's look at the sculpt design in color of Carcass and I'll start by saying he is very orange. If you don't like orange, you may not like this guy. If you do like orange, you probably will like the guy. I can't see any other reason why you dislike him. His head is orange. He has this oval ring, I guess, around his head. He has these open loops at the side of his head. The top of his head kind of looks like a T. On the outside of those loops, he has black eyes. Lifeless eyes. Black eyes. Like a doll's eyes. He has what looks like an alligator snout and some sharp white teeth.  The chest, he has an orange claw-like rib cage. The file card calls these mutated claw ribs. They are made of a slightly softer plastic and they will bend a little bit. I expected these to be hinged so they could open up and maybe grab some prey, but they are not. Behind the claw ribs, he has a clear plastic chest piece and behind that clear plastic chest piece, you can see red lungs and green guts. You can see the tip of the screw that holds the figure together. The internal organs add the only non-orange color to this figure with the exception of the minimal paint on the head. The back piece is pretty plain. It's just an orange piece with a checker pattern and what I think maybe spikes here along his collar. I think maybe this is supposed to be some kind of shell. The arms are orange. They are bendy, but they don't bend very easily. They're kind of stiff. A ridge pattern on the inside a texture pattern on the outside and a fringe on the top and bottom. On the end of each arm is a closed three-fingered fist. There is a hole in each hand for the accessories, but the holes in the hands are angled to the outside which makes posing awkward even for the accessories he can hold. The waist piece is orange with no paint applications, there is a ridge pattern on the front. There is a ridge pattern on the back which I interpret as corduroy. The legs are orange with no paint applications. They have some nice details though. They look like crustacean shells. The knees have little knobs on them. Not quite knee pads, but some additional crustacean-like details. There are ridges on the back of the lower legs with spikes on the heels. Those look pretty cool. He could use those as weapons. I don't want to get a back kick from this guy. The feet have pincer details sculpted on the top of normal-shaped feet. Unlike the card art which make the feet look like actual pincers. The bendy arm feature is similar to the bendy tail and neck on Lobotomax, and the bendy arms have a lot of the same problems, but at least the bendy arms are not as gross as the bendy tail and neck on Lobotomax. Drink! We'll give them credit for one thing. They did get away from the standard buck that was used to sculpt most G.I. Joe figures, so it stretches the creativity. That's faint praise though, because that doesn't mean it's good. It's just wildly different from the usual G.I. Joe figure. If the figure were in a larger scale, I could see it existing in the masters of the universe line. At a larger scale, he could even have another gimmick, like spring back hinges on those claw ribs. I see this as a G.I. Joe figure. If the brand wasn't on the card, I would assume it was from something else. We're going to look at the construction of this figure. Even though this segment is going to come more toward the middle of the video, I'm shooting it last because I'm going to take this figure apart and because I don't know what the inner workings are like, I don't know if I'll be able to get it back together. I have to do it though. I want to know how this figure is constructed. I want to know how the arms connect and I want to know how they got the color on the internal organs. Let's use a trusty screwdriver and take out the back screw. Seems to come out like any other G.I. Joe action figure. Just unscrew the thing. Let's see if this guy will come apart. There's a possibility that it's glued together so he may not disassemble. Oh, no. There he goes. Alright. There's two pieces. There's the head with the neck post. Alright, guy. Let's keep coming apart there. Okay. Alright. He is apart. Alright, cool. It looks like the claw ribs are one piece as well. The arms have this bar in there and you can actually see some of the metal bendy wire right there between them. What I'm really curious about is this chest piece and how did they get those organs in there? It looks like they actually painted that so this counts as additional paint applications. Those aren't plastic pieces in there. They painted the inside of this clear plastic chest piece. The rest of the figure appears to be a standard O-ring figure. Now let's see if I can get it back together. It should just be a matter of lining it up and pressing it together but it's it's a lot of pieces more than the average figure to line up but hey, I think we may don't quite have it. There we go. There we go. And we may be back in business here. Yeah. Hey, I reassembled it. Cool. Everything works. Everything's as tight as it should be. Alright, so now we know how Karkis is constructed. Speaking of the card, let's take a look at the file card. It was the smaller baseball size file card with a purple background. It has his name as Karkis. It has a copy of the card art with some of the features pointed out. Karkis is number 52 in series 1994. The numbering on these cards is a little weird. Early 1994 Star Brigade figures were numbered 20 through 27. 1994 Star Brigade figures were numbered 49 through 54 and Karkis is number 52. But there weren't 54 figures released in 1994. Only 45 figures were released that year including mailaways, a convention exclusive, and 30th anniversary figures. So what accounts for the missing numbers? Maybe some of the unreleased figures? This top section says his codename is Karkis so is that his codename? Or is that his real name? I don't know. He's an alien destroyer. I don't know if that means he is an alien who destroys, or if he destroys aliens. His birthplace is quadrant 4 planet Mertonia. His primary military specialty is mercenary hunter. So is he a hunter of mercenary? Or is he a mercenary who hunts? Secondary military specialty is planetary slash alien destruction. So is that destruction by aliens or destruction? Oh, you get the idea. This paragraph says, leaving nothing but broken bones and smashed dwellings in his wake, Karkis is a born menace to the universe. He has stomped through alien towns destroying all he can and making prisoners of its fearful inhabitants. He has even gone so far as to mistakenly attack a star brigade outpost, narrowly escaping capture by ducking into an asteroid belt. His mutated body which may account for his overly hostile attitude is considered ugly even to other lunatics aliens more hideous than he. If they are more hideous why do they consider him ugly?  This file card is generic sci-fi stuff. It's uninspired and phoned in. Drink, hang on hang on, I got a refill. Alright drink looking at how Karkis was used in GI Joe media that won't take very long. He did not appear in the animated series and he did not appear in the comic book series published by Marvel Comics. He did appear much later along with the other Lunatic alien in the 2007 Devil's Do comic book GI Joe vs. Transformers Black Horizon. I'm a huge GI Joe fan and I got a huge collection of GI Joe stuff but it's the earlier stuff, the later stuff I wasn't into. This Karkis figure I didn't even really know about until recently and good God man. I know here in the Federation we're supposed to be accepting of other species but what is this abomination? It looks like somebody glued a bunch of Cheetos together I don't understand what happened to GI Joe in the 90s the mid 90s bright colors everywhere weird premises or premise I don't know how you'd say that but why? What is happening to GI Joe? It's an interesting figure I'll put it that way would I have it in my collection? Nope I wouldn't but I'd like to thank you for having me in this review. I really appreciate it but I'm looking forward to hearing what you say about this thing Looking at Karkis overall I have to give Hasbro credit for creativity. This is unlike any other GI Joe figure they broke away from the standard structure and articulation and shit like that that's one point for creativity Is it a good figure? Well all the extra effort that went into sculpting and materials came at the cost of paint paint the bottom half of the figure is entirely orange the top half of the figure top half of the figure is almost entirely orange all of the accessories are reused from other action figures and most of them are not appropriate for a space alien maybe he stopped off at Walmart to pick up his guns stopped off at the gun department in Walmart get him some earth guns I don't know it doesn't look that much weirder than the average Walmart customer I know there's a market for this stuff I know there are some GI Joe fans who love this and this figure could be used in your Star Wars Cantina or some other space toy so maybe you think this figure is awesome so there are some people who love carcass cool cool cool cool cool but real me this what does GI Joe add to this figure it's not in any of the comic books he's not in the cartoons he doesn't even fit in most GI Joe vehicles because of the bendy arms does Star Brigade need this guy as a bad guy to fight against no because Star Brigade already had Cobra bad guys to fight against they don't need any space aliens on the other hand what does this figure add to GI Joe not in any of the media the file card doesn't put him in any story line or anything so it's like totally separate it's not like this guy is Duke's other half brother and if he was holy s*** who the f*** is Duke's mom f*** if you like this figure great I would not take this it's a moth in here there's a moth in here I would not take this figure away from you I want you to have this figure that you like I just don't see what it has to do with GI Joe it has the GI Joe label on it only because the suits at Hasbro saw that science fiction toys were trending and they wanted the cash in they're trying to find a trend to save the line from cancellation but the line got cancelled anyway and now we have these weird ass aliens in GI Joe that was my review of Carcass hope you liked it thank you to Sergeant Leatherhoe thank you to Captain Foley from Truck Yards I am never doing drunk toy reviews again it's too dangerous if I do a review of something like Carcass I could die I could die of lead poisoning I could die of alcohol poisoning I could die of alcohol poisoning there's no lead in this right I could die of alcohol poisoning it's just too many drinks yeah I feel fine I can drink Syntha Hall all day and it doesn't affect me Syntha Hall Syntha Hall yes Syntha Hall I'd be crazy to do a review like this with real alcohol you were drinking Syntha Hall right? drink thank you for watching this video if you enjoyed it I'm making more like it so please give this video a thumbs up on youtube subscribe to the youtube channel hit the notification bell so you don't miss any future videos and share this video with your friends that's what helps this channel grow you can find me on social media and I have a website HCC788.com if you want to know if I've already reviewed a vintage GI Joe item that's a good place to check special thanks to all my supporters on Patreon including the names you see on the screen now support on Patreon helps keep this show going so if you like this show and you'd like to support this show in that way please consider checking out Patreon you can get some special rewards including early access to reviews and you can find out how to decode the secret messages you see in these videos thank you for joining me on this adventure of collecting vintage GI Joe toys I'll see you next time and until then remember only GI Joe is GI Joe this shit is still recording look here this is not an act I actually drank all that and I'm not I'm not acting


time. All right let's start. So I'm obviously not Ross Burton. If you came here to see Ross I'm sorry he's not here but I am. He has a better accent but I'm way funnier. My name is Beth Flanagan. I am the Release Engineer for the Octa project. I'm also a software developer for Intel OTC. I'm a contributor to the core in the Octa project. Mainly deal with license wrangling, build statistics, GPL compliance tools. I've also written documentation for BitBake for a book called the architecture of open source applications volume two. But what I'm here to talk to you about is my first love which is auto builders. I love auto builders. I started with auto builders in about 2006 working for a feature animation company whose name shall not be spoken. If you buy me drinks I will tell you how someone screwed me out of the movie credit. Then I went on to work for the smart meter or for the local electric company doing smart meter infrastructure auto builders. So if you live in Portland and the electricity goes out, totally my fault. I now am the maintainer of the Octa auto builder project or the Octa project auto builder. So one of the things that I'm going to introduce today is some of the refactoring work that has been done in the Octa auto builder. So there's some caveats here. This is brand new code. Not quite feature complete, but it's totally functional. In other words, it works on my machine. It's stable. In other words, it hasn't crashed on a machine. And really it does need more eyes on it because I'm running into issues where I have no idea why it doesn't work on Saul Wolde's weird configuration that he has. This is literally brand new code within the last two months. So the interfaces and configs to this shouldn't change. They may have something really bad is found. If they do, all of this should be backwards compatible. It's also entirely untested in production environment. We're going to talk about some of the plans that the Octa project has for implementation on this as well as testing. So why other than Ross Burton's not here, do we talk about auto builders at an embedded conference? And really what this comes down is to this whole code compile test loop. You know, an application developer, their code compile test loop is like 15 minutes at max. Maybe if they're like playing dangerous or like 30 minutes, for an operating system engineer, your code compile test loop may be anywhere from 20 minutes, 15 minutes to hours. If you start hacking around with EG libc, and you have to recompile a whole bunch more root F s's, you may be looking at six hours there. So one of the things that's a really nice thing to do is continuous integration when it comes to embedded. Have someone else deal deal with building it and you keep on going on your merry way. The other reason is that auto builders should release software. I'm a software developer, but I'm also a release engineer. And I like doing release engineering, mainly because a few years ago I started doing this because the release documentation sucked. It was horrible. It was all wrong. And really your release process should be in code. Let the auto builder do it. Your release, your documented release process should be push this button. Make your release processes push button. So a little bit of history behind the octo auto builder was originally called the pocket auto builder. Richard Purdy created it 2009. The initial config was about 177 lines had four targets. Somewhere between 2009 2010, Scott Garmin took it over. If you went to Scott to talk yesterday about the miniboard, Scott did excellent work on this. It was 642 lines. 17 targets. Took around 26 hours to build nightly, which wasn't precisely nightly, but it did it only on three machines, two machines. So it was a fairly tight situation. I joined the octo project in November 2010. And then this slowly and rapidly, well slowly and rapidly, depending on how you how you look at it, grew very, very quickly. There were there's been a lot of improvements to the auto builder over the past two and a half years. Some of these have been feature driven. The introduction to OECOR has been one of the major features on shared state auto builder using shared state and having a cluster auto builders all using the same shared state has actually kind of improved our build times. When you have in at one point, we started looking at build times at 42 hours for nightly. The solution to this with some more hardware at it. And one of the gentlemen who worked on this Michael Hall said sitting right out front. So we started seeing a lot of improvements on this. So the current state of things has a lot of good about it. All this work reduced build time significantly. We are now looking at on average six and a half hours of build time to generate a quarter terabyte worth of build artifacts. Images, ABT repos, Eclipse plugin, the build appliance VM. And this doesn't even include like shared state, DL Durr, all those other things. What this allows us to do is do very quick turnaround. We noticed that something got committed to master and it starts breaking things.   So all the builders can use it, build history, sanity testing, persist DB reuse. All of this got put in and passed to me half years. But the unfortunate thing is it's caused some bad things. One of these bad things has to do with just out of curiosity, who has experience with build bot here other than me? All right, two people. Part of this has to do with how build bot does conditional build steps. If if you're a normal developer, you're used to a conditional being if then else. Build bot like saying, Well, now this conditional build step is run this function if it returns truth and conditions true, run the build step, if it's not run it false. And then what you end up doing is starting to get a very large config file that ends up getting code and config mixed together. And it's icky. It's not so bad for build engineers like me who don't mind hacking through this.  So by late 2020, 2011 or 2012, sorry, the auto builder main config was 2714 lines long. And we started getting into this situation where if I got hit by the lottery bus, won the lottery or got hit by the bus, then we would have a situation where no one can take this over. I started noticing that this was getting to be a problem. But then there was the ugly. This is one of my favorite quotes. I love this book. And you know, I like the picture of Winston Churchill up there criticism may not be agreeable, but is necessary. Phil's same function as pain in the human body. It calls attention to the unhealthy state of things. Prior to one dot three, there was a beta test. And that beta test called attention to the unhealthy state of things. Mainly around people setting up and reusing the auto builder. Other people were having a hard time reusing it. Required advanced knowledge of how things were structured within the auto builder config. And understanding just the concept behind the auto builder. And none of this came as a surprise to me. I've been yelling about it for about nine months. I just didn't have time to fix it. And really what it came down to was a philosophical change that I needed to look at the initial auto builder like a lot of CI systems came out of the need. There was a need to just run this and build, run this and build. And then it moved into this reference design. Well, here's how you set this up. And now it has to move into something that's a usable product for people who utilize the Octo project to actually take and reuse. But the question is how do you do this and give end users rope but not enough rope that they hang themselves with it? And the other question is the Octo auto builder does the one thing that it was designed to do, release the Octo project releases and it does it very well. But how do I do that and enable people, lots of other people to do their things very well? So sometime after 1.3 I sat down and looked at some of the user feedback and I said, all right, these criticisms really have to drive my goals for the next version of this. I have to make it so that people can set up their own auto builders very easy. I wanted to require a very limited knowledge of Python. Nothing very special, just very basic knowledge of Python, very limited knowledge of build bot even. Want to provide good code references and good config references. When the main pain points is code goes one place, configuration stuff goes to an entirely different place, they should never meet. And I wanted to add some very new much beg for features. There are people who have been begging for some of these features like mix and match repos, which I'll go into in a little bit. But there was no really good way to do this in the old architecture without ripping things apart. I also needed to maintain all the old features that I had put in over the past two and a half years. In doing all of this, if people want to do really hard things like have their little lava lamp that turns red if things go fail, I want to enable them to still be able to do those hard things. And in the end, what the new auto builder spits out has to be the same thing that the old auto builder spits out. So the one lesson I learned out of this is the best time to do proof concept is when no one is looking. My manager is sitting right there and he's probably, yeah, he's shaking his head, good. For the first day of Christmas break, I was got bored. And I said, all right, I'm going to start looking at this. So Christmas breaks are like December 19th and I don't think I really slept until like December 24th. Woke up Christmas day, started writing code. By December 26th, we had actually something that started working. Something that could actually spit out images. It wasn't pretty, but it worked. So what we want to do is we want to introduce some of the architectural overview of what we're doing here. I have, this is a contextual joke, if you were at FOSDEM and saw the SystemD talk. SystemD is an init system, SystemD is a platform. The OctoAutoBuilder is a continuous integration system, but it's also an abstraction layer over bit, or build bot. We split out code from core code and build steps. So we have the core auto builder code and then build step code. We also split out config from all that code as well. And this provides an interface to be able to use custom build steps as well as build bot build steps. So there's three types of config files that we're using. First one is autobuilder.conf. Has anyone actually used the old auto builder? Other than me? Oh, good. Autobuilder.conf is basically the global settings file. What this says is where does the auto builder spit out its DL there? Where does it spit out shared state? Do we want to collect build history? Basically all these things that every builder on the auto builder needs to make, or every build set on the auto builder needs to know about. This lives in the config directory that's going to be changed. The main build set or config file for the OctoAutoBuilder is the OctoAB config. Technically that's the only config file you need. That's not a good idea. I'll show you why in a little bit. This also lives in config. What I end up doing is taking build sets, so nightly, nightly x86, nightly arm, and putting them in their own config files.  When we look at the main OctoAutoBuilder config file, it has one top level section in that set. That top level section is the only thing that technically needs to exist. You can start the OctoAutoBuilder app with it. It won't build anything, but you can do it. It's the only thing that actually needs to be there. And it only has one property, and that's order. Order dictates on the waterfall page what order do you see things in. This is one of the few places that I've actually modified BuildBot and I'm working on the patch that I did to see if this can get upstream. I am going to show you what the actual file looks like. This is the file that we have right now. And like I said, one property, order. And if you go and look at the OctoAutoBuilder, the one I have running on this local machine, you can see that it's in the exact order. But all the way at the end here, we have these builders that aren't actually listed. No, they are listed. Let's assume that they weren't listed in that order property. Sorry about that. What happens then is that the Octo, that BuildBot, will just revert to its own sort order. This was one of those things because we like seeing Nightly all the way on the left-hand side. It's kind of silly, but we do. The next thing that we have are the config files that actually control build sets. These only have four properties. With four properties, you can run an entire build. Steps, properties, repos, and builders. Only three of these are actually required. That would be steps, repos, and builders. I'm going to take the easy one first, which is builders. Builders just tell you where that build set runs. So if you have a distributed build system, Builder 1, Builder 2, Builder 3, and you want that to only run on certain one of those builders, you just create a list of those builders and assign it that. The repos are a list of repos needed for a particular build set. For example, pocky.get, metaintel, metaqt3, etc. If you look down at the bottom, this is what the repo section looks like. It's fairly straightforward. It needs the name of the repo. It needs the repo URL, BBPriority, and branch. BBPriority is actually at this point optional. In fact, it doesn't work yet. I haven't implemented that yet. You don't even need branch. You can name this hash or tag. I have that in there for convenience because some people can't rock the concept that hash branch, tag, or all the same thing. One of the interesting things here, and I'm going to show you this, is that if we look at Knightly, Knightly has only three repos defined, but way down here, and I'm going to talk about triggering builds in a little bit. Knightly is a worker build set. What Knightly does does is Knightly goes and says run this and then go run all these guys over here. But one of the things that I needed to do, I need to be able to set Knightly's repository, its branch, tag, or hash, as well as every triggered build step that it ends up triggering. And the reason for this is, let's say I want to build master on everything except this person has something in their trip branch that I want to pull in for Knightly multi-lib. I can actually go into Knightly multi-lib and set blocky, contrib, and we'll do sgwmut, because I do sgwmut quite a bit, and it will tell Knightly multi-lib to run that, to ignore everything else. The main reason for this is, and we'll go through this in a later slide, this gets me out of dictating branching policy for people. The other thing that we have are properties. Properties are things that you can add to pass on to build steps. It is one of the few places that you need actual build bot knowledge, and there's a section in the build bot documentation that talks about scheduler properties. Most people will never touch these. I actually need to touch these, because we have a build target called build appliance, and build appliance needs to sometimes run with the build appliance source rev set to autorev and sometimes set to not autorev. I need to actually switch this from time to time. The old way of doing it was going into the repository and changing the source rev hash. The easy way of doing it is this. One of the cool things that I'm kind of understating the power of this, because one of the cool things, and this is probably a poorly named target here, is that you can actually sit there and start hacking that force build page to force it to do things like, well, email this alert when complete, or email me when this is complete, so type in an email address, and I have a special build step in the background. I want to build that in PC. I want to build this with CoreImage LSB. So you can start doing really cool things with this. And you do it all through a config file. As a matter of fact, I'm going to show you that config file right now. This section right here is all that's needed for that. Now, for it to do anything on the back end, you do need to create a custom build step. And then the last thing is the thing that does the heavy lifting. This is the last property in steps. The OctoAutoBuilder provides very basic general build steps that we utilize. These are generally taking build bot build steps and sub-classing them out and overriding certain methods. So to get a better idea on this, and we'll show you this in a second, you really want to read what the init is on each of these build steps. We're definitely going to go through this. Args that are used by your custom build step are passed in as our dict. Args that are passed on to whatever that sub-class is are passed in as keyword arguments. We do this to keep things separate. We're going to take a look at this now. This is the Hello World build step. It doesn't do anything other than echo Hello World with whatever you pass it into it. In theory, what you could also do is have a custom property on that build page. It says enter your first name, enter your last name, and have it passed into this custom build step. One of the reasons why if you look... Let me actually get into this because I believe I have it in my slide. Oh, there, look. One of the reasons that we have this is that this is the one thing we require. Everyone, when you override it, override it with that as a start. Pass itself, pass the build factory, pass your arg dictionary, and if you need to, pass a keyword argument. The reason we do that is because custom build steps are dynamically loaded.  It gets loaded automatically. You don't need to hack any actual auto-builder code itself.  And one of the examples of this is checkout layers, which I wrote.  Checkout layers is a single step. But what it does is it creates multiple build steps. So for each repo within repos, it'll check out that layer. So, like I showed earlier, there is this mix and match repo concept that I needed to implement. Trigger builds needed to have the same branch and tag in the repo as the build set that triggered it. We actually, the auto project sees this a lot. So we have people who maintain different layers. If I want to build 1.4M4 branch, I need to contact all those people who maintain those layers and say, hey, yes, create a 1.4M4 branch for me. This would start as more and more people are maintaining different layers and I'm building more and more of those layers. This basically put me in the position where I dictate other people's branching policy. Which I wanted to get out of that business and I wanted to get out of that business and in general, it's just kind of icky. Some more features that got added are, and I showed you this early, triggered build steps will actually inherit the property and repo of what it triggers and render that on that force build page. There's also some more config options within the autobilder.comp file, specifically BB number threads and parallel make. Before that was just hard coded. Now you can actually override what that is. And like you saw in this, there are some UI changes.  So this is one of the things that was requested during the first showing of this publicly. I showed one of my co-workers this and he's sitting right there and he's like, I don't want to see five pages of properties. Some of the other features that added, we've upgraded build bot. The autobilder was initially on build bot 0.8.4, patch level one. We've also upgraded a few dependencies. So when you check out the entire autobilder.get repo, the only thing that you need on your actual host machine is Python. All the other libraries come down with it. So now I have a system that produces a quarter terabyte worth of data, not including all the other stuff it produces. It runs on a cluster of ten high-class high-end server machines. And Dave's not going to give me $100,000 to replicate all that infrastructure. So does it... Does anyone feel my pain here? How do I test this? Remember that code-compiled test? Well, my code-compiled test loop is six and a half hours. If I'm doing it on a single machine, let's assume I have all that space, I'm looking at about 42 hours' worth of code-compiled test loop. So this is kind of the answer. We're going to be doing this in production. It's not as scary as it seems. So next week, what we're going to be doing is we're going to be doing side-by-side installs. We'll be using different ports. So we'll have two YoctoAutoBuilders running. We're going to do the new root factor builds late night when no one else is awake, hopefully. Or at least no one else is awake with utilization of the YoctoAutoBuilder. And then what we're going to do, what I'll be doing during the day is verifying... No, wait, no, I... Don't give me creep. I'm not going to be sleeving is the answer. Yeah. So we're going to be doing side-by-side installs. This may actually slow down some of the stuff that's going on the main auto-builder, but we're going to keep everything jailed out. And then once we get through our milestone five period and everything's co-facetic, hopefully, and everything agrees what the main auto-builder has produced agrees with what the new software produces, we're going to switch over to the new stuff. Now, and this may make my manager cringe. I want this out for 1.4. I want this to produce the 1.4 of release. I'm not going to push it so that it jeopardizes the 1.4 release. 1.4 of release is way more important than auto-builder code. So like every half-faked, not-quite-finish-code project, there's a to-do list. And I am more than happy, hopefully, for people who, if they want to start working on this with me, especially if you're a release engineer and that's one of your passions, to start helping with this. There's a few bits of re-implementation details that need to go through. Persist B, generally, we maintain that between builds. ADT installer, we generate two ADT installers, a QA ADT installer and the regular ADT installer. And build history tracking, we need to reimplement as well. We're still missing a few build sets, mainly some meta-intel machines are missing, OE cores missing. We have documentation. Believe it or not, I actually sat down and wrote documentation. I know, that's amazing. A software developer who wrote documentation, it's crazy. But I did write documentation. It could definitely use some help. It could definitely use, you know, maybe about twice the size it is and a little bit more in detail. And I also need people to test like Matt. I said, I can't tell whether it works just on my configuration. I can tell whether it works on my configuration. I can't tell whether it doesn't work on yours. I have no idea. There's some more features that need to be added. One of those is killing build triggers. There's this annoying little bug that's been there for, I guess, the past year and a half and I haven't had time to fix it. That if you trigger a build, it spits out all the other builds and says start building them, and then you want to kill stuff.  And it waits. And it will not allow you to do anything until it either times out or you restart the server. And by server, not the actual hardware, but the build bot server. I ensure this is about ten lines of code. I just haven't had time to look at it. There's also a really cool new feature and if you follow the Yachto list, ptest integration. I talked about this in Yachto Developer Day. There's a lot of packages where you do make, configure, make, install, make tests. There's been some work to strip out those make tests and be able to, and there's still some work that needs to occur here, but be able to run them in QEMU on the actual auto builders. I know there's been a lot of people talking about board farms. One of the things that I would like to see happen is, especially if you do have a board farm, start working on custom build steps to take the end results of these builds and spit them out to your board farm and maybe spit back tests. And also if you have other use cases, like I said, I'm trained to make this so that it's very user driven. The unfortunate thing is that there aren't very many embedded release engineers. So this should be something that, if you're running a small shop, start using it. If it's not meeting your news case, let me know. And there is some upstream work that I need to do for one single patch about this build order thing, which is I'm not the only one who's complained about it. So live demo and I've kind of actually done live demo throughout this, but I'm going to show this a little bit more. So let's say, hey, Sol, do you have a mutt ready? What is it, STW mutt? Hmm? Age master under test? Is that a valid branch? Yeah, I don't remember. All right, you check for me.  Are they underscores? If the patch is good, and he'll run master under test, we call it mutt, if the patch is good and passes the auto builder, then he sends a consolidated pull request to Richard, and Richard will end up pulling that up into master. So the wireless here is probably not going to be very happy with me, but let's hope. So now we have nightly master under test, but we have all these other build sets here that don't know about. Now we have to set all the triggered builds to the same repo branch combo. We just did that by hitting that button up top. So they all know that we're going to run a pocky contrived stage master under test. Let's say nightly non-GPL. I actually don't want to do that. I want to run pocky, and I want to run it with master. And I want to do that with lowercase.  Build appliance. I don't want it to auto rev. I actually want it to default to what's currently in the recipe. So what I'm doing is I'm passing this property that is really in the build appliance config file, but I'm inheriting it all the way up from nightly. And then I force build on this, and hopefully nothing falls down. So this will take a minute to update. What it will end up doing is it will update all the repos because it nightly needs to do its own checkout. And then it will run a preamble, create an auto comp, create a BB layers comp. And then what it does is it hits this target called build images. The reason I do this is because I have a shared D-elder. Nightly goes and just does a universe fetch. That way all the other builders don't actually need network. So what this ends up doing is it ends up saving some time because the builders just go and they look in D-elder and they say, okay, I got the most recent. I don't have to touch that. And then once it does that, it will start triggering all these builders. One important thing here that I want to show is build appliance has a property. It's called wait for finish. Build appliance can take a long time. I don't need to wait for build appliance to finish in order to finish up nightly. So I've set wait for finish to be false. And this ends up going into the create images and says, oh, no, we don't need to do that. Or build images. And this says, yeah, we don't want to trigger this or we don't want to wait for this. So that's what I have. I'm sorry if Ross wasn't here. But any questions?