Alright, let's get started. In this talk, we're going to be going over a new protocol I've been working on at Zapdom called HostSocketSharing, or HSS. This allows a USB host to share its internet connection with the connected device. Before jumping into that, I want to briefly introduce myself. My name is Daniel Berliner, and I am a Principal Product Engineer at Zapdom in Chicago. I mostly work on our firmware, Linux drivers, and other Linux needs. At Zapdom, we provide a highly scalable solution for IoT devices to connect to a secure IPv6 overlay network that is globally routable but publicly invisible. However, contrary to what the sales team told me, I'm here to present HSS from a much more generic standpoint rather than going too far into our use cases for it. In this talk, I'm going to introduce the idea of having a USB host share its internet connection with the device, discuss use cases where this approach is advantageous, go over the protocol we wrote for accomplishing this, and give an overview of the implementation we wrote for this as well. The other reason that I'm giving this talk is to engage the open source community to look for ideas either on implementation or on the concept of this to see if we can make it more useful for more people. During the talk, if you have a question, please do just send it. I like to address questions as soon as they come in. Alright, so the problem we're trying to solve here is to get a USB device to have an internet connection provided by the host it's plugged into. This seems simple enough. USB has Ethernet over USB protocols, and you can also do internet connection sharing over USB. Which is, yeah, one of the, yeah, so yeah, you could do some of the tethering over USB as Sophia has commented. However, there's a few drawbacks. Internet connection sharing over a USB link requires NAT or bridging, which requires you to either select an IP subnet to use or run DHCP. If you're going to be using any of the CDC classes, those present difficulty going from device to host. They were fundamentally designed from host to device. The most common use case being a network interface card either through an Ethernet port or through a Wi-Fi device. They're also specific to Ethernet. If you're forwarding Ethernet packets over the network, you do have to know quite a bit about the network. Neither of those are easy solutions for what we're trying to do. Primarily, because they're not plug and play, we need a solution that's idiot-proof and user-friendly. You need to be able to just plug it in and have the connection without requiring a lot of user configuration or custom user space software on the host to manage it. Claude asks, could we also use IPv6? Yes. The purpose of this is for either IPv4 or IPv6. All right, so what we got together to solve this was a protocol we call host socket sharing. This is a protocol that allows the connected device to open sockets on the host and virtually manage them. This has a number of key advantages. No special networking configuration is required. The device can use the host's internet connection as is, even if it's a complex setup that requires quite a bit of negotiating with the routers. Furthermore, any firewall rules are implicitly also applied to the device. This meets already it-proof requirements. You can just plug it in and have it work. You don't need to know anything about the network, and you most importantly don't need to change the network to send things over it. This is an inversion from a lot of protocols you may be familiar with because it starts at the device and goes to the host rather than the other way around. This operates by having a driver on the device that creates sockets on IP or IPv6 for TCP or UDP and operates them at the request of the device. USB is used to relay the data and commands over the wire from one to the other. What kind of devices would want this? Well, there's a number of use cases. If you have a USB printer, scanner, or other interaction device that wants to download firmware updates or communicate with the cloud, they could benefit from this so that they don't have to write custom specific drivers to the machine that they're running on. Many of these devices already use generic drivers for their purposes and could benefit from a standard model to handle network connections. And I certainly know I would not miss setting up Wi-Fi on a printer. I'm sure anyone who's done that would not miss it. IoT sensors connected to a gateway are another use case. They often know what they need. They know where they need it, but they may lack the ability to connect themselves either through not having hardware or their hardware not being sufficient for the environment. So a generic solution to communicate with their gateway would be helpful. Another use case we've thought of is a hardware VPN dongle. This is something that you'd send data into. It would encrypt, packetize, and send data back out through its own secure key storage, perhaps a TPM or its own crypto processors. Before we move on to discussing what this looks like, do we have any questions from a conceptual standpoint? Alright, well, from the device's perspective, its user space applications will send data to a new socket family called AFHSS. This outwardly behaves as if it were an iNet socket, but internally it bypasses the network stack and sends all its data through USB so it can be sent to the internet by the host. From the host's perspective, it has a USB driver that sits listening to the other side of the connection and forwarding these operations and data over the actual iNet and iNet 6 sockets it creates. It also actively listens to all of these sockets and forwards the data it gets back asynchronously. The device doesn't poll or ask if it has data to be read. It just gets sent. To accomplish this, we created a relatively straightforward standard defining a number of commands, data structures, and algorithms for processing the data, along with a few rules on which side can process what? Looks like we got another question here. Can the host firewall restrict packets by the device's identity? Can USB devices be uniquely identified? There's probably a way to write the host driver so that the firewall knows it's coming from one of the USB devices, yes, but that isn't a use case we've considered yet. The USB devices can be uniquely identified and there may be a way to have the host socket manager pass that data onto the firewall. So yes, that is certainly something that should be able to be accomplished. Great question. Another one from Jan, could this be used to let the device listen on a port such as for a web UI? Yes, it could. That again would be something we'd have to expand into, but that definitely is a good use case I could see. All right, I'm going to try to keep this section relatively brief because reading a bunch of packet definitions to you doesn't make for a very interesting talk. The HSS packets that we use here all have the same 12 byte header. This header consists of an opcode describing the operation being done, a message ID that's used for acknowledgments to link an acknowledgement to the original command, a SOC ID to identify which SOC is being operated on, and a payload length indicating if there's any additional data to the packet. Payload data immediately proceeds the actual packet. For all packets, all numbers are unsigned integers and all multi byte fields are little endian unless otherwise specified. There's two types of commands here. There's two types of packets. There are command packets that have a maximum payload of 52 bytes. So we'll discuss why in a few minutes. These are your open, closed, shut down connect commands and acknowledgments. And then there's data packets which have an arbitrary length and are ideal for sending larger amounts of data. The first type of command we have is an open command. This is the first thing that initially creates a socket on the host. This is always sent by the device to the host. In addition to the header, it always has a nine byte payload indicating the ID of the socket for future operations that's handle. The address family protocol and type as well. This pretty closely mirrors the POSIX interface for the open command on a socket. The next type of packet is the close command. This closes a socket and can be sent by either side. When sent by the host, it indicates the remote peer has closed the socket. When sent by the device, it orders the host to close the socket. These return an acknowledgement but like the POSIX interface don't have an actual return code. The next command is shut down. This is a lot like close except it only indicates one direction. If sent by the device, it means the device will no longer send data. If sent by the host, it means the remote peer will no longer send data. Looks like we have another question. I'm sorry. I misread that. That packet again returns an acknowledgement but it doesn't have a return code just like the POSIX interface. Next is connect. This connects to an address on an already open socket and like open is only sent from the device to the host. In the case of an IPv4 address, it contains an 8 byte payload indicating the family, the port, and the IP address. It's important to note that connect packets always send their addresses in network byte order because no matter what the endianness of the host, it is expected to be in that format. The connect for IPv6 is very similar except it accommodates the much larger IPv6 address with the family, port, flow info, scope, and the IPv6 address. We've alluded to an acknowledgement a few times already and that is the ACC command. It acknowledges a given opcode and either sends a one byte response or a custom payload depending on the opcode it's responding to. Right now we're mostly responding to these one bytes, not defining terribly complex returns, but it has the ability. Finally, there's the transmit command. This sends and receives actual data from one side to the other for the sockets. This is the header with an arbitrary payload that has the actual data on it. Looks like a question came in. What about linkscope IPv6 addresses? You went to... Sorry, let me go back on that slide there. This has all the fields that you use to connect. As far as the linkscope goes, I am not exactly familiar with what that is. We can talk about that afterwards. I can't spend too much time on that right now. Do we have any other questions about the packets before we move on? My apologies. I'm having a little trouble sifting through questions here the way they're coming up. Okay, yeah, Claudio, let's discuss this afterwards. If I've made an omission, I will make sure to correct that. In terms of requirements, this requires USB 2.0, although if you're dealing with anything that's remotely fast, you're going to want USB 3.0. It requires two bulk endpoints for transferring the data packets and two interrupt endpoints for transferring the command packets. Because not everyone's here is going to be too familiar with USB development, it's worth quickly going on inside of what is an endpoint. In USB driver development, an endpoint is a buffer provided by USB to communicate from one side to the other. These are unidirectional buffers and have a few different types that give you different guarantees with different restrictions. Bulk endpoints are ideal for handling large data packets without tight latency requirements. Writing data to a flash drive is a great example of this. You don't particularly care how many milliseconds it takes for the packet to get there, but you do care how quickly it can transfer a large final. Interrupt packets are ideal for small packets that need to arrive very quickly. As the name suggests, it triggers an actual interrupt on the USB interface and causes them to be read quickly. There are interfaces that restrict these packets to 64 bytes, thus the 52 byte requirement that I mentioned a bit earlier. While we don't deal with them, there's also isosynchronous packets that deal with data streams. They lack a transmission guarantee, so they're completely unsuitable for these purposes. And then there's command endpoints which are used for configuring the device. For more detailed info, you can go to the USB standard. Chapter 5 describes this in a lot of detail. Anyway, so for this implementation, you need the two data, the two bulk endpoints for transferring data packets and two interrupt endpoints for transferring command packets. You also need a way to direct traffic from the device side socket onto the USB link. We've, for our purposes, we've created a new type of socket that does that. Do we have any questions on the implementation so far? Why do you need, why do you need two extra interrupt endpoints for the command? Could the command also be used over the bulk? The answer is yes, you could, but the data endpoints may be transferring a large amount of data, and you want to relay these much smaller commands with tighter latency requirements. It does raise the resource requirements of the device a little, but we didn't want to make these commands wait a long time for other sockets that may be processing some large portion of data. Good question. All right, then now I'm going to, sorry, one more question from Sophia. Sorry, one more popped up and I'm having some trouble reading the interface. I'm sorry, I'm just going to continue. I'm going to get into our implementation right now. For this, there's four basic components. There's the network driver on the device side, a USB driver on each side, and a host HSS driver that connects to the actual internet. All these components are bi-directional in that they send and receive data. The HSS network driver on the device side operates the socket that the user space device is talked to. It exports a number of functions that the USB driver knows to call, and it accepts an interface for the USB driver to provide callbacks to be sent data. The USB driver on the host and device do essentially the same thing. They connect, they maintain the USB interface, and they pass data to their respective HSS drivers. On the host, the HSS driver is split into two logical parts. There's one that unpacks the packets, handles the operation, and has a manager to deal with the actual iNet sockets on the device side. So for the device network driver, as I've mentioned a few times already, it presents a new type of domain located on our tree at the net HSS directory. It behaves as similar as we can to an iNet socket when dealing with user space applications. However, after that, it behaves quite differently. Rather than packetizing things in TCP or UDP and sending them to the IP where it sends them, sorry, it packetizes them as HSS and sends them to the USB driver. It also has to keep track of socks so it knows what it's dealing with when it gets an incoming packet. The host and USB driver, as I mentioned, just maintain the channels. And the host HSS proxy, I went over the slide here. My apologies, I made some last minute changes to these slides. Before I go into what the endpoints look like as they connect, are there any questions on what I'm talking about so far? All right, let's continue that. The flow of this happening when a USB device is plugged in is that the USB driver obviously is the first software to get the knowledge that it's been plugged in. So the host USB driver sets everything up with the device USB driver, and you have your endpoints. The device USB driver calls the exported functions from the HSS driver on the device and registers some of its functions for callback purposes. That's how the HSS driver knows how to send data to USB. And at this point, both sides are ready to send and receive data. Let's go through the flow of a open packet that would be used to initially set up a socket for communication. This is identical to the flow of other packets, but this is probably one of the simplest to go through. The first thing that happens is on the device a socket command is made with the HSS socket type. The HSS driver stores the new ID with this socket and uses the callbacks that were given to it by the USB driver to send an open packet. The USB driver receives the open packet and sends it over the wire to the host USB driver. The host USB driver passes the packet onto the host HSS proxy, which will also store the socket ID and correlate it to a new actual INET socket it creates. Upon completion, it will either succeed or fail and create an ACK packet indicating what happened. This ACK packet is passed back to the USB driver on the host, transported to the USB driver on the device, which passes it to the HSS driver on the device, which looks up the socket in its database and returns to the actual socket either by unblocking or updating its information so the next time it pulls, it will return either success or failure. That's the portion I had to describe the way we're implementing this. Are there any questions on this? Moving forward, there's a few challenges we have in terms of trying to integrate this with what other people are doing and perhaps even upstreaming the software. The first and probably most looks like we have another question. Is this HSS change related code proprietary or are we going to upstream the changes? This is all open source. I am going to link to our GitHub repose in just a minute. We would love to see this upstreamed as the project becomes more mature. The most fundamental difference between this and other USB software is that USB is a very directional protocol. There is a master, there is a slave and the host does not usually provide functionality to its device. That makes this very different than other CDC protocols. The other main difference from CDC protocols is that we are dealing with transport layer packets instead of the physical Ethernet packets. Furthermore, from an implementation standpoint, network drivers and USB drivers don't typically talk together. The CDC classes have a relatively inflexible glue between an Ethernet and it isn't really designed to go the other way around, but drivers do make direct calls to the network layer. Another question we have, how is DNS resolution handled? That is a problem for the host to resolve. You're sending data to TCP, UDP and other sockets on the host. However, it handles DNS resolution is the answer to that. And we only have one user, us. We're very excited to hear what other people might have and use cases that they could bring. Moving forward, there are still a few more features we need to build to get this ready for production. There is traffic flow control. We have a couple ideas for this, but I didn't have time to implement them before the talk. Things to apply TCP back pressure or other things to make sure that the USB link doesn't flood one side or the other. Considerations for high traffic systems are another thing. So for larger, large embedded devices having many bulk pairs to transport data across SOCs. A question from Robert is the HSS proxy running in Linux user space or as a part of the kernel? Because it's a new type of socket, it has to run as a part of the kernel. Another thing we do need to add is handling IO controls and a few other socket operations. We also need to make our distribution a bit more mature. And that a better way to distribute HSS until we're upstreamed because a new network device does require some kernel modifications. Looks like we have another question from Brent. What can I do with this that I cannot accomplish with existing CDC protocols? The primary benefit to this is that you don't have to know a lot about the device or sorry about the local network that you're talking to. If you're sending Ethernet packets, you usually have to have some identity with the router and an embedded device may not want to have to do that. This provides a very generic plug and play way to send data over your network. From William. Use case, USB armory. USB arm board that would benefit greatly when can device requests be made? Shoot me an email or contact me on Slack after this. I'll see what I can do. From Sophia. As a user tethering this reminder or sorry, that's an old comment. All right. And yeah, and again, part of the purpose of this is to see what we want to do moving forward the comments I'm getting from you all are excellent so far. So where to find it. The the Zaptum HSS repo has the host side implementation and the actual standard as a PDF it goes into more detail about some of the packets. And some algorithms to provide guarantees for which side processes what our device side implementation we currently have on top of our on top of the Linux distribution we use to deal with our use case. I want to have this moved into the HSS repo at some point, but I wasn't able to get a good way to integrate that in time for the speech. But these are the two places you can go to to find the software. All right. And if you want to contact me, this is my contact info information up here. Someone's indicating that the first link is broken. I will look into that immediate. I will look into that as soon as I'm done with this slide and try to provide a correction during the talk. All right, if you want to contact me my email GitHub and mostly empty personal website is up here and my employer who is paying me to be here and sponsoring obviously the production of this project Zaptum. I can take any further questions before ending the talk here. All right, well, it looks like it looks like that's it. Thank you very much for coming out to hear the talk. I'm going to look into the link being broken and post something in Slack as soon as I, as soon as I figure out what's going on with that. Thank you. Thank you, Marvin. Let me see if I can quickly figure out the link right here. I just typed the link in and it appears to be working without any problems. Maybe there's an issue if you're if you're clicking on the actual PowerPoint, perhaps it's pointing to the wrong location. Yes, there is a single quote at the beginning of that address in the actual PowerPoint. My apologies for that.


