It's very privileged here to interview Chris Geran of Terafugia, which is going to be explained to me. Explain the word first, if you'll be so kind. Terafugia is Latin for escape the earth, so it's a very appropriate name for our company that's producing flying cars. Indeed. Now I heard the presentation, so I've had a bit of a head start on this one. So I'm right to say that you've got an unusual wing, because you need the bottom flat, because you fold the wing in, we're going to video that in a minute I hope. That's right, we're going to video the unfolding of the wing, so it's a unique kind of condition. Where in the configuration we're in now with the wings folded, it's a road-worthy automobile. Indeed, yes. That can operate up to 70 miles an hour, it's certified to operate on U.S. highways. When we unfold the wings, it's a FAA certified light sport aircraft. Okay. And the range, this is not your latest model of course, you're moving very fast, you're doing vertical takeoff, is that right as well? The next generation will be vertical takeoff, this is the first product that we'll bring to market. I see, so you'll stay with this type, because it'll be more energy efficient. Well, we can bring this to market quickly and it's a proving ground for us for the next generation of aircraft. All right. We certainly intend to move on to urban mobility vehicles, to aircraft that have vertical takeoff and landing capabilities. Yes. But our first generation is one that operates from airports, but you can garage at your home, you can drive to the airport, unfold the wings and fly to your destination, fold the wings up and drive to your business meeting, right? You've amazed this audience, this 3,500 delegates here, they all come to your stand. And we have had quite a number of people visit us. That's really marvelous, that's really marvelous. So tell me about some of the technologies. You've obviously developed a number of different technologies, you have to, because a lot of things are not just available off the shelf. Can you tell me what sort of new technologies are in this? Actually, our philosophy is one more of taking existing technologies and combining them in new ways. But there are some things that are relatively new. In this situation, we're using a certified aircraft engine that powers the aircraft while it's flying and it also produces energy for our electric drive system. That's a road tax energy. That's right. It's a road tax engine that's readily available, it's a 100 horsepower engine. But we have a hybrid electric system, and we use electric motors to drive the wheels for the ground vehicle. So I have quite a large battery in as a hybrid. It's actually not that very large, because we can continuously produce power from the gas wheel motor. And the motor is one that, in this condition, we want to be able to drive up to a regular gas station in the United States. And we pump a premium unleaded fuel into it, just like any other car. So that's obviously a non-sulfur fuel and it costs less. That's right. It's much less expensive than aviation gas. Yeah. OK. And I think one of the arguments that I heard in the presentation was that it's not really you're going to be flying out of Kennedy any time soon. It's really the case that's in America, but also other places. I've seen it in Mexico. A lot of airports, airstrips and so on. In the US, there's more than 5,000 general aviation airports, right? So any one of them capable of having to take off or land. And they don't have an Uber. They don't have, you know, a readily available aircraft to fly with. You know, if you look at the vast stretches in the Midwest and the West part of the United States, there are lots of locations where people have their own grass strip or their own dirt strip, right? So there are plenty of places of ranchers, for instance, who fly all the time, right? And this could take off on grass? Absolutely. Interesting. And we're talking two-seater here, but we do have an ongoing road map. Four-seaters, yes, yes, yes. This aircraft is designed under the FAA LightSport Aircraft Regulations. And that requires two seats. It was a set of regulations developed for the home builders who wanted to expand into producing aircraft for the masses, right? So the FAA created a new set of regulations. Simplified, self-certifying. An easy way for those people to come to market. So we've certified under that set of regulations. It also requires a certified pilot, but that only requires half the amount of training as a normal pilot license, right? So in 20 hours, you can quickly get your sport pilot certificate, right? And be ready to fly one of these. So this is not really that fully autonomous aircraft that's the next generation, right? That doesn't require a pilot or requires an untrained pilot, right? This is the first step in that path. Yes, we've noticed, I mean, the first stage of electrification in terms of aircraft seemed to us, in terms of full electrification, seemed to us to be really sailplanes. OK. And the sailplanes are of limited use, presumably. I mean, they have, instead of using the string to pull them up there, they sometimes have had simple internal combustion engines and power gliders have been around for a long time. That's right. In this case, a power glider is a wonderful machine. It's a heavier sailplane, so it has a little bit less range, but they're great because you don't need a tow plane, right? You don't need somebody else to help you to get up the altitude to soar. That's not really what we're looking for. For us, it's the ability to drive to and from the airport that you operate from. Oh, absolutely, yes. So it's a bit of a different situation for us. It's a dream that's been around in aviation since the 1920s. And a number of different companies along the way have tried to develop this kind of a project. They always started with a car that they tried to make fly. And we've gone the other way. We've started with an airplane design, and we've turned it into an automobile as well. So our founder likes to call it a rotable aircraft rather than a flying car. Well, right, OK. But I think it seems to me that another thing that's, if not unique, very unusual in your case is that the exact opposite of taking a sailplane and changing the motor, you are putting an enormous amount of effort into safety. You seem to have done an enormous number of things. I mean, I'm not aware of other aircraft that can parachute down on an emergency basis. There are aircraft out there that do that now. But it's relatively non-stool. We've also designed in the automotive safety aspects of the aircraft. And I'm going to introduce you to Carl Dietrich, who's our CTO and one of the founders of our company. Yes. And I think he'll be happy to explain in great detail the technical aspects of the transition. Yes. Good. OK, Carl. Well, we've got the background. And I think we've got the message that's a bit like bi-aerospace who are talking here shortly. They've not taken a sailplane. They've started from scratch. And it's from the ground up an aircraft, in that case pure electric, conventional aircraft. It's complementary to yours. It's not, I think, competitive. But in your case, you seem to have really gone from the ground up. And we've got to the point of saying that it seems that you have unusually put enormous effort into safety. Can you tell us a bit more about that? Sure, yeah. Well, there are a very large number of both physical and what I would call psychological safety systems embedded into the design of the transition. Because the transition is still controlled by a pilot. And by far, the largest source of aviation fatalities are caused by the pilot. So the more we can help he or she make safe decisions, the safer a product we will have in the end. So first, I'll go through some of the technical, physical safety features. So as Chris mentioned to you, we do have a full aircraft parachute. And that's always a last resort. But beyond that, we use a very, very safe, well-proven certified aircraft engine that's certified to run on automotive gas. The Rotax 912 by a sport. We also have a motor generator on the shaft of the engine. So in the event of an engine failure, something like that, we could potentially give you a little extended glide range with this engine. In addition, one of the unique capabilities that that gives you is, if you're operating out of a high-density altitude airport, you can kick in a little bit of extra power, 20% extra power, to climb out if you're not achieving your desired climb rate. So it's a very, very nice safety feature to have on board the aircraft that a pilot can implement as needed. Just being able to kick in some extra power is incredibly valuable. I've heard that's an issue with helicopters, with when helicopters crash, you lose control completely. So if you had an auxiliary pure electric drivetrain that couldn't hold the helicopter up, but it would give you a little measure of control as you were coming to Earth, that's very important. And is that what you're doing in a somewhat similar way? You're getting a little more control that you wouldn't have otherwise in a disaster scenario. You could think about it that way. It's extending the glide. So even if you had a complete failure of all power systems on board the transition, you could still control it and fly it safely down to a gliding landing. So that's a safety feature right there that most people don't appreciate about any fix. Absolutely. It's a very nice thing to have in any general aviation aircraft, but with our hybrid electric system, we can give an extra power boost and extend that glide range quite a bit farther than you would otherwise be able to achieve. But you've got interesting aerodynamics as well. We do. We do have some very interesting aerodynamic features. One of those features is that the design of the rear end of the vehicle as it goes into the propeller, as the air flows into the propeller, in general, if you were at a high angle of attack, so the aircraft is at a large angle relative to the free stream air, that's when a vehicle would normally stall. So the airflow would separate from the wing and the wing would lose lift. And this is involved in one of the leading causes of fatal aircraft accidents that drives loss of control, stall at low altitude, which then you lose control. The transition we've designed so that the airflow separates near the root of the wing first, and we maintain very good flow over the outboard section on the elons. Oh, we saw that in the presentation. The tail sails were going mental here. Right, and they were very smooth. And this is where you control the wall of the aircraft. And has that been number four? Yes, there are other aircraft that do that type of thing as well. But it's a very important safety feature that allows you to control the aircraft while you're fully stalled. The other very neat thing about this design is that because we have the propeller back here, when the air starts to separate at a stall, the airflow goes through the propeller and you change the loading on the engine and the propeller. So you hear the stall warning, OK? And from the psychology of a pilot, nothing gets the attention of a single-engine pilot more than their engine making some strange noise, OK? Because you rely on that engine, right? So this is a very effective stall warning system for the aircraft. In addition, once you do stall, the nose will bobble and things of that nature, but you won't break off to the side. So it's a very, very benign stall characteristic. And I guess in addition, sorry to interrupt. Birdstrike, you're less vulnerable than having the propeller here. Is that right? I would say the propeller is better protected, particularly when you're driving on the road, from road debris with the wings folded up. Of course, new problem, yes. And also you could say Birdstrike as well. One of the other interesting safety features on the transition actually has to do with the fundamental design of the vehicle. So the center of gravity of the transition is about here, near the quarter-quarter of the wing. That allows us about a 50-50 weight distribution on the wheels, which is very good for handling on the road. But in addition to that, when you're flying, what this means is most aircraft have their main gear very close to their center of gravity to allow them to pitch the nose up very early to do soft field takeoffs and things of that nature. We can't do that in the transition. But what that means is that we're gonna have a longer ground roll on takeoff. But by the time you get to the point where the vehicle lifts off, it just flies off the ground very simply, and you have quite a bit of extra energy, which translates to extra stall margin, right? So you're going to be, as soon as you're in the air, you have extra stall margin, extra energy. You're not as close to falling out of the sky again, as you were in a normal aircraft on takeoff. In addition, because of the location of the rear wheels far after the center of gravity, your smoothest landing will be coming in with a little bit of extra power. So what that means is, in all low altitude operations around your runway, you're flying with more stall margin because pilots want to make smooth landings, right? So on all the approach and landing when you have the most common occurrence of stall spin and loss of control, you're operating at all phases of flight near the ground with higher stall margin than you would otherwise in a normal aircraft. So all of these, it's a connection between the physical and the psychological safety that we implement on this vehicle. In addition, with the four wheels all far away from the center of gravity of the vehicle, you come down in almost any configuration in this very stable landing. So it's very, very hard to have an unsafe landing in this vehicle. It's just more robust than anything else that you have out there. So it's, yeah. Sorry, go ahead. No, not at all. I just want to get clear. You have this product. You are now in parallel working on vertical takeoff, but this product itself could have an extended life as it transitions to fuller hybrid, to pure electric, to extremely short takeoff and landing or at least short takeoff and landing. You could have a whole road map.  Which is the route? Well, this is our first product. There are, I'm sure, improvements that we will make on this vehicle. In fact, one of the things that I'm very interested in is incorporating more advanced avionics in the vehicle to allow us to do advanced flight planning, advanced route planning, that sort of thing that takes into account the weather that helps the pilot make safer decisions. That sort of thing really, this is all about lowering the barriers to entry, making it easier to fly, making it safer. Right now, flying a General Aviation aircraft is safer than riding a motorcycle, but that's not saying much. It's not as safe as driving your car. It's not even as safe as riding a bicycle right now. With the transition, we believe that it will be possible to bring the level of safety to the point where we can say, look, flying this flying car is actually safer than riding a bicycle, statistically speaking, and potentially, with increasing levels of autonomy that we can bring into the cockpit, we may be able to get it to the level of safety of an automobile today. So you're thinking of going to 4C, sir? Not in the transition. So developing a physical airframe is a very big investment. It's a very big deal. So we're unlikely to change the physical characteristics of this vehicle. We are likely to increase the brains, as it were, making it easier to operate and safer to operate as time goes on. Already, as it is, just our launch product, we're expecting to be one of the safest aircraft that you can buy for personal flight. Clearly, sir. Have you flown any? I don't, three or four times, something like that. I mean, we have a professional test pilot who does most of the flying, but that's why, and we try to keep this vehicle in the air as much as possible with the professional test pilots. But I've very much enjoyed my time in the cockpit. It's a very stable aircraft. That's one of the other safety features. We designed it to have a rather heavy stick. This is a cruiser of an aircraft. This is not, a lot of little airplanes are designed to be really aerobatic or yank and bank kind of flying. This is all designed around encouraging safe operations. The weekend getaway vehicle, where you take it up. So we have a little bit of a heavier stick. Feels more like a larger airplane than it is. So it, really from every aspect, from the physical safety to the psychological safety of the people who are going to be flying it, it's all around about making it safe. And more accessible than that. Although you need a pilot's license, there is probably less training required. That's correct. The vehicle's designed to fit inside the light sport aircraft category. The sport, to get a sport pilot certificate, there's a 20 hour training minimum, which is half the minimum time to get a traditional private pilot license. It's a lot of money. I mean, a lot of reason for some decline in interest in aviation is the sheer cost of the airtight. The training package, actually, for people who are not pilots, we would include training with the purchase price of the vehicle. Typically, but if you were to go out and get sport pilot training today, it might be $3,500 to $5,000, depending upon how long it took. Most people complete sport pilot training about 35 hours. All right, right. And do you expect to be selling this in 10 years' time in either a fuller hybrid and pure electric form? Do you see that roadmap, or are you going to wholeheartedly go into vertical takeoff? Well, we are definitely going into vertical takeoff. But for this particular product, it really depends upon battery technology. Today, the battery technology is not there to make this all-electric and as safe as it needs to be. Meeting minimum range requirements and reserve requirements. In the future, as battery technology improves, we'll continue to reevaluate that. But there is a safety aspect also that comes from having more range. And with today's battery technology, unless you go to very high aspect ratio wings, more like a sailplane, it's very difficult to achieve minimum reserve requirements. Now, one of the other folks at the show, George Byen by Aerospace, that they have a very attractive, very high aspect ratio wing. Very, very efficient. Of course, the vehicle's in-designed to drive on the road, too. But that's how you can do it in an initial launch product. And they're also targeting the trainer market, so it's a little bit different. I think he was saying he gets 30% extra range by putting solar on his vertical surfaces. So you have any interest in that? For us, our battery onboard this is so small that it's unlike, and we're very, very weight sensitive. So it really depends. It's something that we'll look at. It's something that we would certainly consider. We certainly have plenty of wing area. But really, our goal is to start to change the way people think about personal flight. Oh, absolutely, one step at a time. Try to make it more practical, more safe. Put it in people's garages so that you see it thriving. It's interesting to us, because we're trying to look in IT TechX very much at the future trends. So we've got Alta Devices here again who are exhibiting, that's a kilowatt per kilogram with Gallium-Arstein and those Voltaics. And so you wouldn't worry about the weight of that. But the cost at the moment is appalling, but it's coming down. Right now I can buy cells, power cells that are five kilowatts per kilogram. And that's extraordinary, but they have decent cycle life at those specific powers. But I can't get the specific energy that I would want for it. So those are maybe 120 watt hours per kilogram. Many of these all-electric aircraft concepts that you read about in the news today are counting on getting up into the 300 to 400 watt hours per kilogram range. So it's hard to buy that stuff off the shelf. It's made in laboratories right now, but it's not quite there yet. So obviously we're staying very closely attuned to what's happening in the industry. And as the battery technology develops, certainly it can enable new and exciting products because if we can go all-electric, there's a lot of potential there. Assuming the cycle life of the battery is also sufficiently attractive to dramatically change the cost equation. But one of the interesting things is when you look at these all-electric vertical takeoff and landing concepts, with today's battery technology, you would have to, even if you could get the specific energy up to where some of these laboratory cells are, they don't have the cycle life. So you're gonna have to replace the batteries very frequently, which means that it doesn't actually save money in the end. No, no, I realize, yes. And that's a big challenge. So that's where I'm hoping to see development. Because if it's not commercially effective, it's not commercially competitive, it's gonna have a very hard time because on some level you have to get to the point where you need the minimum level of safety and then you need to be a competitive in the marketplace. So right now it's not quite there. Well, one last question, and this is another strange one, a number of people in aviation now with small aircraft, they go into a thermal like a glider does, the propeller goes backwards, charges the battery on the way down and you have to go pretty steep and you can charge the battery. And then when you're parked on the grass, you in a windy day, the propeller goes backwards, charges the battery. Is that interesting to you? Is that sensible or not? If you have it anyway, certainly. Yeah, to do that sort of thermal soaring and to get a significant fraction of power. Again, I think you're talking something like a sailplane configuration, very high aspect ratio wing, which absolutely can work very well for that type of market, the sailplane type market for a practical longer range transportation aircraft. It's a little bit harder. But I absolutely expect we'll start to see because there's a lot of movement in this direction. We will start to see higher aspect ratio, plan forms, more efficient aircraft as time goes on. It's a very exciting space. Well, next time we're gonna interview you, I hope about the vertical takeoff activity, which obviously can't go pure electric anytime soon. But no, it's wonderful. And I do hope over the coming years, we're gonna see all that progression because what you've done is truly groundbreaking. Absolutely awesome. And thank you very much for making our whole show come alive. Wonderful. Well, thank you for having us. I appreciate it. Yeah.


