Hey, welcome back to the channel. So there's a ton of content on the internet, on YouTube, on Google, around getting clients. But there isn't much around how to pick the right clients, which I think is a thousand times more important than just getting clients. Now, as a beginner, and I struggled with this as well, it's tempting to just take any client that comes your way. Anyone who is willing to pay you money is someone that you'd be willing to take as a client. But here's the thing, if you pick the wrong client, someone that you can't help, then you're not gonna be able to get them a good result. They're gonna be upset, they'll probably give you a bad review, and no one's happy there. So we wanna be able to pick the right clients that you can actually get results for. So it helps me to think of myself as an investor. And an investor picks and chooses the companies that they want to invest in and put their time, money, and energy into. So if I'm an investor, I don't wanna just pick any company to just throw my money at and put all my time and energy into. That's more like gambling. What I wanna do is pick the right companies who have the right criteria that's gonna give both of us the best chance at success because as an investor, you only get paid when the companies you invest in do well. And that's what I think about when I'm going out and finding clients. Now, when you pick the right clients, you're able to get them a good result which turns into a raving review or a case study. And then from there, it's a lot easier to get more clients and hire paying clients who are paying you more for your fees. Now, since all the work that I do is around email marketing and copywriting, that's what this video is gonna be about is the criteria that I look for for getting email marketing and copywriting clients. But you can apply these three criteria to basically any service. It doesn't have to be email marketing or copywriting. So with that said, let's dive into these three criteria on how to pick good clients right now. Number one, and most important, they need to already be making money. So they must have a proven product or service that's already selling and is already making money. And this is the number one mistake I see that newbies make and it's because of confidence. They think, oh, well, I'm just a new copywriter. I'm a new email marketer, so I don't have any right to be working with established companies. So I'm gonna go after these brand new companies who are just starting out who have not made any money and I'm gonna work with them. Now, this is the worst thing that you can do because if you work with a company or individual who's not making any money or who hasn't made sales yet and you wanna help them make their first sales and get off the ground, that's very tough to do. And if they do give you money for your services, a lot of time they won't be able to afford you, but if they do give you money, that's gonna be their last dollar and they're gonna be hitting you up at all hours of the day, expecting you to do miracles for them. So you don't wanna take on broke clients, you wanna work with companies and clients who are already making money. I look for companies doing at least seven figures a year or more because I know those are the people who are already making money and I'm gonna help them make more of that. Now, a good way to think about this is imagine you're trying to move a boulder. Is it easier to move a boulder that's just sitting in place, a giant boulder that's just sitting on the ground, you have to push it and get it moving or one that's already moving and already rolling and all you gotta do is give it another push to get it rolling faster. I'm pretty sure you know what's easier there. So we wanna go and push boulders that are already moving and in this case, businesses who are already making money. Those are the people that you wanna go out and help and work with as clients. The second criteria I look for in a good client is they must be in a well-defined niche or industry. So they must be in a niche that I can easily point to and find tons of other companies in. So examples of this are SaaS company, software companies, fitness brands and influencers, marketing agencies, e-commerce stores, info product sellers. These are niches where I can look at the company and say that's a SaaS company, that's a software company, that's an e-commerce store. That's a guy selling info products and I can find thousands of other companies that are doing the same thing. Now a mistake that I see a lot of beginners make is they try to go for these untapped niches that no one's ever heard of before because they're afraid of competition. But competition is a good thing. It means there's money in the niche, there's money in the industry and we can go in and we can make some money. So we wanna work with niches that are already defined and are already making money, not these untapped niches that no one's ever heard of and is not proven yet. We wanna niche with enough clients to work with and with companies who are able to pay us for services. So think of it like going fishing. We don't wanna take a boat out to a random body of water and just hope that we're gonna cast out our fishing poles and catch some fish. We wanna go to the areas that we know have fish so we can just cast out our bait and easily catch some fish, right? That's what we're doing. We're going after well-defined niches is we're going to areas that we know there's already fish and all we gotta do is cast out our pole, cast out our bait and we're gonna catch some of those fish. So make sure that you're picking a niche or an industry that is already well-defined and proven to be making money. Now the third criteria is they must have the assets that allow us to be successful at our job and at our service. Now since we're talking email and that's the service that I offer, there's a couple things that I look for. Number one, they have to have an email list. I'm not gonna work with a company who has no email list. Otherwise, what's the point of writing emails if they don't have a list or people to write the emails to? The second asset that I look for is some kind of sales tracker, right? Is the platform that they're using able to track sales or do they have some kind of separate platform that can track the sales from email? If they don't have that, I'm not gonna know if my emails are working and I can't gauge the performance. So I wanna make sure that they have those two things. An email list and a way to track the sales coming from email. So for you, it's as easy as figuring out what assets do you need to be successful at your job and using that as a filtering device when you go out and find clients. If I go out and reach out to a prospect and they don't have an email list and they don't have a sales tracker, I'm not gonna work with them because they don't have the assets for me to be successful at the service that I'm doing for them. Now think of it like baking a pie and you're the chef, you're the person baking the pie. You want the potential client to have brought all the ingredients for you to bake the pie so you don't have to go to the supermarket and buy all the individual ingredients yourself.  So just figure out what ingredients do you need to bake the pie and that's what you're gonna use as your criteria when you're picking clients. Those are the assets that you need. So if you follow these three criteria, you're gonna be able to go out and find clients that you can actually get results for that turn into case studies and help you get more and higher paying clients. Now remember, they must already be making money.  So those are the three criteria in making sure that you're picking the right clients to work with. If you enjoyed this and got value out of it, make sure you give it a like and subscribe if you're not already. And if you're interested in both learning how to write emails and getting the right clients to write emails for, go to emailrainmaker.com. That's gonna take you directly to my free Facebook group where you can join and learn all about that. So that's it for this video. I'll see you in the next one. Take it easy.