Genesis chapter five, beginning at verse 21, reading to verse 24, Enoch lived 65 years in Begotten, Methuselah. And after he Begotten, Methuselah, Enoch walked with God 300 years and had sons and daughters. So all the days of Enoch were 365 years. And Enoch walked with God. He was not. God took him. Father, we ask that you would open our eyes to the passage before us and that our hearts would be receptive to the message that I believe your spirit would have us to embrace today. Lord, we ask that you would right now just be amongst us and speak to us in Jesus' name. Amen. Let me begin with an introduction that really is not here in Genesis, but it's actually found in other portions of Scripture. I'll begin by saying the prophet Jeremiah. The prophet Jeremiah ministered from around 627 to 580 before Christ. And when you read the book of Jeremiah, you see that he served in very dark days in Israel. And so I'll share a little bit about those dark days. I'll share a little bit about that nation. You see, originally the nation of Israel was divided into 12 tribes. And after the death of King Solomon 931, the nation was divided into two. There was the northern kingdom called Israel, the southern kingdom that was called Judah. As God's chosen people, God had commanded Israel to worship him, to be faithful to him, and he gave them laws that they were to observe in order that he might bless them. But he also gave them warnings concerning what would happen if they rejected him. In Leviticus 26, 14 through 17, he said, if you do not obey me and do not carry out all these commandments, if instead you reject my statutes and if your soul abhors my ordinances, so as not to carry out all my commandments and so break my covenant, I in turn will do this to you. I will appoint over you a sudden terror, consumption and fever that will waste away the eyes and cause the soul to pine away.   So after the nation had been divided, the northern tribes had many kings. The sad fact is not one of those kings in the north was righteous. So because of this, God promised, His promised judgment on them came in 722 through a nation called Assyria. A century later, God turned His attention to the two southern tribes, Judah and Benjamin, and the king of Babylon invaded and the nation was conquered, many were exiled. You see at one time, Judah as a nation had been devoted to the Lord. They as a nation had been faithful to Him. He was their God. They were His people. Jeremiah reminded them of this. In Jeremiah 2 verses 2 and 3, God said to Him, go and cry in the hearing of Jerusalem saying, thus says the Lord, I remember You, the kindness of Your youth, the love of Your betrothal, when You went after Me in the wilderness, the land that was not sown. Israel was holiness to the Lord, the first fruits of His increase. So He said, I remember. I remember how You loved Me. I remember how You followed Me. I remember how You depended upon Me and I remember how You once lived for Me. But that could no longer be said of them. They had left their first love. They had abandoned the Lord. They became backsliders. They became idolaters. They had defiled the land, had exchanged the knowledge of God for false gods. How did this happen? How had this happened to that nation? Well, the Bible tells us the priests and the prophets did not handle the law of God properly. The priests didn't have a relationship with God. The prophets prophesied by a false God called Baal. In Jeremiah 2, 8 it says, a priest did not say, where is the Lord? And those who handled the law did not know Me. Those who should have known better had influenced the people away from the Lord. They rejected His commands. They led the people into idolatry. So it provoked God to ask a question, a very serious one. He said in Jeremiah 2, 11 through 13, has the nation changed its gods, which are not gods? But my people have changed their glory for what does not profit. Be astonished, O heavens, at this. And be horribly afraid. Be very desolate, says the Lord. For my people have committed two evils. They have forsaken Me, the fountain of living waters, and hewn themselves cisterns, broken cisterns that can hold no water. You need to remember that the nation of Israel was and is a dry land and is watered with a seasonal rain. It didn't have a huge river to rely on. Like when they were in Egypt, they had the river now, but the Jordan River is not a huge river, and they can't rely on it for their irrigation and drinking needs. And so God's asking a question. Why is that this has happened? How did this happen? And so He makes it very clear that they have hewn for themselves cisterns that are broken. So because Israel didn't have a huge river to rely on, they relied on the rain.  I'll give you the latter rain and I'll give you the early rain. You're going to rely on me because rain in the Old Testament as well as the new is a symbol of the grace of God providing for that nation. So to have water in the times of drought, they would dig out cisterns that would hold thousands of gallons. We've been in the garden too many times in Jerusalem and they have a cistern there that actually will hold 200,000 gallons of water. So God is saying that their idolatry will not quench their spiritual thirst. They have forsaken the fountain of living water. They relied on idols to meet their spiritual thirst. You see, if it's a time of drought and I go to my cistern, I will drop a bucket and I will bring up water for my family to drink. But God said you have hewn for yourself broken cisterns that can hold no water. We were in a huge cistern in Israel and they're enormous like a cave. And we were in a huge cistern the first time we ever went to Israel and Pastor Chuck was standing there giving a study and sharing with us about how Israel had broken cisterns. And he said this will hold multiple thousands of gallons and he was sharing about that. But he said, but look very closely at the plaster in this wall. And so we drew close to this wall and we looked and there was a hairline crack in the plaster. He said that crack was sufficient to allow all the water to drain out. He said so when the people would come in order to drop their bucket to get water, he said they found a dry cistern and this is a perfect illustration of what God was saying in Jeremiah. When he said you have hewn for yourself cisterns, broken cisterns that can hold no water. In your time of need when you went for water, you ended up dry and you ended up thirsty. Why? Because you have forsaken me, the fountain of living water. So he's saying your idolatry will not quench your spiritual thirst. And so God determined to bring judgment on the nation. He tried to get their attention through chasing them. They hadn't repented. Instead of repenting they tried to appear godly. They tried to fix their sin problem by applying religious makeup. They fashioned a form of godliness by becoming outwardly religious. And again God saw through the hypocrisy and he called him on it. In Jeremiah 222 he said though you wash yourself with lye and use much soap, yet your iniquity is marked before me sayeth the Lord.  They can't be washed away with water and soap. And so God actually reveals his loving grace towards them. Instead of rejecting them forever God instead calls them out and says you need to return to me. He had made a way for them. All they needed to do was repent, come back. In Jeremiah 4 verse 1 he says if you will return oh Israel says the Lord return to me. And if you will put away your abominations out of my sight then you shall not be moved. To intensify the reality of their sins God gave a challenge to the city of Jerusalem. In Jeremiah 5 verse 1 he said run to and fro through the streets of Jerusalem. See now and know and seek in her open places if you can find a man. If there's anyone who executes judgment who seeks the truth and I will pardon her. Thoroughly search out the city find one person who is faithful and just. You see justice and truth are the qualities that govern a person's relationship with God and man. So if such a man is found said I will spare the city. Now that reminds me of something else that occurred during the time of Ezekiel who also prophesied around the same time as Jeremiah. In Ezekiel 22 29 through 31 it says the people of the land practice extortion commit robbery. They oppress the poor and needy mistreat the alien denying them justice. I looked for a man among them who would build up the wall and stand before me in the gap on behalf of the land. So I would not have to destroy it but I found none. So I will pour out my wrath on them and consume them with my fiery anger bringing down on their own heads all they have done. Declares the Lord I have sought for a man but I have found none. So I will bring judgment on them for all that they've done. So today I cannot help but believe that God continues to seek the one whom he can use. What kind of man, what kind of woman would God use? Well God will use the one who's pursuing him. God will use the one who pursues godliness. Now remember this is something that Paul encouraged Timothy to pursue. In 1 Timothy 4 7 and 8 he had said to Timothy reject profane in old wives' fables and exercise yourself toward godliness. For bodily exercise profits a little but godliness is profitable for all things. Having promise of the life that now is and of that which is to come. So reject ungodliness he said but embrace godliness. You see Christians are familiar with the word godliness but may not know what it is. The word godliness conveys the idea of a personal attitude towards God that results in actions that are pleasing to him and is revealed by a life that focuses on God. And this kind of life is evidenced by discipline and faith, it's evidenced by reverence and virtue and holiness. It's a life known for reading and applying God's word, for worshiping God, for prayer, for fellowship. It's a life known for serving him, giving your offering, being baptized, receiving communion, sharing your faith, fellowshiping with other believers.  God intends all believers to pursue a life that's earmarked by godliness, which brings us to a man named Enoch. Because Enoch is a great model of a man who pursued godliness throughout a long lifetime. When you look at Enoch here in Genesis chapter 5 verse 21 through 24, the word Enoch or the name Enoch means dedicated. And Enoch is mentioned various times in the Old and New Testament. And he's a model of a man who consistently over a long lifetime walked with God. Now we know that Moses wrote Genesis and note how he wrote that Enoch walked with God. Now what would Moses be referring to and what can we learn to help us to walk with God? Well, the writer of Hebrews gives us insight. In Hebrews 11, 5 and 6 it says this, My faith Enoch was taken away so that he did not see death and was not found because God had taken him. For before he was taken he had this testimony that he pleased God, but without faith it's impossible to please him. For he who comes to God must believe that he is and that he's a rewarder of those who diligently seek him. So it's interesting how in Hebrews 11, 5 Enoch's testimony was that he pleased God. It's interesting because in the Greek translation walked with God is translated pleased God. In the Hebrew in the book of Genesis when it says Enoch walked with God, it's interesting they had another translation in the Greek. It's called the Septuagint version and in the Septuagint it says that he pleased God. And the writer of Hebrews is actually quoting out of the Septuagint when he says he had this testimony that he pleased God. So walking with God and pleasing God, a person can say, yeah, I walk with God, but that doesn't mean that person is pleasing God. There are people today you've encountered, I have over the years encountered quite a number of people who say, oh yeah, I have a walk with God. But the question is, do you have a walk that's pleasing to God? Because to say that you're walking with God doesn't mean that you're pleasing to him. It simply means a lot of people have a tendency of saying, oh yeah, I walk with God. I just live with my girlfriend, but I'm walking with God. You know, I go out and party, but I'm still, I'm walking with God. There's just times that I'm not. We can make up all these excuses for the impurity of our lives and yet when asked, do you have a relationship with Christ? They'll say, yeah, yeah, I'm walking with God. I remember when I first got saved. I had a friend, his name was Jeff, and I was told we need to give away our faith and saw what we were in Whittier. We were on Whittier Boulevard and there was a place that the kids hung out called Bob's Big Boy, and we went to Bob's Big Boy there and to witness.  So I remember going and there was a pickup truck and I looked into the truck and there's a friend of mine. His name was Jeff. I'd known Jeff for all through high school and all, and I hadn't seen him in a couple of years. And I remember saying, well, that's a friend I can start there. And so I walked up to Jeff and I said, hey, Jeff, how are you doing? He looks at me and he was very drunk, very drunk. He said, I'm doing, I'm doing good. I said, really? I said, Jeff, let me tell you something I want you to know because he and I partied a lot together. And I want you to know that I gave my heart to Christ and I've turned away from that old life and I'm following Jesus. I want you to know that. And through slurred words, he was drunk. I'll never forget him as he looked at me with slurred speech and says, yeah, I'm walking with Jesus too. And that was, you know, and I thought, well, how interesting. Now I'm a brand new Christian and I'm, you know, I'm just like, well, you know, how could you really, you know, today I wonder if you may have just had a momentary lapse or what, but there are a lot of people who live that way every day. And yet when you speak to them and say, do you have a relationship with Christ? Oh, yeah. But in fact, you don't listen to walking with God is pleasing God. That's why the writer of the translators who wrote translated the Hebrew into Greek said he, this is his testimony that he pleased God. When in the Hebrew, it says he walked with God because the connotation in Hebrew is that it's not just saying I'm walking. It's the connotation of saying I am pleasing him. You see, there are those who say they walk with him, but they're not pleasing to him. Somebody said three things are included in our pleasing God. That we have been accepted into fellowship with him. That our life and works are approved of and that we have a testimony that we are forgiven and live righteously before others. And so we have Enoch here and we want to learn from him. What can help me to live a godly life? Well, first, if we're going to walk with the Lord and please him, our lives are built on a personal and saving faith in God. Again, there are quite a number who if you ask them, are you a Christian, they'll say yes. But we need to understand that it's a personal saving relationship that we have with Jesus Christ. In Romans 4 verse 5, it says to him who does not work but believes on him who justifies the ungodly, his faith is accounted for righteousness. For Enoch to be pleasing to God speaks of him being forgiven and walking in faith. And if I'm constantly living a life of sin, there's no way that I can say I'm walking with God. Amos 3.3 asked the question and two walked together except they'd be agreed. And second, his walk was consistent. His walk was continuously going forward, developing and maturing over a lifetime. At the end of the year, he could look back and he can say, I've made progress and he could do that for 365 years. In Luke 9.23 Jesus said, if anyone desires to come after me, let him deny himself, take up his cross daily and follow me. You see daily, not every Christmas, not every Easter, not every occasional Sunday, he says you walk with me daily. A third thing, he refused to be conformed to the evil world that he lived in. Instead of giving in to compromise, he remained steadfast in his walk with the Lord. He lived when the earth was growing more and more wicked. If you look at chapter 6 verse 5, it says the Lord saw the wickedness of man that was great on the earth and that every intent of the thoughts of his heart was only evil continually. Those were the days that he lived in. Things were evil constantly. Man's imaginations were always inventing new evil. This is the kind of world we live in today. We're living in the last days. In Luke 17.26 and 27 Jesus said, as it was in the days of Noah, so it will be also in the days the Son of Man. They ate, they drank, they married wives, they were given in marriage until the day that Noah entered the ark and the flood came and destroyed them all. We see this today with the continual onslaught of the normalization of sin. The silence over the issue of infanticide is staggering. And again, it seems people care more about puppies than they do about human beings. Hollywood constantly glamorizes casual sex. Politics is filled with professional career elitists who live by different rules. TV personalities promote their lifestyles and opinions like TV evangelists. The music industry has no moral compass that promotes songs with unprintable words. The print media molds opinions instead of reporting events. And Enoch lived in that kind of world, but he didn't allow it to shape him into its mold. He didn't remain silent, by the way. He spoke out clearly against the ungodliness and the world's blasphemy. In Jude 14 and 15, it says, Enoch the seventh from Adam prophesied about these men also saying, saying, behold, the Lord comes with 10,000 of his saints to execute judgment on all, to convict all who are ungodly among them of all their ungodly deeds, which they have committed in an ungodly way, and of all the harsh things which ungodly sinners have spoken against him. Enoch held his ground, he gave out God's word, and he was mocked and he was rejected. He saw ungodly lives and bore witness against them because the spirit was grieved. You see, righteous hearts are always grieved over evil. Charles Spurgeon said this. Enoch lived when few loved God. He lived towards the close of those primitive times wherein long lives have produced great sinners. Do not complain therefore of your times and of your neighbors and other surroundings. For amid them all, you may still walk with God. He didn't allow the world to press him into its God-rejecting mold. Neither should we. In Romans 12, 1 and 2, Paul said, I beseech you therefore, brethren, by the mercies of God, that you present your bodies a living sacrifice wholly acceptable to God, which is your reasonable service. Do not be conformed to this world, but be transformed by the renewing of your mind, that you may prove what is that good and acceptable and perfect will of God. He did it because he loved the Lord. He did it because he desired God above all other things. His heart desired the Lord. He was undivided in his commitment to him, and that is what believers are to do. Walk with him, love him, and do so daily. Don't allow your heart to become divided. That can occur. He was not enticed to it's compromise and to simply accept the onslaught of perversion. A.W. Tozer said, We have learned to live with unholiness and have come to look upon it as the natural and expected thing. That's very true today. Many of us in this room could say we understand that because there's such a pressure for you to agree with what the world is saying and there's such a rejecting when you stand in opposition that many have become silent. If we're not careful, we can cease being outraged by evil that has become normal, and in accepting it, we actually become corrupted by it. In 2 Peter 2, 7 and 8, it's bishop God rescuing Lot. He says a righteous man, listen, who was distressed by the filthy lives of lawless men for that righteous man living among them day after day was tormented in his righteous soul by the lawless deeds he saw and heard. You see, I'm growing older in the Lord and my commitment grows daily even more than it was the day before and people can misunderstand when people have walked with the Lord for a while they can misunderstand that person. I was sharing with some friends the other day and I said, you know when I was a young man I preached pretty much the same way I do today. So I said in my 30s I would preach of the same kind of passion about some things that I do today. I said the difference is this, when I was a younger man, people would say, boy that young man has passion. I said when I became an older man they say, boy he's grumpy and mad about everything. And it's true because people can look at me and say, oh he's just an old grumpy guy he has to get with it. They don't realize that they've been corrupted they don't realize that they've been brainwashed and to believe in the things that are being said is accurate and right. Their righteous soul is not grieved at all because it's become part of what they believe is okay. I have had strong conversations with believers who have tried to argue for sin and sometimes they are more vehement in their dislike for what you said from that pulpit than an unbeliever who is looking for a way out of his evil life. And we've got Christians who defend corruption and we have those who don't know Christ saying, God help me I'm a sinner somebody give me the answer because I'm not making it. And we have that today. We have that in churches people get up and people get upset and people will walk out because you're saying something they don't agree with and that concerns me more than the world. I expect the world to reject the gospel. I have a tough time with believers who don't want to live it who say they're walking with God but they're not pleasing to him because it's too much fun on Saturday night to go out and drink with your friends because it's so much fun to go and do different things and occasionally be in fellowship never serve, never give, never do any of that and then say you know what I love God and I'm walking with him and I love him with all my heart and that's simply not true. What it is is what you love you will serve and you will see the Christian very often serving the world very often serving the world that's the way it is and Enoch would not do that and Lot was called a just man and his soul was grieved as he saw what was going around him he lived there in Sodom and Gomorrah and his heart was grieved by the sin he saw it and the people say you came and sojourned amongst us and now you're standing as a judge you have the right, you're living amongst us you're doing the same things we are basically is what they were accusing him of and yet the Scriptures says no, he was a righteous man but they assumed that he was like them because he was with them you see our world celebrates delusion and publicly ridicules those who differ in Psalm 119, 139 Thomas said my zeal wears me out for my enemies ignore your words Malachi 315 says now we call the arrogant blessed certainly the evildoers prosper and even those who challenge God escape and we see that but somebody said we are not diplomats but prophets our message is not a compromise but an ultimatum Enoch walked with God when the world rejected the Lord and he held fast to his integrity he sought fellowship with him unwavering in Proverbs 2526 like a muddled spring or a polluted well is a righteous man who gives way to the wicked he wouldn't do that he maintained his relationship with the Lord he kept it his top priority is like what the psalmist said in Psalm 274 one thing have I desired of the Lord and that will I seek after let me dwell in the house of the Lord all the days of my life to behold the beauty of the Lord to inquire in his temple the psalmist in Psalm 8611 and 12 said teach me your way oh Lord I will walk in your truth unite my heart to fear your name I will praise you oh Lord my God with all my heart and I will glorify your name forevermore this longing for God is a foundation of a desire to grow in godliness that doesn't happen overnight it's a fruit of a lifetime pursuing the Lord Jeremiah 2913 says you shall seek me and you shall find me when you shall search for me with all your heart finally notice the results of this long walk in the same direction Genesis 524 says it like this he not walked with God he was not he did not say that he died but that God took him to be with him the fellowship that he had with the Lord was so sweet that God said and you could always picture this God said you know what I'm having such a great time fellowship with you why don't you just come with me just come with me and he was not for God took him God said this is a sweet fellowship in my house you know one of these days guys and it's not that long the Lord Jesus Christ is going to return there's going to be a shout that Trump of God the dead in Christ will rise first in those then we who are alive and remain shall be caught up together with them in the air and together we're going to be with the Lord and join him for eternity there is nothing yes yes I had never heard that I had never heard that the Lord was going to come and receive me into himself I'd never heard that and then I got saved and I thought this is amazing he's going to come at any moment at any moment I remember many years ago now I was I had gone to a Bible study at Calvary Costa Mesa and Chuck had shared about Jesus was coming he said he can come at any moment I was at my parents house at that time and it was February of 1971 I still remember that and I was on the bed it was early in the morning and suddenly the house began to vibrate it was a shaking that was taking place and I remember being awakened out of my sleep and Chuck had said that there are going to be earthquakes and signs of the times and I still remember I'm vibrating on the bed and I still remember thinking oh man earthquakes maybe Jesus is coming and I still remember raising my hands up as the house is shaking but obviously didn't come here I am right now but I was taught to anticipate him I was taught to live for him that doesn't mean I always have God knows I have and I've had my valleys I've walked and I haven't walked solid I wish I had but I didn't I went through my ups I went through my downs I went through my backsliding periods I went through everything I tasted of the dirty water of the world once again I went back to it on occasion just a taste of it and I finally came to realize it's just not satisfying I was outside the other day in front of my house and it had rained and the gutters are filled with the water that's rushing down you know after the rain going towards the drain and all taking down at this stream of water and how dirty and polluted it is I'm looking at it and I start to think of when I was about six years old how I actually as a kid just a gross little girls out drank that water in the gutter I actually did I actually did I remember the girls were watching girls get grossed out easily I was boy why not do it and so I said what these girls and I got up and I drank the water and they're going ooh and for some reason I had some great joy in my life I still bother Marie doing stupid things and I'm an old man because she gets grossed and so why not it doesn't go away guys even when you're born again and ladies you're going to have to put up with it forever but with that said I can honestly say I know the difference between gutter water and pariet I do and I can tell you pariet is better I can tell you that and why is it that we go back to the gutter why do we like the dog go back to our vomit why like the pig who got washed go back to the mire why do we do that because there's a lie that's being told to us that that's really good sometimes you're alone sometimes you're lonely it's a Friday night a Saturday night or whatever and you're by yourself and you're thinking man since I became a Christian my life became boring and one of your friends calls up and says to you what are you doing you say nothing and it's true because you're doing nothing you want to go out and in your mind you're saying I know if I go out I'll probably make some dumb choices tonight ah come on man doesn't hurt you let's go out let's hang out for a while man haven't seen you for a while and you think I don't have any friends to hang with I don't know anybody yeah and you go out and the next morning you wake up and you say why did I do that why did I go out why did I do that I feel so miserable I feel so convicted I feel so wrong I shouldn't have gone out why did I do that why because the enemy is constantly telling you and your spirit you're not your spirit so much but your flesh your flesh has a tendency of listening to the lies and he says it's going to be fun it's going to be okay and you forget why you came to Christ in the first place you forget you forget what it was like see listen when I got saved I can still remember waking up in a pool of my own vomit I don't mean to gross you for it but it's true you know I drank and drank and drank I get so drunk I remember falling and just vomiting all over myself when I was 16 I got arrested for drunken public they threw me in the Norwalk substation and my friend Bill was seated above me on the bench I was so drunk I couldn't even sit on the bench I was just laying on the ground and he was vomited on my face I still remember I still fellowship with Bill he got saved and I manner him every month yeah he still remembers he was sitting there and he's going all over me and I would say Bill stop it and he's going I can't how cool huh and I was cool and the cops came and they were standing there holding the bars I still remember this one sheriff saying you guys go to see this and two other guys going oh Bill just painting my face with cheap wine those are the good old days huh those are the fun days huh that's what we say that's what we say oh I remember when I yeah those were the miserable days weren't they those were the days that you said God help me to get out of these days that's what those days are but we don't the enemy whispers and says you got no friends you've got nobody hanging with you anymore they think that you're weird and so you go right back like the pig right back to the dog like the dog eating that vomit thinking it's going to taste different this time and it doesn't no when you get saved you walk differently you walk differently your life is a testimony sometimes you go through those times of pain you go through hurts like anybody else you go through times wondering did I make the right choice I came to know you Lord and look at my life seems miserable what's going on but then I began to remember what I was like and what it was like and I know that sometimes you go through seasons and sometimes the Lord will use different things in your life to take away the things that don't have value and when you come out after being tried you're purified by God and I've discovered that and all along as you're walking with the Lord you're one moment closer to being with Him forever one moment closer every minute you live is one minute closer to being with Jesus Christ and that's enough he walked with God 365 years and was not for God took him Jesus said to us something that I'll never forget it's found in John 14 1-3 let not your heart be troubled you believe in God believe also in me and my father's house are many mansions if it were not so I would have told you I go and prepare a place for you and if I go and prepare a place for you I will come again and receive you into myself that where I am there you may be also where are you Lord I'm at the right hand of my father and you're going to be with me what would be better than that Enoch walked with God he lived in a time when evil was normal he lived in a time when people rejected God we're living in a similar time right now we need to hold fast for the Lord is coming you need to hold on because the Lord is coming it may not be this moment but I hope it is if it isn't today it could be tomorrow if it's not tomorrow it could be next week but he is coming he is true to his word and I want to be ready when he shows up I want to be ready when the Lord comes and he will come in an unexpected moment when I was a kid I was a party monster I liked to party that's what I did my parents went on vacation once and I had a three day party at my house and we we were really drunk I have to be honest I'm not glorifying in that it's just true we were really messed up for three days I had friends coming in and out of my dad's house somebody spilled a half gallon of wine on the gray rug I didn't know it my dad found it I didn't even know it in their bedroom which even we kids couldn't go in my dad's bedroom so my friends had gone and they were drinking and they dropped a lot of wine and I was there and my dad and mom weren't supposed to be coming home for another day or two but they came home early I still remember my sister Madeline coming into the house saying David you better get out of here dad's mad and I was drunk and I had a friend named Albert and he was very drunk so I took him by the arms and I let him out and opened the front door I said get out of here and I put him outside he had gone to the side door and he came back in I still remember I still remember him staggering towards me and I took him out again I know what it's like when your father comes home suddenly when he comes back suddenly and my Jesus is coming back suddenly when you're not expecting him which means be prepared every day as if today is the day he comes back be ready be ready you think you can go out and mess around and do stuff you need to be prepared you need to be ready like the bride prepares herself for her groom we are being prepared to be with ours we need to live for Jesus Christ Enoch walked with God and was not for God took him the fellowship was so rich that one day he just took him to be with him and even so one day Jesus Christ is going to say come up here and you will see him face to face and I guarantee you you will not regret leaving the garbage that you used to love so much behind you will not regret that one moment because you will behold him face to face and you'll see the face of the one who wept for you in that garden the one who took the stripes on his back for you you will see the one who had his hands and his feet pierced for you you'll see the brow and you will see him and you will say God thank you for loving me and I will be with you forever there is nothing better than that and we need to be prepared for that we have to be be ready he's coming soon in the twinkling of an eye we shall see him face to face and I've already prepared the speech I hope he allows me to give it Jesus I love you thank you that's all I can say thank you for what you did