Welcome folks, this is Tom O'Brien of TFNN. We have five days a week, we go seven hours a day, we go 24 hours a day in the internet at tfnn.com. Always remember folks, whatever you think about, you bring about whatever you focus on grows. Hope everyone's having a great day, safe day. It's a TGIF folks, you gotta love it. And I don't think there's a place in the country that's not steaming. I think it's amazing, right? You know, we're steaming down here, there's no doubt. But in Boston, man, they're steaming like about five degrees more than we are. And it's been there five days evidently, so that's pretty intense, man. Always do your best, express your own divinity. You don't need the acceptance of others, you don't need knowledge of great philosophical concepts. You have the right to be you and express your own divinity by being alive, by loving yourself and loving others. Oh yeah. Make it wise, let's take a look at it out here. We have the Dow, industrial's down 18.  Gold contract down 18, $0.70, trading at 17.88. You got silver down 31 cents, $19.81. Light sweet crude, flat, $88.66 a barrel, notes and bonds. The 10-year note down a point, plus 12.6 at 1.19.12, the third year off of two and a half points at 1.4108 and King dollar. King dollar right now is trading up 929 ticks at 106.922, the Euro is at 101, the yen is at 135 and the British pound is at 120 to one US dollar. iPhone numbers 877, 9276648, give us a call folks. One note, it's going on in your world and the world of the S&Ps, let's take a look at them. What do you have? Well, bottom line, you come out with a jobs number that was huge. And what does the market do? Market goes south first, here check this out, this is so cool man, it's sick. Okay, so we'll bring up the futures for a second. You're gonna see this shake out man. And this is bottom line, you gotta trade this market out here in a monster way. So what do we do? Bottom line comes out with the numbers, right? Go straight downtown. Now watch what happens. You see how the volume contracted like dramatically? That's telling you that, hey, guess what man? Yeah, the deviance is going down, well guess what, we're gonna go right back up. Well, watch what happens here.  So see that first big bar? The first big bar has 54,000 contracts, right? So then we make a low there with 24,000, right? And then watch this. The first bar off has 86,000 contracts, right? And if you wanna see, if you understand time in the trade folks, you know, we're always putting the bowl against the bear and let's say the up against the down on volume. That's how I trade, okay? So you can see when we came all the way back up, you had 59,000 contracts going against 57. It's like, okay man, that's a lot, you know, by the way. It started giving it up. And then when we came back down, we made the next low with 51,000 contracts versus 86 on the way up. That's telling you, man, we're going right back top side. Sure enough, what does it do? Flips right around at the 41,12 area, bottom line. What you have out here now is this. Now, let's go back to the spy. I'm gonna show you what you have.  That being said, it's not over, man. You know, what you have here. See this right here today? You have 44 million shares, right? So you get a down day. You're going against 87 million. Bottom line, we do about 50 million. That's building cause, man. You find out more about markets, folks, on the counter trend move. And in this particular case, the counter trend move will be moved down because we're going up for so long. And there's no sellers, man. That's the bottom line. You have no sellers, doesn't take much for buying to come in, to accelerate to higher price. We take a look at the three cues. Three cues, now this is what's cool here. It's just the opposite, actually, okay? So what you have with the, and the reason being is this, is that the cues already show that they had strength on Wednesday. Then we went to a higher high yesterday and bottom line, yeah, it was slightly higher. We only did 38 million shares, but you can see what's happening. It rejected lower price today at 318.39. You're actually gonna have as much volume as we're probably gonna have higher volume than we did on Wednesday. That's pushing a swing and you're pushing it on volume. Then take this and you're gonna put this on a weekly and what you're gonna see in the weekly, the bottom line is that last week we did 272 million. This week you're at 232. You're gonna do about 262, okay? Bottom line and you're hanging price. This is saying this keeps wanting higher price. Gold, we take a look at the gold contract out here.  And bonds actually, so the dollar, gold rather. They slammed gold down to 1780. It's at 1789. You're gonna see the huge contraction of volume. So we've done 160,000 contracts, you'll watch this. Whoops, there we go. Okay, so you're going against 174,000. You did 160. Bottom line, you didn't even get to the low of yesterday. I know it's only a dollar, but the bottom line didn't get there. It should've got there. It should've maybe croaked that thing and it couldn't. Now, well first let's go to the bonds next. Cause you gotta put the bonds together. So watch this. You're gonna put the bonds together with the dollar. So we got this, we're down one point plus 10, six. This is shot volume, man. We got 1.3 million, you're probably going up to 1.7, 1.5. One point, yeah, here it is. We're going up to 1.79. Bottom line, this is just trading, period. And then we're gonna take the dollar. Because when you take the dollar, the bottom line is that this benchmark that we've been talking about, it just can't handle this benchmark, man. I mean it, it's pretty cool. This is, this is what's so cool about this folks, okay? Is that the amount of folks, and I don't blame them, I mean, do you know what I mean? Rates are going up.  Well, guess what? It's not, man. That's the bottom line. You can see we got to 106.930. You're at 106.562. When this can't hold 106.792 on a day like today, that is telling you a huge amount. What I would do, well, that's exactly what I'm doing. What I do is I put that dollar together with the bond, knowing that in, I don't have the volume on the currencies, because no one does. The volume on the bonds, however I have, that's gonna be rejection of lower price and it's still wants higher price. The dollar wants lower price. The NASDAQ wants higher price. The S&P wants higher price. We're going higher, man. Stay right there, folks, we'll come right back.