Good afternoon. Howard Wig, Code Green, Hawaii State Energy Office gives me great pleasure to introduce today my guest. Oh, he's Howard Wig. I'm doing a solo show today. And it is about revolution. When we think revolution, French revolution, off with their heads, let them eat cake, didn't turn out so well. Napoleon followed by some mediocre royalty after that. How about the Russian Revolution? I have a good Joseph Stalin for you. How about the Chinese Revolution? How many millions was Mao responsible for killing?  But what I'm talking about is technological revolutions. Thomas Edison, the incandescent light bulb changed the way America, not just America, but the whole world lived, speaking of which, little side note. What building was the first building west of the Rocky Mountains to be lit with incandescent bulbs? Iolani Palace. King Calico was a great traveler, and he went to the Paris World Fair, believe it was 1880, and there was Thomas Edison showing off his brand new incandescent light bulb. The two became fast friends, and Edison arranged to have an electrician and the equipment sent to Hawaii, and voila. Iolani Palace was lit before anywhere in California was lit. And then there's Henry Ford and the automobile revolution. But both of those took decades and decades to come to fruition. Today, we are going through electronic revolutions, best illustrated by the iPhone. 15 years ago, iPhones did not exist. Now, they exist seemingly permanently glued to the hands of every young person, and I have the good fortune to hang around in the United Clubs at different airports. And those clubs are inhabited by well-to-do, mature, seemingly very rational people, and they're glued to their iPhones also, revolution in lifestyle. And the iPhone and the other computer equipment are governed, of course, by Moore's Law, which says that the capacity of a computer-like equipment shall double every 18 months and the cost shall drop by half every two years, and it's pretty well coming true. The same goes for the LEDs, which is governed by Haight's Law, H-A-I-T-Z, a Roland Haight's American scientist, back in the year 2000 said in every 10 years, the efficacy, the miles per gallon of the LED is going to go up by a factor of 20 and the cost in that 10 years is going to go down by a factor of 10. In other words, they become much more efficient, they become much cheaper in 10 years, a blink of an eye, and lo and behold, that has come true in five years, certainly 10 years, all you will see is LEDs, LEDs, LEDs. Why is that? There are a number of reasons that we will go through today, but first, a brief review of the two most common lights that we grew up with, the incandescent, which is Thomas Edison's invention, and all you do with an incandescent is punch a whole bunch of electrons into a skinny little tungsten wire, the tungsten wire is resistive, it glows with heat, and that glowing heat is what gives the light. A little side note on the incandescent, I was demonstrating one some years ago when incandescents were still around and I had a heat gun and Senator Will Esperal was in the audience and I asked him to aim the heat gun at the tip of the incandescent light and he got 465 degrees Fahrenheit, hotter than blazes you literally can set fires with incandescents, at which point I asked the audience, who wants a whole bunch of mini ovens in their Hawaii homes, we don't need any more heat in Hawaii homes? And then there were the fluorescence, the fluorescence that we grew up with were very heavy on the blue side, I'll actually get into the details about that, but even though the fluorescent lights are much, much, much improved from the ones we grew up with, they can't hold a candle, unintended to the LED lights. How can LEDs be really, really useful? Number one in health facilities, especially care homes, you have frail elderly people who rarely get outside and their circadian rhythms, their rhythm of sleep and wakefulness would get all messed up, enter the LEDs. When the staff wants the inhabitants to wake up, they start lighting gently, gently in the same light color as an early sun and they gently, gently ramp that up, getting more and more blue into that light until you have by the middle of the day a simulation of full daylight and then towards evening time they begin to emulate sunset. So these inhabitants are living on the same rhythm that the rest of us are, who are fortunate enough to be able to go outside all the time. And this has vastly improved the well-being, the orientation, the good orientation of these inhabitants because they're living in the same cycle, daily cycle that we are and the same goes for intensive care units. Now how about schools? If you remember your adolescence, you probably remember that you had one heck of a time waking up for school and that's because the hormonal shift in teenagers is such that they don't want to go to bed until around one in the morning. So of course you don't want to get up until about nine in the morning. School doesn't operate like that. There have been some proposals to start the school day a hour later to have mercy on the teenagers. But what you can do now with lighting in schools is have really bright light, heavy in the blue right in the beginning of the classroom and then the class day and then shift it over to more normal colors as the teenagers do indeed wake up. Here's a little side note for you. No extra charge do not have blue lights in your bedroom. Now all those little blue indicator lights that are on the electronic gadgetry. Blue is the stimulating color and it forces down the melanopsin, the hormone that causes us to be sleepy so that we stare at the blue light we're not sleepy. And again the way to wake people up in the morning is to have plenty of blue light there. So the idea there is to ideally have daylighting in your schools because kids perform a lot better under daylight. Which brings me to the subject of CRI, standard cocktail party conversation material, color rendition index. What in the world is that? That is where you measure the humanized response to colors by taking an ideal outdoor setting. Why outdoors? Because our ancestors, the Homo habilis, who've been around for probably 7.2 million years, they're the ones who started walking upright in the African savannah. And when you're upright your visual needs are different than when you're up in trees and our eyes began to evolve to maximize survival in that atmosphere or that environment and we still have those eyes, maximized for survival and the sense of well-being. So 100 CRI is the ideal day-lit environment. The fluorescent lights that we grew up with, the old fashioned ones had a CRI of about 0.6 or ambulated only 60% of the outdoor light, not good for us. And back then if a clothing store or a restaurant had in the ladies' bathroom those old-fashioned fluorescent tubes, ladies would put on their makeup. I need a lot of makeup here and go out and into an incandescent environment and look like painted ladies. Why all that blue was washing the red out of the makeup? Speaking of which, regardless of our ethnic background, our skin tones are very, very heavy on the red end and what would these blue fluorescents do? They would wash a lot of that red out and make us look pretty sickly. Enter LEDs. You can mix the three primary colors. You'll remember our red, blue, green and all other colors are a mixture of those three. You can mix them and match them any way you want so that you can pretty well emulate the human eyes' response to daylighting. You can have virtually the same type of light. You remember that way over on the left is violet and the human spectral response is in a bell-shaped curve. So you go from violet to blue to dark green, lime green right up on the top. Then you go over to the yellows, orange, red and deep red. And so you can mix and match in LEDs anything you want to. Accommodate that. And getting a CRI of 0.9 now, 90% accurate in terms of daylight, is very, very uncommon. And you can, the sense of well-being under a high CRI light is much better for one thing. You look natural. So what about LEDs in restaurants? Again, you can set the mood. You might want a brightly-colored, rich, blue environment at lunchtime when people are getting their business done. But towards the evening for dinner, you might want to go over to much more relaxing light and say there's a club scene after that. You can flash blue. Remember, blue is a stimulating color. You can flash the blue all over the place and get a nice stimulating, exciting atmosphere. Speaking of exciting, the people who have taken the best use of outdoor LEDs, in my humble opinion, have been the Chinese. You go to Shanghai, other big Chinese cities, and you will see whole buildings with crisscrosses of different colored lights shaping the building and misshaping the building and shifting from purple to red to pink to green. You can do anything you want with these LEDs. And on that very cheery note, we need to take a brief break. Howard Wigg, State Energy Office, Code Green, back in a minute. Hi, I'm Ethan Allen, host on ThinkTech Hawaii of Pacific Partnerships in Education. Every other Tuesday afternoon at 3 p.m., I hope you'll join us as we explore the value, the accomplishments, and the challenges of education here in the Pacific Islands. I'm Jay Fidel of ThinkTech. Come around every Tuesday at 2 p.m. with John David and me. We're talking about history, history lens. Right, John? Exactly. Seeing current events through the lens of the past. Absolutely. See you next time. Okay, Jay. Thanks. Aloha. I want to invite all of you to talk story with John Wahee every other Monday here at ThinkTech Hawaii. And we have special guests like Professor Colin Moore from the University of Hawaii who joins us from time to time to talk about the political happenings in this state. Please join us every other Monday. Aloha. Good afternoon again, Howard Wigg, Code Green, Hawaii State Energy Office. Now, where were we before I was so readily interrupted? Let's go to sports lighting. LEDs have become more and more and more powerful. And again, as I talked about color rendition, you can have any color rendition that you want. And the TV production guys are very, very fussy about color. And again, you can dial it up anywhere you want for basketball, football, whatever. And now in these big stadiums, you have what's called a light throw of 150 feet by George, these teeny little LEDs can throw that far very effectively. Now, let's look at the energy implications of sports lighting. As the event, say a couple of hours before the event, you have the entire stadium at half light, say it's an evening event, or even one third light, because all you need is enough light for people to safely find their way to their seats and get their hot dogs and their beer or whatever. Then the event starts. You can dim the spectator part of the stadium, but you still need certainly enough light for safety, but your light is really, really focused on the playing field. And you have full cutoff, which means you can almost draw a fine line as to where this bright light is and where it's not. And so this increases the contrast between the darkish spectator area and the brightness of the playing area and makes for a much more visually acutus and exciting lighting atmosphere. And then when the playing is over, you go back to half light, because you just don't need that much light. And then later, when the janitorial crews are cleaning everything up, you might go down to quarter light, because you just don't need much visual acuity to pick up pieces of paper and so forth. So you can make sports lighting more exciting and give it a take advantage of the flexibility of the LEDs to save tons of energy. We'll go into that later. What about the implications for other type of outdoor lighting, namely street lights? As you possibly know, the state government, which controls the major highways, the harbors and the airports, has converted to LEDs with great, great energy savings. But they converted to what's called 4000 K. And K means degrees Kelvin. If you, Lord Kelvin in England in the 1840s noticed that when you heated up a piece of metal, it started out with a reddish glow. And as it got hotter and hotter and hotter and hotter, it went to a yellowish glow, orange glow, and started out red, and then went to orange, yellow, and then finally it really hot. It ended up blue color, intuitive, but that's exactly what it did. So we measure the color of light now in degrees Kelvin. And the state shows 4000 degrees Kelvin, which is heavy in the blue, very, very bright. The city, by contrast, they're converting also, has done their major highways, say, Baratania King in 4000 K, but all of the residential streets are in 3000 K, which is heavier on the red side, and is much more relaxing for our eyes, and is much more relaxing in terms of, again, the circadian rhythm. It's easier to get to sleep in a neighborhood that's lit by 3000 K rather than 4000 K. So let's get to the economics of LEDs. Now here's where it really hits a home run. You measure the efficiency, the miles per gallon, of lighting in terms of LPW. What's that? Lumens per watt. Lumen is the light, measuring the light output. What is the power input? The old incandescent light. I hope you don't have any more incandescent lights in your house. Oh, and let me do a sidebar here, and you're going to say, oh, but the LEDs are so bright. And what you mean is they're so heavy on the blue end of the spectrum. No, you can get LEDs in any degrees Kelvin you want. The old fashion incandescent is 2700 LED or degrees Kelvin. You can get 2700 indoor LED lights. So that is no longer an argument. So they get these old incandescents, about 1515 lumens per watt. The fluorescence that we grew up with up in the ceilings were about 60 lumens per watt, only they had something called ballast, which drove them down about 50 lumens per watt. The new fluorescence are much, much improved. They're up around 105 lumens per watt now. What are LEDs? Common off the shelf. LEDs now. 120 lumens per watt. I just saw one company offering LEDs at 155 lumens per watt. And just this morning, another manufacturer came out with 201 lumens per watt versus 15 lumens per watt for the incandescent. So the efficiency or what we call efficacy is totally, totally off the chart. Now, let's transfer that to, well, let's, oh, here's the economics. The LEDs do cost more than incandescents, but there's an outfit called Hawaii Energy and they are the rebate people. They want you to buy energy efficient refrigerators, washing machines and so forth, and certainly lighting. And they work with the retail establishments to bring down the cost of the LEDs. I think the retail establishments are supposed to have credit to Hawaii Energy for reducing your cost. They often don't do that, but Hawaii Energy isn't too insulted, but they work with the larger firms to get rebates for the LEDs, which, again, according to Haight's law, are coming down in cost very, very dramatically. Anyway, so if you even take a conversion, say, in an office from fluorescent lights, say they've got an older set would have about 80 lumens per watt, re, or install LEDs, 125 lumens per watt. Woo, nice, nice, nice economics, but there's more. There's something called luminaire efficacy, and that refers to the fact that when you have fluorescence up there, the light is going out at 360 degrees, but you say, wait a minute, we only need light down on our task, on our table. Absolutely. So there's a reflective surface up on the top of the LED, or the fluorescent fixture, which is reflective, and it beams the light back down, but there's a loss. And that loss is about 30%. So 100% light output here, only 70% of that gets down to the task. LEDs are directional, meaning you can direct all the light down in whatever color pattern you want. So your luminous or your luminaire efficacy is well over 90%. There goes more savings for you. And then you say, hmm, does that have anything to do with the air conditioning load? Indeed it does, because you will imagine an incandescent light, 465 degrees Fahrenheit, you can imagine what that does for the air conditioning load, and then you get to the fluorescence much more efficient, but still they give off heat. LEDs, because of their low, low wattage, give off very, very little heat. Your air conditioning load can drop like a rock. The general rule of thumb is that for every three watts of lighting that you can decrease, you decrease your air conditioning load by one watt. Let's look at that from the standpoint of Hawaiian Electric, where we have a very peculiar, what's called load profile, where during in the morning when everything is ramping up, the demand for electricity, this is statewide now, goes up quite high, and then we have all, we have jillions of PV photovoltaic panels out there, and especially on a sunny day, the demand will dip down, down, down, down, down, down, down, and just as the sun is going away and the PVs are not effective, everybody's coming home from work and school, what's our main industry? Tourism, all the tourists are coming back from shopping, beach, whatever. They're going into their hotel rooms, everything's turning on, and then they go to their restaurants and the bars, and they're going full blast, and we have this evening peak now, and that's where Hawaiian Electric has to turn on some pretty inefficient power plants and reduces our all over efficacy of the lighting pattern, the whole electrical demand pattern. Now, what happens with LEDs? A large portion of all that electrical energy is lighting. Boom, you've shifted that. Plus, as I said, you shift down your air conditioning load, so it makes life a lot easier, a lot more efficacious for Hawaiian Electric, and let me end with a pitch for 100% clean energy by the year 2045, the most aggressive efficiency pattern target in the nation, just shifting to LEDs in your home, office, school, everything takes us a long, long way towards achieving 100% clean energy by the year 2045. On that very, very cheery note, I bid fond of Adu Howard Wing State Energy Office Code Green. See you next time.