My god, this is the house name. Oh my god, the memories. They didn't have a television to watch, so she would come to our house to watch one. They used to sneak to their room to watch TV. Now they are watching you on their TV. This is Ms. Trudy. She is currently trailblazing YouTube in Africa with over 300,000 subscribers on her main channel and one of the most engaged fan bases in Africa. But it didn't exactly begin like this because behind all the glory was sadness, determination and a dream. From growing up in Nairobi, Kenya with her single dad Was it not for my dad? I really don't know where I would be. Dropping out of university after two years and working in retail supermarkets to starting a YouTube channel from her bedroom using only a phone, she's somehow gotten to... Hi, my name is Raymond Kahuma. I'm a YouTuber from Uganda and this is a new series where Wodemaya, myself and so many African creators are gonna collaborate to bring you guys even better African stories than we can individually. And we really hope you like them. For example, how using only a phone Ms. Trudy's somehow gotten to the point of travelling the world buying property and giving back to the people in her life. I paid Ms. Trudy a visit to find out exactly how she got here. Hello. Hi, welcome to my apartment here in Kilimani. Thank you for having us. Can I just start by saying that we're all just very inspired by your work? Honestly, the me four years ago wouldn't even believe this is possible. Most people thought I was crazy doing what I was doing. I also thought I was crazy. I was like, what am I doing with my life, you know? But sometimes you shouldn't despise the days of small beginnings because sometimes they lead to great destinations and I'm not there yet, but I'm heading there and I'm grateful for this tip. I'm just so happy, you know? Wow. Could you just at least show us around? Okay, so this is the sitting room. I'm coming with me. Let me show you the bedroom. This is the bedroom. A bed fit for a queen. You know, I used to sleep in a really bad bed for the longest time and my brother used to tell me, you need to buy a better bed. And I was like, oh, I'm saving for a house. So I sacrificed a lot. So when I bought the house, I was like, I'm going to get myself a really comfortable bed and now when I sleep here, I don't want to get up because it's so comfortable. How do you keep motivated and how do you even stay motivated when you are in a more difficult situation? Number one, it's God. I pray to God to help me be the truest and highest version of myself. I just feel like there's greatness inside me and it wants to come out. I can't say exactly what it is, how I'm going to do that, but it wants to come out and it's going to come out. Seeing Trudy talk with such passion just made me feel like, was she always like this? What was work like? What did she even do? I did promotions for like three years. It was all over the place. Ngong Road, Kasarani, CBD. How much were you paid? 300 Kenyan shillings. In a day or in a month? In a day. 300 Kenyan shillings? Yes. It's actually crazy with this land because I used to market or more in sunlight. I used to do this every day. You enter the supermarket like at 7 and you leave at 7 at night and you're given a 30 minutes break. You're not supposed to lean. Don't get tired because you're not allowed to lean. I did this for three years. It got to a point where my legs started swelling up because of standing every day from morning to evening. You know, they started swelling. I started feeling pain. It got to a point where my dad was telling me, you know what you don't have to do?  Hi, how are you? I'm fine. What's your name? Dorca. Dorca. So nice to meet you. Nice to meet you too in person. I used to do your job. He used to do your job. It's so exciting to talk to you. That's a good thing actually. I know, right? I know. So that means in the next three years I can also be somewhere like you. Yes, it's so possible. And I just want to encourage everyone that nothing is impossible. I don't know if yours are different but for me when I was doing promotions it was so hard. I used to stand from morning to evening. It is. It is. It's hard, right? It got to a point where my legs started aching. I tell you my back right now. Oh, back aches.  Is this something that you really wanted to do? Yeah, actually I want to own my own spa and I also want to be a vlogger someday just that I don't have enough content to do but I'm sure one day one time we'll be in this together. It's possible. No, I did not quit. I was fired. You're fired? At a time when I thought I was going to get promoted. I was fired by someone because of my tribe. Yes, I was working in the supermarket. The manager came and asked me what tribe are you. He came and asked me my names. I said my name. He told me the other name. I said why? He insisted. Tell me the other name. Where are you from? I told him my dad is low. My mom is Kikuyu. Then he told me what's your name. Then I said my name. Gachudawino Juma. The next day I was fired. Wow. Yes, because of my name and some people are so tribalistic in China. What happened after you were fired? After three years, you decided to quit working in the supermarket? I went home, you know, and I was home for three months. I didn't know where my life was going to go. I was so confused and I used to ask God, why, like, why did you let this happen to me, you know? So this is where I used to live. On this block, the last house, on the first floor, brings back so many memories, you know? All my childhoods, born and raised. My God, this is the house, man. Oh, my God, the memories. Babe, all the people are friends. All these kids here, these guys I told you used to play. Used to play a game called Katty where you're running. So there's three people, two at the ends and someone running in the middle.  They come, they look, they don't see anyone. Then when they close the door, you run again and ring it. It used to be so much fun. Come, come, come, come. Come. Would you all look for a camera? I told you to capture her face. Oh, my God. She wants to cry.  Don't cry. If you cry, I'm also going to cry. Come. He was a baby. And then he only used to put his finger in his mouth like this, like he was a kid when you were growing up. So now he's really grown in the university. Man, it's crazy. Like he's really grown. So the whole story of Trudy, we know it better. You know. Then tell us, tell us then. How to tell us? What do you remember about her childhood? They didn't usually have a TV. So she would come to our house to watch one, to watch TV. That's true. So she would sneak down to our house, watch TV, then go back. Yeah. When you see her here, it's true God's grace. It used to be fascinated by TV and everything. And inside I was like, maybe one day I'm going to be on the TV, you know. He used to sneak to their room to watch TV. Now they are watching you on their TV. My mother tells me that there is a pan which her father gave to her. Yeah. And we still use it up today.  So many memories. Oh. There are some pictures thing that you can look. Oh, let's take. Oh. You got her photos of me. Photos of Trudy. Oh my God. Oh wow. This is me. Yeah. Oh my God. And Lynn and Rosetta. Oh my God. And Arnold. See, guitar. This is guitar. Yeah. Wow. Jerry. Wow. See Blay. See how he was so tiny.  This is him. This is him. Yeah. This is the TV? Yes. Oh wow. Nick to watch. That's the TV. That was so cool. But how was life growing up? You know, what made it difficult is the fact that my mom passed away when I was 16. So that is what made it difficult. But I have the best dad in the whole world. He did his best to give us an education. And he made so many sacrifices for us. Was it not for my dad? I really don't know where we would be. How was life growing up without a mom? It was very difficult because as a girl, you need a mom to tell you stuff. You know, when you're becoming a woman, you're starting to grow. You know, when you're starting your periods, your body begins to change.  You know, and from friends. And some friends don't even have the right information because they are your age, you know. So you pick as you go. You know, so many embarrassing moments. At what point did you drop out of school? Um, it got to a point where there was just not enough money for fees. So I had to drop out. To summarize, I had one last sit-down with Miss Trudy to talk about her YouTube journey. When I started content creation, I had to start with what I had. I had a very bad phone. God, Infinix something, I think. I wouldn't let that stop me, you know. I just did what I could with what I had. So just use what you have, you know. Don't want a big camera that you can't afford. And be like, when I get this expensive camera, I'll start. Then I'll start. When I get this, I'll just start with what you have and step by step, it's gonna take you there. So I kept improving my phone. What was the breakthrough point on YouTube? After being so depressed, I got a DM from a random guy and I checked him out and he's Maya. His name is Maya. He's like, here I'm coming to Kenya. I saw you on YouTube. I'd like to link up and create content. And I'm like, you know, well... But the time I responded, it was three months late. He had already left. So then he's like, okay, I'll be going to Ethiopia. Do you wanna come? And I'm like, no, leave me alone. I'm depressed. I don't wanna talk to anybody. You don't know me, I don't... You know, just leave me alone. But then something told me, Trudy, just take the risk. What's the worst that could happen? You know, at this point, after doing promotions and all my life, I had saved about $400. I decided to, you know, pay the flight to Ethiopia. It was about $250. I paid the $250. I was like, I'm gonna survive on $150 somehow. In Ethiopia? Yes. So I went to Ethiopia. I met with Maya. It was amazing. And the best decision I've ever made in my life because I met Maya. He told me how to work smart on YouTube, upload more content, how to put tags, how to be creative, how to be confident in my own skin. I didn't think I was good enough. I used to put crazy things in my tags. I actually used to put other content creators. Maya went through the tags. What's this? Who are these people? I'm like, other content creators. So that means people search them? Yeah, they can see me.  Believe in yourself, you know. And it changed my life. For the first time ever, I made $1,000 on YouTube. In one month? Yes.  The lowest month that you ever made. When you started making real money from YouTube was $1,000. You don't have to say an exact number, but about how much do you make each month just so people could be inspired?  But, uh, $10,000, sometimes $8,000. Thank you so much, Miss Trudy. I hope people find you as inspiring as I do. Thank you. And thank you for everything you do for Africa. Yeah, I just want to say that no matter what, nothing is impossible. Nothing is impossible. Whatever you think of can be a reality if you put your mind and your hands to work. I'm just a girl who wants more in life. I just believe there's so much more to life than this.