Hello everyone and happy Labor Day. Today we celebrate the hardworking women and men who build a stronger Canada and a better future for us all every single day. My friends, you are the backbone of our country and you've always been at the heart of our success. And thanks to the hard work and advocacy of unions, we've taken action to protect collective bargaining rights, strengthen the Canada Pension Plan and make workplaces safer for all Canadians. Now, I know the last few months have been difficult for many of you and your families and your colleagues. If you've been working on the front lines, you've risked your health to provide the services and care that Canadians count on. You've helped us throughout this crisis by caring for our loved ones. And to recognize the important role you've had, we worked with provinces and territories to provide a temporary wage boost for you. And if you found yourself unable to work or your hours were cut back because of COVID-19, we provided financial support through the Canada Emergency Wage Subsidy and the Canada Emergency Response Benefit. And as Canadians transition back to EI benefits, we're going to make sure the EI program is more flexible and generous so you can get the help you need when you need it most. We will always support Canada's workers because together we can build a stronger country for everyone. Once again, thank you for everything you've done and continue to do to create communities that we're all proud to call home. Stay safe and healthy, everyone, and enjoy today.


Presenting Sponsor. Kimji, Jhula since 1936. Kibholi Ishtabha Patra Grahana Parichhanti. He is the head of the D.S. Kuteng Kanaare BJP Abhijjoh Ghani Thila, Paniyan Kanaare Abhijjoh Ghani Thila, and this Abhijjoh Ghanu Thila, who is the head of the Jhula Park, SP, MNS, Sarakari, Kamore, Niyoji Tachanti. Let us now welcome Karmi Bhoomi Kare Karmaachari. I am Mr. Raibe Vidhayak, Mr. Aravinda Dhali. I am Mr. Raibe Rajanithika Samikshaka, Mr. Janakish Badpanda. I am Mr. Raibe BJN Netashri Manasbastia. I am Mr. Raibe Congress Mukha Patra, Madam Jai Sripatra. Mr. Dhali, where are we going to start? Mr. Dhali, if you give me a BJP, I will give you a BJP remission. Mr. Dhali, what is the use of this Raving Rosh? And who is going to the CM? Of course, it will be done by the D.S. Netamani. Or it will be done by the entire Kote office. Mr. Dhali. Hello, Mr. Amshanti. When we went to the CM, the CM gave us the letter of the CM, but the letter of the CM was given to Rabindra Shethi, that is, to the government. So, it was not given to any Indian, it was not given to any Indian, because if the CM was given the letter of the CM, then it would have been given to the CM. So, it would have been given to the government, I mean, if it was not given to the government, then it would have been given to the government. So, it was not given to any Indian, it would have been given to the people. I had said that I had fought with U.P.Nirbhacharya for the first time, at that time, it was the same thing as the Vizhubhavangra. I had gone to the Bi-Lexion, for that, I had gone to the MLA or the Kodiya Mantra. So, if the government was given the letter of the CM, then it would have been given to the government for the election. And the government's government, I had worked in the MLA in 1992, I will show it to you in the first place, that I, the government's government, if I was given the letter of the CM, then I would have been given the letter of the CM. The administration would have met me at the meeting all along, I would have been the one to reach out to them. So, we were also ready for the Vizhubhavangra. I was also ready for the Vizhubhavangra and the Vizhubhavangra. I was not prepared to give in Vizhubhangra because my life was in danger. I was a member of the Govt. There is no such thing, because if you are in the middle of the road, you will have to go out of the road, which is the middle of the road. You have to suspend it. If you suspend it, people will make a lot of mistakes. That is why I suspended it. No doubt about it. There are a lot of problems. Without paying any attention, that is why the way the money is collected, the ticket is collected, the emrity is collected. That is all. This is the reason the problem is solved. We should look at this state to identify the situation. Mr. Manasabu, who was running the business this time? The one who had signed the official policy as the right-wing minister, the one who was running the government policy this time. Mr. Manasabu. Sunandu, there are many other people like Rajya and Mukhyamandri. Mukhyamandri's work and Abhasigha's work will be done by Karamacharya. They won't be able to show their work to the people. They won't be able to show their work to the people. They won't be able to show their work to the people. Sunandu, do you also work for Ishtabapatra? Yes, Sunandu. And Ishtabapatra is our work. Is it our work for both of us? Sunandu, where is our work for both of us? It's about the money, Sunandu. And where will the money be from? It's in Ishtabapatra. And Ishtabapatra is our work? It's not about paying the salary and salary. It's not about paying the salary and salary. It's about paying the salary and salary. Sunandu, the work is done by the people. I don't give income in social media. I don't give income in social media. No, no, no. That is Rabindra Satie. What did Rabindra Satie say? Rabindra Satie said. Yes, Rabindra Satie said. If the government is involved in this, then who will be responsible for it? Who else will be responsible for it? That is a very big question. And we have to forget all the big examples. Let's look at the VK Pandian. First of all, let's look at the Chief Minister, Naveen. I am very happy that the international law has given us the opportunity to live in the old age. I think that we should not give up on our own. We should not be afraid of the future. We should not be afraid of the future of the state. We should not be afraid of the future of the state. The government will not give up on us. I will give up on my own. And I will leave my concerns and emotions in this just express. I mean, Vijay Vijay, Abhijay Ganuji, Sikta Arvind Valadhi. Listen to what we have to say. What I have to say is that, if you send a mail, if you send a register, you can send an address to the Chief Minister. Whether you send it or not, whether you send it or not, at least it requires a reply that I, your resignation, I have accepted it and I have confirmed it. But there is no such thing. There is no such thing. So, if you send it, the Chief Minister will know and the Chief Minister will know. So, if you send it or not, the Chief Minister will see and return it or keep saying that I have accepted this resignation and I have returned it and I have also received a letter that, whatever you may do or do in the city, it is not acceptable. If you send it, you can address the Chief Minister. Listen to what we have to say.  Who is going to do this? No, I am not going to do it. I am doing something else We are not just sitting on the panel, we are talking about the future of the people. What people are experiencing, what is going on in the government, what is going on in the government, is what the people have decided to do, what they have understood, what is going on, what is not going on. We are not just thinking about the future, what is going on, what is not going on. But here, especially, all the people, including the winning candidate and the intelligence report, should be done together. And this is what people are saying, the more and the more people are affected, the more and the more people are affected, and the more people are affected, the more people are affected. So, the government is not doing anything today. So, the media, social media, all the people are being alert, all the people are listening. People, the government, the government, no one is going, no one is going. All the people are listening to the intelligence report. So, the government is not doing anything. Okay. Quick reaction. You will be given a reply to the people, and not just any person. If you are not quite aware of the situation, you can consult the people. Thank you very much for your answer, Mr. Janakis. Mr. Aravind Dhali and Mrs. Jayasri Patra. Today's topic is about Karmi Bhoomi, Karamachari and what's the matter of getting married and what's the point of seeing her? Here's the problem. Thank you.