Alhamdulillah, we thank Allah, we ask Him to send blessings and salutations upon the Prophet. So this is the greatest moment of your life and we're all blessed here in your company to witness this. I'll just repeat the Arabic and then we'll do the English. So the meaning, you just repeat as well, I bear witness that there's no God except Allah and I bear witness that Muhammad is the messenger of God, messenger of Allah. Allahu akbar Allahu akbar wa lillahi l-hamd. Allahu akbar Allahu akbar Allahu akbar La ilaha illallah Allahu akbar Allahu akbar La ilaha illallah Allahu akbar Allahu akbar Allahu akbar La ilaha illallah Allahu akbar Wa lillahi l-hamd. MashaAllah, congratulations. Thank you. You are without sin. Anything wrong you ever did, Allah forgave it right now. So like the day a baby is born. Fresh day. So pray for all of us because your prayers are accepted. InshaAllah. And the one thing the Prophet taught, salallahu alayhi salam, is that if there's any debts that you owe, those still remain. So any debt if you owe, but besides that any wrong that you might have ever committed, that's all forgiven. So it's like the day that the baby is born. So it's the best day of your life. May Allah bless you. And we're here to support you. The community is here to support you. So anything you need, don't hesitate to ask at any time. And inshaAllah, there will be people to help out and to teach the basics inshaAllah. Thank you. Not only, all your sins is gone. What you have now, all of us, we wish to have it, which is Allah will keep all the good deeds that you did in your life will stay. And all the bad deeds and all the sins that anything happened in your mind or in your action, it's gone this moment. So inshaAllah you'll be able to keep this because all of us will wish this status. Now. Alhamdulillah. And now you have 1.2 billion brother and sister around the world by being Muslim. Alhamdulillah. So I encourage all the sisters to give her congratulations. Congratulations. Mubarak Salam. Mubarak.