Welcome to the second of our live coding demonstrations with the UK Data Service. My name is Dermot McDonnell. I'm a research fellow at the University of Birmingham, but formerly of the UK Data Service. And with my colleague, Julia Kazemeyer, today who will be helping me facilitate, we will go through some of the materials we developed for our social network analysis webinar series. This is a series of three webinars, so some kind of lectures and some live demonstrations and some further teaching materials, et cetera. The purpose of these two coding demonstrations, the previous one was two weeks ago, if you are unable to join us, is to just go a bit more hands-on with the actual coding involved in doing social network analysis. So we're going to take our time today for about half an hour, 35 minutes. We're going to get stuck into using Python to do some social network analysis. So if you're completely new to Python or completely new to social network analysis, then today's is kind of made that at you. We won't teach you Python from scratch, but we'll show you some basic commands and some basic coding that you can use. And today we want to focus on getting some social network data, specifically Twitter data. That's what we're going to do today. So again, thank you very much. If you have questions as we go along today, then please type them into YouTube if you're signed in. I encourage you to sign in just so you can leave comments. But of course, not a necessity. Today really, you can just watch what I'm doing and you can execute the exact same code at the same time as we go through today's session. So my brilliant assistant, Julia, should be posting the link to the materials that we're going to use today. As I say, you can execute the exact same code that I'm using. We're all going to use an online version that's openly available to anybody. And where you can find it, if you're unfamiliar with what we've done before, is the UK Data Service has a profile on a platform called GitHub. This is a coding repository so people can share their code and work on it collaboratively. The Data Service has its own profile and underneath we've got lots of different training series that we've done before. So we've done some text mining, we've done some introduction to Python, code demos, we've done some web creating, et cetera. So today we're going to do some social network analysis. So you don't need to worry about the link. Just know Julia has posted a link in the chat box so you can just go directly to that. So we've got a lot of different materials. We've got some advice on installing Python on your machine or reading lists, some webinars that you could watch if you want to get into some of the theory of social network analysis. But today we're just going to get straight into the actual coding itself. So basically we're going to launch what are called Jupyter Notebooks. If you're unfamiliar with what these are, you can think of them like regular paper notebooks where you can write in whatever language you want, whatever language you write or speak in. Jupyter Notebooks are electronic notebooks where you can write different programming languages. So today we're going to use Python, but if you're more than our user, you could write a horror code in this notebook. If you're a quote unquote proper programmer, you know you could write in C sharp, visual basic, Julia, lots of different languages and you can use as well. So if you click the link and you should see something very similar, basically I've just made the repository live. So now it's a live coding repository and we can start executing our Python code. So last week if you joined us, we kind of looked at some kind of fundamental concepts and techniques of analysis in social network analysis as a field. Today I realized we probably advertised today as doing the analysis, but since I did it two weeks ago, today we're going to focus on getting some social network data against specifically Twitter. So what we want to do is when we get this view here, we want the UKDS SNA getting data notebooks. So we just want to click on this notebook here and that should launch the code that I want to use today. Excellent. So this is a Jupyter Notebook. This is what we use to develop our training series. As you can see, they're openly available and they're interactive, so not only will you be able to execute the code today, but you can change it however you like and it'll always remain unedited, unchanged. So any changes you make today, you can go to the file and you can go to Save As and you can download your own copy with your own changes. But this version we have right in front of us now will always remain unedited on the repository and you can launch this whenever you want. If you make mistakes and you delete everything, you can just go back, relaunch it using the link we've given you and go again. So what we want to do is there's lots of material on background and concepts. Today we just want to get stuck into the code. So in the table of contents, just at the beginning of the notebook, we want to go to section four. So collecting social network and data. So if you've got this notebook to launch, then again, feel free to work through yourself and execute code in sync with me. If you haven't got it launched, then don't worry too much about the link. As I said, it's all there for you to practice later and you can just follow what I'm doing just now. Excellent, so we want to go to section four. I've just been told there's a little bit of echo on my end. It's to do with the completely bare room that I'm in. No carpet, no furniture. So I don't think there's much I can do at the moment about that. Apologies. Excellent, so we're in section four of the notebook and this is how we interact with it. So a notebook is made up of three different types of cells. So if you click on this heading here, you can see that the cell is highlighted. If we double click on it, we can see that it's just basically a cell for typing in a text. So I can say this is a text cell. If you wanna execute it, you can go to the run button here and that basically just executes the cells. So it just prints the text in a slightly formatted manner. If I double click again, you can just delete the text that I just put in.  So CTRL and the carriage return or the enter button and that executes the cell also. We're not gonna do any typing text today. We're more interested in the code. So what you can see here is this kind of grayed out cell with an IEN square parenthesis. That indicates that it's a code cell. So IEN stands for input. So the notebook wants you to type some Python code into it. So that's what we're gonna begin with now. So if you're using Python to do some social network analysis, so that that's doing the actual analysis itself, collecting data, et cetera. Anytime you launch Python, no matter how you use it, you basically have to import all the functions and commands that you need for this session into your Python instance. So today we're using a Jupyter notebook. All of these different commands and packages that are all installed on the machine or online, we basically have to tell Python, hey, bring this into this session. I need to execute these commands today. So good thing about Python is it's quite English language based. It uses simple legible terms to describe commands. So the import command imports the functions that you need for today. So just like the text cell, we can click anywhere on the code cell. You can see it sometimes it's highlighted in blue, sometimes in green, which means you're on editing mode. So again, I can click the run button or control enter on your keyboard. And what we've done is we've asked the notebook to execute the Python code stored in that cell. So if we just get a number in the parentheses, that means that the code is executed successfully. If, for example, we made a typo and then we try to execute the code, you can see an error message underneath the code cell. And in this instance, there's no Python module, so there's no set of code or commands called twp, you know, the typo that I made. So I'll come to my typo and execute the code again. And now Python has everything it needs to begin collecting Twitter data. And as you've probably noticed, one of the key modules or packages that we need is something specifically written for Twitter data that's called twp-py or twp-p, or I guess it's technically a twp-py, but I'm gonna say twp. And we've got a package for handling a particular data format called JSON. We've got a package for working with data sets or data frames in Python called pandas. You've probably come across that before. And we've got a basic module as well for working with dates and times. So this is apologies if this is teaching us very rudimentary things that you may already know, but it's important to think of doing any analysis in Python in very sequential logical terms. So you have to get it set up correctly to begin with and then we can start doing more interesting things. So what we want to do is we want to connect to Twitter's database, otherwise known as an API. This is called an application programming interface. An API is basically like a middleman in between you wanting to request data and the database itself, which actually stores the information you want. It's kind of like a translator or an intermediary. I've also seen an API described as a plug socket. So the electricity is being provided to your home through the wires. You've got a device on your desk and it's through the socket that you connect to the electricity supply. So an API is like that, an API is like a socket. I've got my machine here that wants Twitter data. Twitter has its database that stores Twitter data and we want to connect to it. Very whistled up, ToroOne API is, again, we cover it in more detail in our webinar. This is all to say that basically we're connecting to a database. Some databases are completely open, but most restrict access to verified users. So Twitter API is no different. Basically we have to tell it who we are in order to request data. So we're going to use real Twitter data. So we're going to use my credentials. They're going to be destroyed at the end of the session. So have your phone now, please don't try anything crazy. But it's reasonably quick. It's something we cover in the webinar, how to register, to use the Twitter API. You can take two to three, maybe even five days for you to be verified and to be granted access. So if you're in a rush to do your research, then factor that in that Twitter does actually check the application you make to use this data. But it very rarely stands in the way of academic usage of the data. So for example, there's a file on the repository here. So Twitter API, fake credentials, it's just a little text file with some variables, storing the access token, the secret, et cetera. What that basically means is that when you want to connect to the Twitter database, you give it your username and you give it your password and that verifies who you are. So we're going to execute these commands here. Basically I'm opening the file that I just showed you and loading in the data and storing it in this variable or this Python object called tokens. My username or my consumer key is stored in a field called usefully, consumer key, et cetera. Then I have a little command here that just basically prints the information we've read for the files. So these are fake credentials. So this is me, here's my secret, et cetera. So we're going to actually load in my real credentials now so we can actually access Twitter data. So we're going to execute this code cell here. So with the actual proper genuine file open, let's load in the data. So this is basically what we call in the education business deliberate mistake. Oops, as you have noticed, if we go back to the real file, I've stored what I need in some of my basic, my idea is called the consumer key and my password is in a field called API key and secret. And you can see here that I'm looking for a field called API key, which doesn't exist. So I'm just going to update to consumer key and API key secret is correct. So if I load that in and execute it again, now we don't get any error.  So I'm just going to type it very quick. I'm going to put information back to the screen, so I'm going to just say print consumer. Okay, so I have made, exactly. Okay, just a moment. So I said I was a deliberate mistake a lot, but I then compounded that with an unintentional mistake. So I need to put up my real credentials very quickly. And I'll do that just, there we go. So as you can see, we're edited slightly earlier, but I didn't follow through. I'll just double check that that works. I promise once you see what we're actually able to do with Twitter, you'll be very happy that I got this working. So just indulge me very slightly. No, so correct, I didn't actually save my details. Correct it. So we'll do this very, very quickly. Holds, excellent. I thought this is somewhat useful, this shows you once you actually register to use the Twitter database, you can see kind of your settings of what you're allowed to do. So basically I set up an application called Charity Tweets. That's what I'm interested in as a researcher. Basically I need to get my API key and my secret password so that Twitter knows who I am when I request data. And it's quite secure so you can see it regenerates my user ID and my password. And each time so it prevents, it kind of acts as a bit of a safety mechanism against people getting hold of your details. So you don't have to worry about any of this because I'll re-upload this file. I think that's what happens in the sense. This don't ever work with live code or children. Okay, so once more I'll just upload my actual working Twitter credentials. Excellent, okay. So what you might need to do is because we've opened this stupor notebook, before we made the changes that I just made is that you probably will have to launch it again. So you just click on URL bar at the top and press enter should work. So we'll go back to section four. Actually, the easiest thing is to relaunch and everything wants to work. Yeah, so the original link that Julia posted into the YouTube chat, so if you just click that again and then basically that basically rebuilds all the Jupyter notebooks from scratch because we've made a change and that should have the proper Twitter credentials file. And yeah, okay. So I'll bore you a little bit about what's going on here since we've got a tiny bit of time. What we're using is a thing called Binder. Binder is basically a software online service that if you've got some code, basically it builds a little mini computer online that can execute the code. So if you're working on your machine, you may have installed lots of different packages and programs, et cetera. You basically bundle all of that up, you host it on Binder and Binder is it to recreate your computer, basically. And not your entire machine, not everything you've ever installed or downloaded, but anything that's specific to a piece of work like this, you can recreate it online or other people to use for free, which is quite good. So that should be us. Hopefully this is all useful for your own sake when we inevitably bump into issues, but I do apologize. That's probably my issue for trying to keep things half-secret and half-not-secret. Yes, so if we go back to section four, we, yeah, reload everything in. So API to key should be consumer key and then we can reload everything in. Set it so it's above or we can just hopefully double check that this now works. So what is the consumer key? We're just asking Python to tell us what it is. Okay, now that's much better. That looks like an actual consumer key. Yeah, and that looks okay. So now we've got my genuine Twitter credentials. We can connect to the API, the database. We can start getting some Twitter data. Fantastic. So we've got my credentials. The next thing we want to do is pass those credentials to the Twitter database itself. So this is where the 2P module in the Python comes in. It basically saves you writing a lot of code directly to the Twitter API. So 2P has been specifically written to make it much faster, much more efficient, much easier to connect to Twitter and to request data. So basically it hides a lot of the more detailed and intermediate level Python code you need to write and wraps all of that into really simple functions and really simple methods that you can use yourself. So for example, if I want to authenticate or validate my access to the Twitter API, what I do here is I call the 2P package in Python and I use this method called application authentication handler or a UTH handler for short. And I pass it in my new user ID and my password. And I store that just for its own sake in a variable called auth AUTH. So basically I take my credentials here and I pass them into the Twitter API itself. So again, the best thing we can do here is, in case we're confused of what did we pass and who did the composite connection make that might not allow it to request data, let's actually try and request some data. So I've written a little bit of a really simple command here, I'm basically saying, you know, connect to the Twitter API, use the search method and the query I want to search for is my first name, which is DearMid, and then I just want to return the first 20 results. And for each search result, show me the texts that are every tweet. So let's see if this works. Excellent. So I should say that this is lying on Twitter at the moment, so if there is any swear words or anything of it inappropriate for, yeah, so there's some words that maybe shouldn't be in a live demonstration, but it's a live piece of code that we're running, so apologies if you do see something. So basically I just asked Twitter to search through all of the kind of most recent tweets and say, can you find my first name? And this case is sensitive, as you can see, so there's a Twitter user here, it's not me, it was tweeting about Jeremy Clarkson, saying something to him, and you can see that there's some Japanese tweets. Apparently there's a manga or anime character who has my first name, which is quite interesting, I think so, and given that I'm Irish, as you can probably tell, there are some Irish language tweets that I mentioned in my name, so because this is live, I don't really have a very popular or common name, but if we were to rerun this code, it might produce some different results, it doesn't just now, it's maybe in a minute we can come back, just to show that I'm not seeing these results somewhere and calling them now, and in real time we are actually querying the Twitter API. So that's one of the simplest things we can do, we can just say, here's a piece of text that we're interested in, Twitter, go through recent tweets, and give me the first 20 search results and that find my name, so for example, let's extend it, let's say give me the 30 most recent, so it gives us the 20 that we've just seen, you know, plus a longer list here as well, excellent. So let's just confirm that we have actually connected to the Twitter API, again very simply, get our credentials, we sort those in a file, I think that's the safest thing to do, then we open the file, read the file, get our credentials, pass it to the Twitter API and the way we can then start using the Twitter API and search and come analysis methods that are most interesting. Right, so let's get to the good part, so we wanna request some more data from the Twitter API, so we can see we can do a very general search of texts, contain the tweets for a certain search term, let's be more specific, let's say give me all the information you have about a certain user, so I'm on Twitter, so remember earlier I created this Python variable or object called API and that's just basically a variable that stores all of the information needed to connect to the Twitter API, and so it's a nice shorthand, I don't basically have to write any of this out ever again, which is quite long, anytime I want to use the Twitter API, I just call this variable or this object here and whatever method I'm interested in. So as I said, Tweety is designed to make it a lot easier and faster to request data, and one way is by creating a method called get underscore user, as the name suggests, get me all the information you have about a given Twitter ID, so my ID is I'm German Mac, so basically I'm asking the Twitter API, tell me everything you know about me. So this is all my publicly available information, so there shouldn't be any secrets, but to begin with what you can see is some kind of metadata about the request to the API it just made, and what we're interested in is the actual content or the data itself, and that's all the sort of field called underscore JSON. So at the moment this is quite difficult to read the way Twitter returns the information. We can see in a moment how we can take out the information that's of interest, and we can put it into a nice clean data set or data frame, so we'll do that in a moment, but even if we just visually scan the information that's returned, and you can see the name that I gave in Twitter and my screen name or my profile name where I currently am, my former role, which needs updating, and do I have a personal website, et cetera. What was my account created, 2010? It was interesting. How many times have I liked something? How many times have I tweeted? I had tweets that are known as slapses in Twitter, and you can see what I have most recently done, so at five to eight this morning was the last time I tweeted, and I was to have an argument about public health, which everyone thinks they're an expert in at the moment in computing myself. So you can see there's reams of information returned, most of them is about my recent tweets, but some of it is quite interesting, kind of metadata about me as a user, and there's some interesting things about each tweet as well. You can see that I posted it from my phone or my laptop or where I was at when I posted it, so there's some quite good information you can get just about users and to begin with. As social scientists, or most of you probably are, if you're doing a case study on a given organization, it can be quite good to pull this kind of metadata about users. If we take something a bit more important on myself at the moment, we can see Boris Johnson, the Prime Minister of the UK, has a Twitter account as well, so we can get the same information from the term from him. So his screen name is his full name without a space in between. You can see he doesn't tell you where he is, but I guess we know where he is, which is number 10, Downstreet, and the description of him, who he's a Member of Parliament for, and then we can see what he's most recently tweeted. So if we go to the, so there's a field called Stascus, and within that role, the tweets that he's recently posted. So you can see the last time he tweeted, it was about 10 a.m. Here's the unique ID of the tweet that he posted, and here's the text that he actually posted. So yeah, it's Holocaust remember and say, so his most recent tweet was in honor and in memory of that, but we can keep scrolling back, and we can see other tweets that he made. Also, you can see that there's URLs that he's posted in his tweets as well, that can be quite interesting, which will allow a quick look up as well. Just now, that's very, very quick, just kind of look at, requesting basic search information and some basic user data and user metadata about people on Twitter. And as long as someone's profile is public, which I think is the best my knowledge of Twitter, that there's not such thing really is, there are private accounts, but most accounts worth anything or are following the public figures, for example, or are public, so you can get access to pretty much everything they said or everything they've shared, for example, or retweeted or like, so you can do a lot of really powerful stuff with the Twitter data. So we're going to run through a very quick example of in my research fields, I'm interested in charities and nonprofits. And there's a really, you know, kind of venerable and effective UK charity called the Royal National Lifeboat Institution, the RNLI for short. It has a very active Twitter account, which I'm quite interested in. And what I want to do very quickly is I want to kind of pull in as many of the most recent tweets as possible. I want to extract certain fields from those tweets, so certain bits of information that are really interesting. And I want to spit all that information out into a nice kind of clean database and save all of that to a fighter. So it sounds maybe reasonably complicated, but it's actually quite easy to kind of pipe on Twitter. So what I want to do is I want to get the full user timeline. So basically that's not everything that this Twitter account has posted, but it's the couple of thousands of most recent tweets that it's made. So just because Twitter has a database doesn't mean that you can access every single scrap of information that Twitter has ever collected about every user. And I know we're all that naive, but you will be surprised sometimes about the restrictions that are put on the data that you can access. So I can't get everything that this charity has ever posted, but I can certainly get quite a lot of this most recent Twitter activity. So again, there's a method called get user on your score timeline. I pass it a Twitter ID. So this is its profile name on Twitter. And all I'm doing then is saving all of those results and to a variable called rnli recent timeline. And then I just call that variable and say, right, show me what you've actually saved in this period. So what you can see is we get so many results that we get a little output window here. We've got quite a long-gated scroll. So you can see when I ask for the recent timeline, I'm getting reads and reads and information back, but as I said, not everything is ever posted. So again, as you can see the actual kind of data that's returned is in a field called on your score JSON. So we get some metadata about the most recent tweets. So they tweeted at 20 to 12 earlier today. Here's the unique idea of the tweet. What did they actually say? So special New Year's message, et cetera, et cetera, the president of the charity said, X, Y, and Z. So you can see that the request we made to the Twitterer goes successful, but we've gotten back at all the too much information that we can really read. So we need to handle it a bit better. So basically we've asked for the recent timeline, that the recent timeline is basically a list of all the recent tweets that it's made. What we wanted to do now is employ the program logic. We want to loop over the list of results that are returned and we want to then kind of pick out the relevant fields from the results and we just want to kind of predict what those fields contain. So basically I'm saying for every status in the variable I've just created, so in the big list of recent tweets, for every tweet, find the field called create that and find the field called text and print those back to the screen so we can read them. So basically this is just looping over this big list of results that we just produced, only this time pulling out kind of more readable, more interesting information. So we saw the most recent tweet was just before midday today, UK time. And we can see that they posted about an hour and 15 minutes before that, which was in response to someone else. And even in such a very simple thing that we've done here, we're already beginning to see the network aspect of Twitter data. So we can see that they're applying to a Twitter account called this and they're asking this Twitter account to email the Charlie directly. So not only have we got two Twitter accounts talking to each other, we've got the possibility that somebody then has actually contacted the charity through a different mechanism through email. Maybe I'm maybe being able to do more than it is, but I'm just trying to show you how we were beginning to see the kind of network and the web of connections and simply through one Twitter profile and at the moment. So as you can see, they've been reasonably prolific on Twitter, probably about four, five, six tweets per day. And typically, not always the case, but probably on average. And I'd say probably half their tweets are then posting content themselves. And the other half of the time it's replying to people to contact them on Twitter as well. And then they're able to tweet in well results, which is quite interesting. I mean, just seem to pick one, pick one out of really reasonably around them. On the 22nd of January, somebody called Emma from this Twitter account and seems to have done some fundraising for this charity by, I guess, cutting off her hair. So again, one simple act there, we can see a connection between charity and individual and a couple of other fundraising campaigns as well. So this is where my interest comes in between fundraising campaigns, charities and donors and how they're all connected. But I won't wax on about my research area, we'll wrap this coding example up shortly. Yes, so we've created a variable called rnli recent timeline. And that contains, as I said, about three and a half thousands of this most recent tweets, so we got the exact number just now. So basically, I want to kind of filter through that list and extract the information that I'm interested in solely because as I have to tell, there's a lot of metadata, there's a lot of stuff I'm not particularly interested in just now, but you may be interested in other bits of information also.  So I'm creating a blank list, which is what I'm doing here. So square brackets and pythons means I'm creating a new variable of the list type. So it's going to store common separated values basically. And then into this list, I want to take out the JSON field. So as I said before, when we make a request to the particular API, there's a little bit of metadata returned to actually the content of what you're asking for is in a field called underscore JSON. So that's all I'm doing here, creating a blank list and for every tweet in the user timeline, I'm basically saying, give me the JSON field. So next to that code there, it will probably take, I don't know, probably 25, maybe 30 seconds. When you're using Jupyter notebooks, if you go up to the tab in which you're running the notebook, and you can see a little hourglass, if there's an hourglass figure or symbol in the tab, that means that the notebook is still actually executing code. So just if you ever execute a cell and you're like, nothing's happening, it's frozen, odds are it's not frozen at all, it's just some commands take a little longer than others. The other way you can tell is if you go to the cell that you just executed in the square brackets that would be an asterisk, meaning it's still processing. And as soon as it's replaced by a number and there's no error message, then you know it's executed successfully. And what the number means is that's the order of code cells that you run. So this is the 14th code cell that I've run today. So how do we know that worked? So as I said, I've created a new list. A good thing about a list is you can ask the list how long it is. I saw how many elements are in the list. So in Python, I use the length method and I say how long is the list? Yeah, and as I said before, there's about 3,230 tweets, recent tweets that it's found for that chart that I'm interested in. Another way then to look at the list is every element in the list is numbered. And the number is beginning at zero, which may be somewhat confusing. Getting that would usually come from one. In Python, you come from zero. So the first element in the list is element zero. So that's why I have a zero in this field here. And you can see what I've actually then populated my list with. It's all the information in that JSON field. So here's the tweet, here's the data that was created at. Again, this is information that we've seen previously, but as you can tell now, it kind of stripped away all the metadata and the stuff I'm not thoroughly interested in. I'm just focused on information about each tweet. Again, I would advise you just to play around with the results that are returned because as you can tell, there's so much. A lot of it is very intuitive if you use Twitter. For example, so we've got information on every tweet. So this is the unique idea of this tweet. Here it was when it was posted and here is how many times it was retweeted. So that's a measure of engagement or again networking who's gonna be tweeting. And here's how many times that tweet was liked. It occurs to me actually that it's probably worth pulling this up in real time on Twitter itself just very quickly. So I look for the RNOI and just to show again, just to prove that we're not making this up and that we're connecting. So here's the first tweet that we keep seeing. Yeah, so in our special New Year's message to the president. So president is toilet-inus. Yeah, so retweeted 18 times and liked 62 times. Our information is obviously slightly out of date because we made a request five, six, seven minutes ago. So again, both of that's to show you that we're getting real-time information here from the Twitter database which is really interesting. So finally, what we want to do with that is we're done with this. It's all gonna create a new list. And this time, I just want to put in certain variables, certain bits of information in this list. So very simply, all I want is for every tweet. All I want is the created app field. So I know what it was posted. I want the unique ID because with the unique ID, there's other Twitter API methods where I can say, and give me all the information for that specific tweet, for example. That's important because when Twitter data gets shared, so if you're doing an academic paper, there are obviously some personal information concerns with just sharing all of the information that we've just requested here ourselves. What tends to happen is if you write an academic paper based on Twitter data, what you'd end up sharing is a list of all the tweet IDs that underpin your analysis. So the whole point there is that you're not technically sharing personal data or confidential or sensitive data. What you're doing is saying, okay, here's the genuine list of all the tweets underpinning my analysis and it's up to you to go get the underlying information yourself.  So it's a technique called rehydrating Twitter data. So you get a list of unique IDs of users or tweets and it's up to you to kind of rehydrate or refresh that information yourself. So sorry, a bit of a divergent, but it's just some terminology you might come across. And then I want the actual content of the tweet which is in the text field. And again, I just want to, I'm just storing those three fields basically in a new kind of row or a new observation called status info. And then I append that row to the blank list that I created. And again, the kind of proof is in the pudding. It's easier to actually see this when I actually show you the results. So I have a new kind of data set called RNLI underscore data and I'm asking for the first five rows of the first five elements of that data set. And you can see row one has the date field, the ID field on the content and here's the actual information for that tweet. Here's the second row, second piece of information on the second observation and the three fields that we want, et cetera. So again, number Python counts from zero. So that's kind of elements or a row one. We can ask it for 10 fields per term. Yeah, it doesn't really matter. It's just to show you how it works. So what I'm going to do here is this is how you would save the information to your machine, for example, because we're working with the online version of the snow book and we don't kind of have permission to save the repository online because it's kind of protected. It's the original set of files. So this is the one thing about working online just here is in reality, when you're doing this work, you would have Python and Jupyter in a row book and tweet the install on your machines then you could start saving to a file on your machine all the information you downloaded. So this bit of code will run it will kind of create a file called this using the online server that we're using but unfortunately there's no way of getting that downloading it to your machine just now. So just bear that in mind for using this online service for kind of teaching purposes but when you're doing this yourself you'll have everything installed on your machine so you can then save and manipulate files much more easily. So that's just how you would save the information that we've downloaded. We can also kind of put it into a more familiar data format. So at the moment we've got a data format which is a list so that's where it brackets and then each element of the list is kind of like three separate fields itself which are kind of analogous to rows or observations. We can just make that explicit, we can say write actually shape the data into what we're typically kind of familiar with but where every column is very golden every row is an observation. So this is where we use the pandas Python module which in short time we've called PD. So using the pandas module use the data frame method so it creates a dataset basically containing the orn li data we created earlier. Call it a dataset df this is kind of standard Python terminology you could call it whatever you want and then you give me a random sample of five observations from the dataset. And this is how it looks. Now we're kind of, we've turned what's quite kind of abstract or probably unfamiliar data formatting into something we're quite familiar with but it's the exact same information that we've downloaded and we've just kind of reformatted what we've done. So we've asked for a random sample so here is row 63 which contains a tweet from Friday, January 15th, 2021 and then we've got a preview of the content fields also there's quite a lot of content and then what we can do again is if we were doing this on a machine and if we had a folder called data and we can create a file called this a CSV file and we can spit out the dataset to that file. Excellent. So thank you for bearing with me through the IT issues unfortunately. That's a very kind of reasonably quick tour of the Twitter API. As I said, there's a webinar which is again about an hour long where we actually show you how you can sign up to the Twitter API. And I run through this example here but not in as much detail and I cover some kind of next steps and some further learning. But hopefully today was worth it for kind of going reasonably line by line and taking our time saying this is all happening at every stage showing you how the data looks so when you ask Twitter for data and how we can then kind of repackage it into something a bit more familiar. As I said, this online notebook is available whenever you need it using the link that we sent or again as I showed earlier we've got the UK data service Gation Overpository containing all the open source free materials that we've developed for other courses. So again, the social network analysis one has all the code that we use today. It's got a reading list as well if you wanted to do some further reading and a lot of these books as well are actually open access. Some are but some are which is quite good some suggestions for learning Python, et cetera. So I will finish all the texts and questions if you post them to YouTube. What I will do just to prove that we're in real time once more on this again, Blackfyre is let's do our search again for my name. This time walk 20 minutes later. Yeah, so you can see that we've got some new search results because I think this was the first tweet before. Yeah, so now you can see there's been a lot of tweets containing my first name none of them about me, thankfully. But again, lots of Japanese tweets about that anime or manga character and I need to actually need to ask somebody about that and never check out it. So that was our whistle-stop coping demo of the Twitter API. So thank you very much. Hopefully you found that useful even in the troubleshooting I needed to do. So I'll take some questions just now if that's okay. So I'll just take a look at the YouTube chat going forward and you'll be able to contact the UK Data Service so we've got a help and email account which I'm sure Julia can post for you just now. Obviously you've been contacted by us so you'll have the UK Data Services details. I know I've left. So technically it's easy to say this but you can contact the team. I'm sure they're very helpful, very willing to talk to you about your individual project. I'm gonna apologize for just looking at some of the questions. It did look like I was speaking a bit quietly and I do have a baby who was asleep for some of this. So apologies. I should, I can throw up the sound next time. So I'll keep an eye on the YouTube chat just now if you want to post a question. If you don't, as I say, the UK Data Service will be more than happy to field your queries about social network analysis and some ideas for further training as well. Sort of very keen on progressing work in this area. Yes, Julia, you did all get the weird volume because I actually turned on the live stream on my machine myself, which this word inception echo thing going on because all the time I'm broadcasting from the machine and also I prefer crunchy peanut butter. Thank you, Julia. Though if it's a question of smooth or crunchy peanut peanut butter versus something else, I would choose something else if that's a better question. So again, if there are no questions that hopefully you found out very useful critical comments are just as welcome as pretty useful comments. So please, please don't slow because we've got, if I'm right, Julia, we've got another year or possibly even two years of working in this area. So there's plenty of good training coming up. So please let Julia and the team know about your needs and your ideas and your critical comments. That would be fantastic. So I'll leave that from me just now. So thank you very much. I was going to say, I haven't even agreed but thank you very much and hopefully see you.