I have everybody welcome for this new Jenkins infrastructure meeting to the agenda today will mainly cover costs on our front. So the first topic that I want to mention is, I did some cleanup on the Jenkins infrastructure organization so we had a lot of contributors within the organization but a lot of them stepped down for whatever the reason. And the thing that I wanted to do was to create an admin group where I could put everybody there, so they would still be inside the organization so we can still send them notification, contact them. But at the same time they don't have changed permission. So we reduce the risk of an attacker to take over to take on their accounts and modify whatever the tree repository. So the idea is, if, I mean, if you don't need a specific permission usually it's easier to just ask to be removed. So yeah, we don't take extra risk. And usually, for every gate repository I try to have at least two or three maintainers from different time zones. So we are sure that we can have someone who can merge any changes rapidly. So yeah, another major change that did in the organization was to switch the default admin permission to maintain our permission. In most of the cases, we don't have people, we don't need people with admin permission. So again, really few people with admin permission and otherwise we delegate the maintenance to different teams. Yeah, that's many about that. Any question on this one? No, something that I would like maybe to put in place when I have some time is maybe some terraform to monitor default configuration. So the idea would be, for instance, to be sure that we always have at least two teams per tree repository, whatever. I don't want to use terraform to control the Jenkins info organization, because I'm a bit afraid that someone modified the default configuration but I would like to be able to identify if we need to grant permission to some person. So typically when something that I would like to solve is when we had an issue with the update center one week ago, Daniel opened a PR on the status key repository, but nobody was around too much to peer accepted me. This is typically the kind of situation that I would like to avoid in the future where basically someone create a key repository, put some automation around that and then forget to grant the right permission. So this is the kind of situation where it's annoying. Another thing that I also fixed a lot was people to transfer git repositories to the Jenkins info organization, and then lost access to the git repository because that person only has read permission. So again, you need one person to fix that. So we have more than 100 git repositories on the GitHub organization. So it's not always easy to verify accesses on those. So we definitely need a better way to handle access. The next topic, which is very brief. We start to version and charts maintained by the Jenkins info organization. So update CLI is now can now handle that workflow. So typically when a new Docker image is published. Update CLI, they take that updates on the right hand chart, the chart version. And so I would like to, I'll probably be, I'll probably use a GitHub app. But you already have some experience with that. But I'll probably put a, sorry, a GitHub page so we can query the right hand chart version that we need. You're right. Do you have an experience with that? So about GitHub pages for hand charts. Yes. Yeah, I have, I've got that with on the captain hook, but doing it in that way. I think you just need to create, you just need to create the branch. Emily first and then I think it's the chart release action. If you want to do it that way. We'll publish to that. Okay. I've got examples of that working if you want to see that. Yeah, I think that would be a small, a nice, a nice improvement to the situation. Because right now we use hand charts. Located on a local directory, which means that when we do change on the hand chart, we cannot easily roll back to previous version. And also we also installed the same hand chart and you under on different clusters. So you would be able to have to have that flexibility. And now that we have everything in place to automate those hand charts. I think we are really, it wouldn't take us too much time to improve. The next major topic that I brought to this meeting is about the cost. So I reviewed the different accounts that we have. We created the Google sheets with the different costs. And basically, we are, we, we increased a lot our Azure voice. So we are slightly above the limit. That is asked by the CF. So we now have to identify ways to reduce the costs. We also so on Azure. One force of the cost is for Seattle Jenkins that are you. So we just have to put stronger limits on Seattle Jenkins agents. The number of agents that we can use. Right now we are using either for Windows machines or for Azure container instances. That's, that's something that the other thing is we also increase our costs on the Amazon accounts. The thing is, it's normal to increase the cost because we have more usage. We work on those accounts. So it's totally normal, but you also have from time to time to clean up old services and identify ways to limit the gross of those accounts. And so that's definitely the perfect moment for that. Another account that I look at was Rackspace. For some reason that I cannot identify the machine, the network bandwidth drastically increase. So this is the machine used by Archive to train kids that I own. So we had to time more traffic over February and I don't remember any change. I just right now can't explain why we have more traffic on that machine. So this is something that I discovered this afternoon and I have to to dig a little bit there. Any questions so far. So the good thing with the Rackspace is the cost increase, but you are still below the limits. Okay, so we're not, we're not at risk of receiving a bill from Rackspace for the increase. Now, I assume your question on why did the traffic double is likely due to. Oh, there must have been some change somewhere that motivated traffic to arc to go to archives instead of going to the mirrors or to get like it should. Yes. So basically archive is used as a fallback service when I get touching the radio is not available. And because of the traffic that goes to get the Jenkins radio, even if that service is done for let's say one day, the traffic is really huge. So when you when when you look at the traffic that goes to the mirrors, we have more than terabyte of traffic. So I just mean, it can simply mean that get the Jenkins radio was done for maybe a few minutes or maybe a few hours. And there are many reasons why traffic was redirected to our garbage and key that I use. So this is something that we have to understand. And that that's because I'm still saying lots of plug and download issues from various places. I started creating a doc capture them all, but it just got to have too many entries to maintain. Okay, so I had not seen any plugin download issues recently, but you're consistently seeing them, Gareth and from all over. Yeah, I'm probably getting five, maybe or 10 a day based on the repose that are triggering just had one now on the Tecdon client plugin that needs to create a custom image with the new plug it in, but it needs to download other ones failed to connect to talk about how to connect something when downloading plugins. So the reason why it's hard to debug that specific issues is because the traffic arrived to get the Jenkins radio get the Jenkins radio identify the closest mirror to you and then redirect you to that mirror. And for some reason that mirror in that time became really slowly became very slow, sorry. Then you get time out issues with that specific mirror. But if you ask someone until to install the plugin, that person maybe is in different part of the world, and we download from a different mirror and everything will be fine. We have two ways to improve the situation. One can be done on mirror bits. So mirror bits can be more aggressive about disabling mirrors or enabling mirrors. But the underway would be from Jenkins to not to Jenkins or Jenkins like to not fail or at least retry when the mirror is slow. So Gareth, I assume your failures though are coming from things that you're actually running in the cloud or are they from your local your local environment. It's all in the cloud. Okay. And this is, which is also something that you have to keep in mind is because if you run your instance in the cloud, let's say Garrett is in Europe and time zone, and the machine is in the US then your machine will be redirected to your US mirror. And so if from your machine you try to debug that situation. Everything will be fine because you're not in the same region than your machine. I think the cloud regions that you're tending to use are US based typically right I don't know if they're US East or US West but I'm assuming that they are commonly US based or are you using cloud regions that are are Europe based. I'm not 100% certain. So some of the recent failures have been on on actually on a Tecdon client plugin, which has been built we have actions, but it's trying to build a custom Docker image. And it's tests inside there and as part of that uses the plugin installation manager just download all the plugins. Right. And so therefore it's not it. It's a fail quite a bit. There's other issues around that as well. We like not so much infrastructure. But we see, like, if I have a Jenkins version to it's fairly static and the plugin text file where all plugins are defined. And I build it once and then a week later I built it again. And once it's all I'm not going to get the same build. I actually quite often get build failures because it's it tells me that my, the combination of the plugins I'm using or incorrect. Yeah, and that one I think is a documentation gap more than anything else because there's a there's a setting that says, if I don't honor my version numbers, I absolutely mean it. And, and right now the default with plugin installation manager is to not honor my version numbers, even if I absolutely mean it. Right. So, so I'll, I can, I can go through that one with you I had a long, we've got a discussion going in one of the plugin installation manager issues or pull requests about that particular setting. So that is because I can apply that to these bills, and hopefully that will reduce the number of failures. And then you're only see I should only see the actual time out some disconnect sometimes. Right and you are you are using exact version numbers in every plugin that you're specifying right and you're specifying them all so you've got an exhaustive list. Yes, so I think you want the minus minus last faults. Last is that I'll look it up and send it to you, Gareth. I think it's just because I know I've. I know I've seen that one and I wrestled with it myself well why is it going and getting a different version of what I specified I gave exactly the spec. Just on the increased for rack space with the. So archives to junk is that is that also the first place the plugins become available for them. So basically, we have a script, we have a script located on a machine, and that script will upload our to fight to our character Jenkins that I owe to the awesome network. So I think it's the first awesome mirror that is updated, and I think archive come at the end. So Daniel saying something about like the first within the first sort of like 30 minutes to an hour or something of a new plugin being released, where it's not available on the mirror as it tends to fall back to somewhere. Oh, yes. Yeah, I'm wondering where I'm wondering whether or not that scenario is happening more now. And that's why we're seeing increased traffic. So that's a good suggestion. We can easily identify that on the Jenkins. Infra chat repository. I think it's. No, no, sorry, you can't see that. But I can tell you what are the fallback machines. Let me double check this right now. So the fallback is definitely fallback. Get the Jenkins radio and archives the Jenkins radio. Yeah, definitely. So that would explain why the traffic increase market. Because because the way so yeah, so the way mirror beats works is we upload some mirror beats as a local five systems. So we upload the file there. And then on the mirror, this there is a job that regularly built a file ashes. So this MD five chat 256 and so on. Then identify mirrors that also contain those file with the same hash. Because every mirror's don't necessarily synchronize immediately with mirror beats, you always have a gap between the moment that file is available on everyone else. So the fallback situation is, if get the Jenkins that I cannot redirect you to mirror, then it's a new the service. The fallback form of fallback location. And one of them is a loop on itself is to query get the Jenkins radio. So for that, for that to know if serve if a mirror, I mean to know if a specific version is already available. You can just go to get the Jenkins radio you search for the plugins or slash plugins the name of the plugin the version blah blah blah. And then you can specify question mark your list. And then you have so I can just provide for instance, just put the link in the chat, because I won't share or maybe maybe mark you can share your screen specifically for this one. So it's not a plugin. The link in the chat here. So you can just open. So that's an example with the windows. So we, we know that information from your bit. So typically what it says here is on top right, you have the known ashes that your beats known. And at the end, then you have a list of your house with the corresponding file. So for instance, if you look for very old Jenkins version, whatever, then you'll see that no mirrors contains those files because mirrors are usually configured to contain to keep one year old data. So that's something. And at the same time, if you just release a plugin. Yeah, also, yeah. So for windows, because we changed the file. When you switch to the new. So if you just set up windows you look for it again, for instance, I think if you take, let's say, I put a URL here. So I put a second URL. So this one is a very old Jenkins version that normally nobody would install. But basically what it says is no mirrors contain that file so it fall back to fall back zero or fall back one. Those are fall back that get to Jenkins or archive the Jenkins radio archive is located on a different machine just a different machine fall back that get the Jenkins radio is just the same machine that get the Jenkins radio. So it's just a hack because no beats doesn't doesn't distribute file on the redirect to so it just a second service ring on the same location that just gives you the file. So yeah, that's all about the new house so to be clear that that's the city that that will explain why the traffic increase and archive the Jenkins radio, which is fine. So we can go back to the notes. While you're there, maybe I can show maybe a few things with mirror bits as well. So if you take the example so the windows link. So if you open the mirror windows link, but this time you replace the end of your list by mirror stats. Okay, now you have the list of mirrors and you have, you know, when was the last time that we all was updated. Also, for every mirror else you have to line a dark line and a light one. So the dark if you put the cursor on the dark one it shows you how many files were downloaded. And if you put on the other one you see how many traffic was downloaded from that location from that space. So that's one of the information you have another that is in that is in the last 24 since since midnight local time from you from UTC. Oh, since midnight UTC. Okay. Yeah. So that's another thing. Another information that you have is if you just put stats. So then you know how many times that specific file was downloaded today, a month ago, a year ago. So if you put an old version, a more recent version, let's say the latest weekly, for instance. Yeah, 286. Okay, no downloads of today's release. How about last week's release. And you can also remove the shop because the file is the shop. Oh, right. Instead of Ah, okay. And because I was looking at the show that's that's, of course, if not people aren't downloading the show already 1400 today. Wow. So that's something interesting. Something important to keep in mind is those data are stored in a ready status base and I don't I don't guarantee that we won't lose that those are just there for information. It's not coming. And there is another one so mirror list mirror stats, and you have stats and you have another one. Yeah, I don't remember. But yeah, that's all for now. Okay, that's a nice. That's a nice project. If we go back to the agenda, the last topic that I want to mention is Damian has been working about on deploying an AKS cluster on the Amazon account so that AKS cluster will only be used for CIDA Jenkins that I use Jenkins agents. The cluster is there is configured on CIDA Jenkins that I own. And so the plan is now to update the labels to instead of deploying containers on Azure container instance, we will deploy containers on that cluster. So the purpose is to have a clear understanding of what cluster size we need for CIDA Jenkins that I own. So we better identify the costs there. Ideally, we also would like to use that as a way. When we have sponsoring discussion with cloud providers, because we'll be using communities cluster it means that we'll have better portability so if tomorrow we decide to to switch let's say to a correct cluster running on Azure. Then we just have to deploy the cluster and we would just update the communities configuration and that's it. So the purpose here is just to simplify the management of CIDA Jenkins that I own. That cluster will be used, because that cluster will be used for CI, which is a very public, I mean, that's very instance. We won't be using it for other services that Jenkins agents. So that's something really important. Hi. Hi. Yep. So yeah, that's that's really nice. And we are almost ready to you to switch to it. Basically, what's what will change on CIDA Jenkins.io right now, we are using Maven containers for ACI and will soon switch to the Jenkins inbound agent that we built for the Jenkins info organization, but we recently switch on those on CIDA Jenkins as well. That's fine. Nothing will change basically, except that that will be running on communities instead of Azure container instance. And yeah, any question on this topic. All right, then we are almost ready to finish that meeting. There's just one last question we have a resource group on the Azure account named REST Linux dev group. And I have no idea who created that. Apparently we started open source content open and open source machine. So I probably just delete that resource group then. Yeah, maybe it's something from Tyler's experiments, because Tyler is the main REST hacker so maybe he used another account. Well, and he's also a SUSE user, therefore an open SUSE user so that would, that would double double hint that he, that may be a tighter thing. Yeah, probably. I mean, normally he has a different accounts. And for the weirds. So the fun story is when when he transferred me the Jenkins account to me for some reason he also currently access to his own account. I can see what he's doing, but yeah, that's that's a good suggestion. Have a look at that. Thanks everybody. So I think we are good and the last topic that we want to cover before we finish the meeting. So we have a couple of topics. Maybe one question about issues Jenkins IO stability because I've noticed a few times that the service had delays and timeouts when accessing it from Europe. I wonder whether our monitoring catches it. So monitoring did not catch that but something to keep in mind for the monitoring is it's running from the US. So maybe that would explain why we didn't catch that I can look at it. If we get notification for your. You're not the first one complaining about the speed of that service. And especially from people from in Europe so maybe, maybe we can see with the next foundation. Yeah, I because I've complained but I cannot say for sure that the previous top performance issues much more often. So, even in this case, I don't crumble. But it would be nice to figure out what's the root cause. But yeah, for some reason each time people each time I had people complaining about the speed of that service I tested myself and everything was working fine. I'm not I'm not an easy user of that service anyway so I'm probably not the best person to measure. Well, and I, I don't know that we have any synthetic checks doing multi site but the data dog synthetics are based in Frankfurt so that might be a great excuse to configure or read see if we already have a synthetic check of issues that Jenkins.io initiating from Frankfurt because then it is it is Europe based. That's, yeah, we I'm pretty sure we do. So I can quickly look at it. I think it would be generally nice though, even if you discover me, I'm not sure what could we do about that. We, I mean, we can open a support ticket on the next foundation. Yes, they've been quite responsive. I just opened an issue Sunday and they already responded to me Monday and started work on it. It wasn't related to performance but they've seemed quite responsive. The campaign to some of our service provider. So is that finger pointing I agree. And so I am looking at the dashboard from Frankfurt and accepted from load from time to time, which remain pretty stable. So, so we already have a synthetic check. Yes, we do. Okay. And so we have a synthetic check and we also have containers running from the community's cluster that mentor that endpoint as well. And we have one check from the public master as well. So in fact, we have the test from multiple location. Otherwise, when such issues occur, a good, a good, a good place to look at if you don't have data dog information is to look at status touching Israel. We have basic. page right there. I mean, it takes, it takes some time to load. There's nothing that I mean, if we want to have those information there. I couldn't find a way to, to, to cruise a speed. But yeah, if you look in our issues, you're there. Obviously it's only for seven days, this case. But that's usually what's what I look when someone complain about the response, the response is less. Well, like just for where your operations I assume are more than just a request to the status page you were probably authenticated and doing real work. Yeah, so I should be authenticated at the time. And you're sometimes I just leave time out. Okay. Sometimes it opens slowly. And again, those those tech are just simple queries on DPI. So there is a quiz on slash API slash being so it's a very light test. So it's not because the test is passing correctly that the services behind correctly. Right. But it's just a good, a good indicator if something is wrong. Okay, last topic. Yeah, so what I would suggest is to open a journey to get on the next foundation. Maybe they have some information there. I also got complaints about email issues with Jira, so giving does not receive email from Jira anymore. But I have to look at sacred because something that already happened at the time the past was your email address was put on the bounce list. Yeah. I'm also not receiving email that was the ticket I opened with with Linux foundation and they, they asked me to double check and then read the send grid log so that's you're doing exactly the thing that I need. So the problem with sacred is on the cake and I have access to the accounts and if we want to put more people on the account will have to pay a lot more. So right now we are paying $15 per month to send emails. So the best thing that I would suggest is when you're ready to debug that we just give you some time together you send an email, or at least we generate some data, and then I can monitor the send grid because from sacred I think it's only keep the story for one week or something like that. Okay, so we need to be to be sure that. But on the cake and I can monitor that which means that on me. Yeah, so I'll send you an invite probably for tomorrow or Thursday. Okay, perfect. Then I propose to stop here. Thanks everybody for your time and see you in RC. Thank you.


testing. Yes. Hello. Welcome, everybody. And thank you for participating in my talk. It's titled Open Garden Mesh Networks and how it helped me protest safer. I hope you enjoy it. Before we get started, let me give you a brief agenda so you know what you're signing up for. And if you don't like it, you don't have to wait 20 minutes to find out. First I'll talk about how the world was back in 2013. There might be a lot of preconceptions in you already thinking how you would solve this problem today, but this was back in 2013, so just to bring us back into context.  Then I'll talk about what is or was Open Garden. It's a bit of a weird project that's not fully maintained at the moment, so I'll talk about that. I'll give a bit of a case study or staying connected in a protest. I'll give you a brief demo. And then we'll talk about what's next for Open Garden, what has happened in that world since. There is a case study that involves crypto. It actually does. It sounds weird in this particular space, but I'll talk about it. So let's begin. First of all, a warning. I am going to strictly be focusing on the technological side of it. I don't want this to be a political talk, although the title kind of suggested it a little bit. This is mostly technical and a bit of context about the political side, but that's it. So let's go back to the mystical world of 2013. So many things were different back then. So I'd like to make sure we all see them before we start thinking about different ways we can solve this problem. So to reiterate the title and talk description, imagine that you're in a protest and then the cell phones tower go down for most but not all of the people, and somehow you'd like to stay connected. So the cleverest among you must already be thinking about modern, simple solutions to this problem. But let me address some of the obvious ones. First off, the first thing that'll come to your most people's mind is, well, get the people that have signal, that still have signal, and get them to tether or use a hotspot. Now the problem is carriers were blocking tethering back in the day. This was really a thing. All over the world, they either didn't allow tethering or hotspot, or they severely restricted its capabilities. For example, they would restrict what websites you could watch when you were tethering, or how much bandwidth you could use, or how many devices could connect to your hotspot. This was mostly a measure to restrict consumers from sharing their allowance with each other. I suppose someone in there imagined, well, if person A shares their bandwidth and they have some left over, then person B doesn't need to buy it. We don't make money. Something on those lines. Now that's even if your phone allows it. Now a lot of phones around that time, it didn't have hotspot. This wasn't like a big thing back then. So some only did it by USB. Some had really low-powered Wi-Fi card, so it didn't work very effectively. And some just didn't have it at all. Now as of today, most carriers out of consumer pressure, I imagine, allow it. So you don't have any problems hotspotting. But this was certainly not the case back in 2013. Now let's talk about peer-to-peer apps. So some of you might be thinking about apps that were completely offline, peer-to-peer allowed you to communicate. FireChat got popular. It's from the same people that built OpenGarden, but no coincidence. And that's an example. It routes messages in a completely peer-to-peer fashion. No data needed. So that's great. It's a good start, but it wasn't enough for a use case. So Twitter was a vital source of news at the time. And people in there would form groups to share important updates, such as where the police was mobilizing, when ride gear was deployed, et cetera. And students were also self-organized and implemented a WhatsApp or SMS alerting system. I got this alert from Google just to give you an idea of what an SMS alert looks like if you hadn't seen it. So yeah, they would use these kinds of alerts to notify protesters if police was on the way, if family was arrested, or friends were arrested, et cetera. So this tells you that although it's great to have offline peer-to-peer, it's not enough to stay connected to the wider group. So definitely not enough for a use case. And finally, I've talked about Mesh, but the reality is that Mesh wasn't an off-the-shelf solution at this time in 2013. So this is a pretty typical graph of how everything on the Internet looks like in terms of RFCs. The military did something, and they hacked some stuff together. And then some researchers got together and created task forces and formalized requirements, and then finally it goes mainstream to consumers. So this is kind of how it looks like from the 60s, where the ideas was conceived, to 2010s, where it was actually put in mainstream. But this fails to inform, though, is two things. First, standards were created in the early 2000s, but consumer devices like routers, Wi-Fi-enabled devices like phones that use Mesh actually didn't support Mesh. And then the other thing is that Venezuela, which is where I'm from, is usually 10 years in the past versus the rest of the world, on average.  So we're a bit behind. And yeah, so Mesh wasn't quite there yet, but I'm getting ahead of myself. So what is Mesh in the first place? So Mesh networking is a topology where nodes have similar authority. They can adapt to changes, they can route each other's traffic, and they can avoid single points of failure. So this is the one that you see on the right, the one called distributed. Now, this all sounds a bit utopical, like all the nodes share all the data for all the devices, and everything connects beautifully. But to give you some network background, the internet isn't quite distributed. It's actually decentralized, something more akin to what you see on the left, where there are some nodes that are more important than others, things like routers, edge routers, ISP points of presence. And they interconnect segments of the network. So then how is it that Mesh networks allow us to have a meaningful connectivity, like I said, access Twitter, access WhatsApp for your friends, groups, etc., and connect this then part of the networks if there are indeed more important nodes? How do we reconcile these both ideas? And more importantly, who does the Mesh? Is it the end devices? Is it the routers? Is it every device? How does it work? So let me give you one more idea. So in this case study, Mesh, in this case study for Mesh, there are nodes that are more important than others, and those are the ones with internet connection. So those are the ones you can see on the edge of this circle of animation. So it's trivial to think about a mesh network where one device is connected to the internet. That's basically the router of the whole network, and it's not really fun to reason about it. But in this visualization, you can see the idea what happens when multiple devices have internet connectivity. They make a network that better adapts to adding or removing internet connected devices. And this was the idea of using OpenGarden in our use case. If our mesh is sufficiently large and has sufficiently enough nodes, and some of those devices still retain network connectivity because their carriers haven't shut down their cell phone towers or they're far enough from where the protest is happening, then those will still have connectivity and they'll share it with the rest. And the network will continue to evolve and adapt over time when things change. So let's get to it. What was OpenGarden? Or what is what was? I'll talk about that in a second. So simply put, it'll create a mesh network where devices would share the network connectivity with each other. And crucially, they would do this using Bluetooth, not Wi-Fi, not ISP network, no peer-to-peer, nothing just Bluetooth. It's easy to do, most devices have it, it's peer-to-peer, it doesn't rely on central networks or complex topologies. So summarizing, all these devices would form a giant network where the links between each other are done through Bluetooth and then those devices that have internet connectivity through their carriers or through some Wi-Fi or whatever means would become routers for internet traffic and they'll share it with everybody in the network. So how does it work in a protest? So it's demo time. So I'm going to be showing a video of it because it makes it more practical for a big audience, but if you're interested in seeing how it works live, I have a couple of test devices, so reach out to me at the end of the talk and you can see it. So on the left, you can see a device that has internet. You can see that by the green line that says internet. And then a second device joins, and they both have internet initially. But I'm going to go now and I'm going to disable the Wi-Fi on the second one. You'll see that it quickly loses that green link to the internet, the one that's called Burner. But then it still detects that it has internet by going through the second device. It has a weird name. I don't know what happened. It kind of bugged it. And then if I open a disabled Wi-Fi on the phone on the right and then I go on the internet and boom, I have internet. You can also see that the network counter, the number of megabytes being transferred on the left, keeps increasing. So what's happening here is the two devices are communicating through Bluetooth. The device on the left has internet. The one on the right doesn't. They detected each other. They did some handshake. And then the one on the right has internet by sending all its packets through the one on the left. Now, I did this with only two devices, but you can create as many as possible. You can see that on this slide. You can create mesh networks that are quite big and it can grow a lot. Now, two things I found funny. This burner phone that you see has no usage and has a brand new Google account. And yet when I searched test, I was shown testosterone and COVID tests. So I don't know what that means, but I thought that was funny. It's a weird world we live in. So how can we take this concept even further? So unfortunately, OpenGarden evolved and diverged. Their last ventures were number one and network error. So they became, again, a central network. Which is a bit boring. Or their second venture was a tool that you could install in your OpenWRT router. So that's an open firmware that you can install in your home routers to get more features. And if you install that tool of them, then you can share your leftover bandwidth in exchange for Bitcoins. No, not Bitcoins. Some other coin. But the point is you are doing crypto in your router with your leftover bandwidth. Sounds good. It didn't really catch on. And the project went defunct. They also unfortunately didn't reply to my requests to be here. I think they're preparing for a relaunch that involves a new internet provider or something like that.  So that was quite weird to watch. It was like a relic of the past and now it's riddled with dangerous AI bots. But this kind of reliability is popular in some circles. So Gotenna, which is a product that you see on the slides, scaled this idea way up. And not only does it provide a way, provides a way to have more convenient and more powerful devices, which are, which is the one that you see there with a key chain. It's a more powerful mesh device. It has more Wi-Fi antennas, more transmitters, and it's more convenient, doesn't get tethered to your phone. It also interconnects all of these devices so you can get an idea of the coverage at all times. So the graph you see of the world is the geolocation of each Gotenna. So then when you go to a specific place, maybe you're camping in Yellowstone or you're in the middle of Leadbury and you don't have internet, you can get an idea ahead of time of who's gonna be there and what kind of connectivity you can expect. So it's kind of like a mesh ISP. So it's the best of both worlds. You have points of presence that are geo-distributed, but they're also offline peer-to-peer so you don't have a single point of failure. And then finally, consumer routers have also leveraged this protocol. So you might have seen some of these devices. The one on the top left is the Google Home Wi-Fi, something like that. And the one on the top right is TP-Lynx Echo, or no, yeah, Echo, I think it's called like that. And they are implementing the mesh protocol and they allow you to have different routers distributed across your home to have better Wi-Fi coverage. Now to be clear and to give a word of caution, this doesn't implement the fun bit of mesh where all the devices are interconnected and they are all connected to internet. In this case, only one of them is. So it is kind of a single point of failure, but it does leverage some things from mesh. It leverages the automatic discovery and ease of use across all the devices. So although there's three, you all see it as a one big network and if, say, you need more coverage, then you go and add more devices and they detect each other automatically, much in the same way that we saw OpenGarden use it. So in this example on the bottom, you can see that someone puts a router on the bottom of their house. Maybe that's the one that's connected to the landline or to the fiber. And then the ones on the top floor and the rest of the house connect to that one and create a big network. So let's recap then. So first off, mesh is a form of distributed, not decentralized, distributed network topology. And it adapts to changes quickly and it's more fault tolerant that your typical network installation which usually has single points of failure. Now it can be useful when you can't use hotspots and you don't have internet. The case study that I showed, a bunch of people were in the streets, phone lines went down and a few people remain connected and they could share that bandwidth at scale with everyone else. OpenGarden is one of the implementations. It's unfortunately defunct, but many more are coming. So Gotenna is one of them, but you can also try this at home. You can buy a mesh router and try to get way better coverage than you would if you had only one. You can buy Gotenna and become completely detached from typical ISPs and there are many more products. Now these are some of the heritage of OpenGarden but there will continue to come more. And then finally, hacking is great. I took a lot of time trying to set up that Bitcoin mining, sharing network bandwidth tool from OpenGarden that didn't quite work. But regardless, it's interesting to take network ideas and kind of demystify them a little bit and put them at practice in your own home. So for example, OpenWRT is a firmware that you can install in your router and get many of the features that are only famous in enterprise grade hardware for free. And then you can get way better coverage than you would if you buy the same router that you've been using for 10 years by not paying any more money. So yeah, networks can be great for many use cases beyond the ones that you know at home and that we've used for tons of years. And with that, thank you very much.