Hi, my name is Liz Rice, and I'm the chair of the CNCF's Technical Oversight Committee. At the last KubeCon back in November, I made some predictions, and I thought today we could check in on those predictions and see how the technical landscape is evolving. And I'll be joined by my TOC colleague, Harry, who will give us a deep dive into the trends we're seeing in cloud-native developer experience. For those of you who are new to the CNCF, let me just briefly explain what the Technical Oversight Committee is. We're a group of technical experts elected by the Governing Board, end users and project maintainers. And we set the technical direction of the foundation. You can find out more about our role and our activities on the CNCF website. To help us in our mission, the TOC works with groups of experts from across the community in different domains within cloud-native. These groups have, up until now, been called special interest groups, or SIGS. But there have been groups called SIGS within the Kubernetes project for a long time. And we've been finding a lot of confusion between CNCF SIGS and Kubernetes SIGS. So to remove this confusion, starting from after this KubeCon, the CNCF groups are going to be renamed to technical advisory groups or TAGS. Let's look at the different domains that these TAGS cover. Runtime is about running workloads, ensuring that application code gets executed in the cloud. This includes projects like Kubernetes, which handles the orchestration and scheduling, as well as container runtime projects like Container D and Cryo. Cloud-native applications often need to save and access data, and that's covered by the storage tag. Security is about keeping workloads and data safe. This tag looks after security-specific projects like Notary and Falco. But it also helps other projects across the CNCF with recommendations for improving security. The network tag covers projects that allow workloads and control plane entities to communicate with each other. Once you have applications running in the cloud, you need to be able to see their status and troubleshoot issues, and that's covered by the observability tag. App delivery is about bridging the gap between a developer writing code at a keyboard and that code being packaged and delivered as an application that can be run in the cloud. And then finally, contributor strategy is a special case in that this tag isn't involved with the technology of projects, but more about the way that projects run. This tag helps projects run effectively and grow their contributor base. Setting aside contributor strategy, we can look at how projects are distributed across these different technology areas covered by the tags. If we look at the more mature projects in incubating and graduated status, we can see they're distributed fairly evenly across these major areas. The fact that all these areas have mature projects corresponds to the fact that there are thousands of end-user organizations running cloud-native applications in production every day. But what about the future? If we look at the distribution of sandbox projects, we can see there is experimentation and innovation across the board, but some areas have more activity in the form of more numbers of projects. At the last KubeCon, I mentioned we made those predictions about the areas that we think are going to be significant in 2021. Six months later, let's see how those predictions are shaping up. We talked about Chaos Engineering, Kubernetes for the Edge, Service Mesh, WebAssembly and EBPF, and Developer and Operator Experience. Now, you'll find talks about every single one of those areas at this week's KubeCon. And there was a co-located event on almost all of these topics, so there are clearly technologies and topics you're interested to discuss. But are we really seeing these technologies manifesting in the form of cloud-native projects? Let's take a look at how these technology areas map to projects in the sandbox. So we've now got two sandbox projects in the realm of Chaos Engineering testing the resiliency of a system in the event of failure. Three projects are underway that relate to running Kubernetes at the Edge outside the data center. Four sandbox projects relate to Service Mesh. We have one EBPF-based project in the sandbox, but it's worth noting that there are incubating and graduated projects now innovating with these technologies, too. We're also aware of a lot of WebAssembly runtime projects that have been speaking with the runtime tag. But by far the area where we're seeing the most experimentation, at least as measured by the number of sandbox projects, is Developer and Operator Experience. Making it easier for developers and operators to build and run cloud-native applications. We've got 11 projects in the sandbox working in these areas. So let me hand over to Harry to explore some of the trends in these areas. Hi, thank you, ladies. Yes, so I will continue to talk about the trend of cloud-native from application development and deployment. Yeah, this is right, that the new trend of cloud-native is in trying to make sure that developing software be very easy on cloud-native stack. And this is actually enabled by a widely adopted pattern which is known as Sidecar pattern on Kubernetes. It's really important because Sidecar is essentially a small container that is running alongside of your application container. So in that case, it will handle all the inbound and outbound traffic of your application. In that case, the application does not need to really care about how to handle this traffic. It just focus on its business logic, which is the most valuable for developers. And on the other hand, if a structure such as Kubernetes and platform engineers will use service mesh and similar technology to handle the traffic part by leveraging the proxy system enabled by Invoy. In that case, your application will be able to focus on its own thing and letting structure handle all the traffic management, security and observability parts. And what's more important, with projects like Dapper, now you actually have another power to even to consume the cloud resources and services based on Sidecar. So in that case, your application can just talk to local host to consume a cloud resources, for example, at Redis. And this also enable you to deploy application to anywhere regardless where is this cloud resources, whether it's on AWS or Google Cloud, it doesn't matter. It can even be a local maintained Redis instance because your application only talk with the local host and let this Sidecar to handle the rest of the resource consumption as well as service binding by leveraging the Dapper runtime. And this is new chain and this is really game changer. We call that it is the local host oriented programming because application now really need to care about, really don't need to care about the dependencies, the external resources, just the focus on your application deployment. And speaking of the application deployment, it's actually another chain that a clone native is trying to make it easier. Because we already saw there are a lot of platforms tools that are trying to fix this problem because, you know, deploying application is really, really matters if you want to have a consistent way to maintain your software. But if we also notice a change is that these platform tools are not trying to create a new abstraction on top of Kubernetes or trying to give you a restricted product. They don't need to do that because they're leveraging new technology, which is so called the X as code. So in these platforms, the capabilities of the deliver system are defined as code, the main specific language or template. So they are categorized as a renewable component that these actually enable developers to assemble them into application deployment and then deploy software to this to Kubernetes or any kind of infrastructure. And this confidence of deployment is then in turn maintained by GitOps workflow or by Kubernetes controller itself. This is early game changer because in that case, no application deployment will never cause something like configuration drift, which is normal, which is a normal issue in the traditional infrastructure code system. This will never happen in Kubernetes. And this essentially make your platform to work and grow where your application needs grow. There will never be restrictions in capability, there will never be restrictions in abstraction because everything today is programmable. We see there are a lot of existing projects that are trying to make this happen. For example, Kubevela from Alibaba, CD Kubernetes from AWS, and there are also more and more yet to come. This is the world and the chain we're calling that programmable application deployment. Speaking of deployment, the developers are not just want to deploy and they actually want to deploy continuously. That's why we have continuous delivery in the CI-CD pipeline. But in the clonative world, CD pipeline is also being making more easier and more efficient. And we call this clonative CD, which is actually enabled by a pattern which is GitOps. GitOps is actually a natural extension of a Kubernetes control loop because it gives a way to maintain the consistency between desired status, which you maintain in the GitHub repo, and the real-world actual status, which is running instances in your cluster. And Git is a tool that you maintain this kind of workflow by just doing whatever you are familiar with, like pull request, send out issues, commit a change. This is all what's happening by trigger a GitOps deploy workflow. And GitOps actually give you the way to have consistency and accuracy in an automation of deployment so you can do it repeatedly. And you are using the tools which your developers are familiar with. For example, Git, nothing new you need to learn. And this also enables you to build highly extensible deployment workflow. You don't need to have something like traditional pipeline to do that. You can just use InventDriven to do this if you want, because Git is actually a very common, widely used event source. And in this case, you have much smaller attack surface because your application cluster, for example Kubernetes, they will use a pull model instead of a push to make sure that everything works in the target cluster. This is GitOps. This is how Kubernetes is trying to empower your developers to deploy and continuous deploy software with a consistent and with a confident approach. So you can see the chain in Kubernetes is very easy to understand now. In trying to make sure that developing software, deploy software, and continuous deploy software, they're easier with high efficiency. And there are a lot of projects that are trying to make this happen. We see that Argo CD from Intune, we see there is already Flux CD from VWorks. We see there are a project named Keaton from DynChance which can give you more power to do observability and use observability metrics to drive your workloads. This is a new chain of the clone native we're talking about. And I will then hand over to Liz to talk about the next step of clone native. Okay. Thank you, Liz. The common theme here is that a lot of innovation in cloud native today is centered around making things easier. As Harry has just shown, there are trends towards making it easier to develop and deploy applications. And across the broader cloud native landscape, there are initiatives and projects underway making cloud native easier to secure, to test and to debug. Let's talk about a few more trends that we're seeing. Quite a few of these new projects that make things easier are being brought to the foundation by end user organizations. Companies like Spotify, Lyft or Capital One. The projects they're bringing address problems that real users come across in real life situations as they adopt the cloud native approach. Another trend we're seeing is towards projects that make it easier to run cloud native applications anywhere. Hybrid cloud and multi-cloud are real. Public cloud vendors have embraced this and give you options for running workloads on-prem just as they do in the cloud, making it an easier transition to the cloud or between clouds. And we're also seeing projects that help manage your infrastructure, whether it's bare metal or distributed across clouds. And there are projects helping you manage security across these boundaries between clouds. And of course, as we've already noted, Kubernetes is running at the edge and for many new applications. Cloud native networking functions are an area of innovation in the world of telecoms, where they have completely different requirements for characteristics like latency and jitter, compared to handling web requests that many of us are familiar with. Another area that lends itself very naturally to running in the cloud is machine learning. Organizations are renting compute in the cloud to handle massive amounts of data and to train their machine learning models. So it makes sense to leverage cloud native approaches for these kinds of applications. And we expect to see more projects in this area coming to the CNCF. Another theme that we're seeing is the emergence of what I'm calling project ecosystems. I'm sure you're aware that not all CNCF projects are alike. Some are massive, like Kubernetes. And these large projects are starting to become the center of their own ecosystems of projects. For example, we have several projects in the sandbox working on custom resources and controllers that aren't part of core Kubernetes, but there could be very valuable in a variety of use cases. These ecosystem projects only make sense in the presence of the larger central projects. And we'd like to find ways to help CNCF participants navigate their way around these project ecosystems more easily. Cloud native is in a great place and the growth of our end user community goes to show that together we're building the technology that enables applications to run successfully in the cloud at any scale. Even though many of our projects are mature and in large-scale production use, there's still a lot of room for innovation in the world of cloud native. The CNCF is centered on open source community projects, but we want to see healthy business ecosystems around those projects with vendors large and small able to build successful businesses. Competition is healthy. We see it between projects and between vendors and competition encourages innovation. Collaboration is even better. We love to see competitors coming together to tackle a common problem. And enabling that collaboration is why the CNCF exists. There's opportunity for all of us in the world of cloud native. Thank you.