세� Heat Gen 세� E 等等 تfferICES  foot 來 Ther shies  sonra the provinces. Yes, they are still celebrated as if they have achieved something great. We may see Governor being praised for simply fixing a road that has been disrepair for years instead of holding them accountable for the poor state of infrastructure in the first place. Furthermore, in Nigeria, we tend to have a culture of celebrating mediocrity, especially when it comes to entertainment. You may see an artist with poor vocals or super lyrics being praised as a superstar simply because they are famous. It is important for Nigerians to recognize that we deserve better than this. We should demand excellence from our leaders and service providers and not settle for less. By holding them accountable, we can create a brighter future for ourselves and for our country. Let us reject the normalization of mediocrity and strive for greatness in all aspects of our lives as Nigerians, we should always aim for the best and not settle for anything less. When I was coming up with this, I looked around and I felt like since we have been taking for granted for long, we tend to see some of this misnomer has been normal. After a week, power supplies restored to your area and maybe after six hours they interrupted it again.  Man, you were supposed to interrupt it for six hours because you got into this power supply.  Then you not come to the normal. And again, you see, governments celebrating have been paying the salaries of our civil servants since the last three years without, is that supposed to be an achievement? Are we supposed to be celebrating you for paying the workers' salary? So I see it as we are celebrating mediocrity and that's why we have not moved beyond this state that we have as a country. When a service provider ditches us or don't give us the commensurate service for what we have paid for, we don't hold them accountable. We tend to, I've heard people who tell you when I use a card at the ATM and I was there with the $20,000, $20,000 is the last one yet because I don't even know, I don't want their problem. And you see the same person banking with such financial institution which means we don't know what we want. And that's why the government or the leaders are able to see through this and so they give us peanuts instead of what we deserve as citizens of this country. I don't think that is...  After a while, the person gets used to it and because the person gets used to it, the person doesn't even understand where to rise from to understand because it's not... Imagine every time... I want to climb this mountain for example and every time I try, I fall and then for every time I fall, maybe I was supposed to fall to 20, then I fall to 10, then I fall to... And then I keep falling and I keep falling. The spirit gets defeated and there's no motivation. When you look around, everyone is hustling, everyone is bustling. There's a double taxation here and there.  So I'm not defending people that... I mean, yes, you should ask for more, you should strive for more but when the society keeps beating you down, you try to fight for your rights, you put some... I mean, I've had people that, they got robbed and then they clawed out their account. They go to the bank to say, oh, it was one chance, they clawed out my account and then immediately they say, sorry, you can't help you because it showed that we draw this money go and get police reports. You can't file on that here because your money is maybe 200,000. That's not where you file it on that you file. So by the time they go round and round, they say to you, I leave you with God, God will judge you because number one, that is the person's entire savings that the person has worked, made sure she left the house at 4 a.m. in the morning and come back home at 10 p.m. in the night, worked nonstop and then entered one chance. Go robbed, go to the bank and say, hey, they clawed my account, bank says I can't help you. It shows that it was you that we drew it to do this. You need police reports.  Go and file it here. You go to this one, they say pay this. I said, you know what? I start from the beginning again. Are you going to say that person is being medicated? No, the person has been beat up and beat up time without number, society has pushed the person down. I think I want to digress a little bit and look at it from a different and a different angle. You see, yes, mediocrity, reality is what you have actually explained and mediocrity is what we should not entertain. But we should quickly run it back to our self-awareness. Because today, the same police, the same banker that are doing the job, they are not doing the job because they are happy doing the job. They are doing the job because there are certain instructions, they have to follow and they have to put food on their own table. They are not doing the job and following into the letter to the way it expected to be done. I give an example. You go to an ATM machine or a POS agent. We draw, you have a declined debit meaning that the transaction fee you are debited. On a D situation, you are not to fight where you got debited. The standard says go to your bank, fill a dispense error form. The dispense error form says go and log it on a system, then they track it and it is bank to bank to reverse your money. But what we have is different. You see somebody with a staff, a bank staff, number one, they don't even know their job. They will tell you, yes you have been debited, see the money is debited, go back to where you have been debited, that's where the money is. You see transaction of transfers. This is a session idea that you have to log and track the transaction. They lazy to do it. They will tell you know we don't have this money. You see a system where I have seen a non-fintech, I don't want to mention it. You see a money, you send the money from a thought party to that non-fintech. You see the money. So you saw a amount of money received, status, fill. Go back to where you get the money from. You know, it is safe awareness I think and the will power. I also go back to about horse. If you look at before 1966 school, so you have to digress a little bit. Before 1966 school, Nigerian was running a regional system. Everybody were trying to see how their community or their region can strive. You know it's a way thing.  Because they know it is necessary for their next phase of development. And you can see that those are the best road we still have to date. Right. Now, you now see a military system where there is fear. You know, since 1966 school and counter coup and stuff like that, we have been living in fear. And everybody just trying to see how do I survive. If I do this, there are powers of let's say a government that is powerful more than me. Or I have somebody I don't have money. They will win the case in court. You know, I don't see justice. And it is that fear that actually promotes the medro kitty that we are seeing in Nigeria.  A police you are rushing on the road.   You can see the case of the lawyer that was killed, pregnant lawyer. Now police is discarding it as the case is going elsewhere like they want to pardon they are still on the case. But it doesn't look like they are accusing the police. Usually before now what they do is they will just disengage the police. The action happened as a police officer. But when they say you have killed a citizen, the reason why that of the lawyer is because she is a lawyer and she is an intervener and say they will follow it to the letter.  The police officer will answer the crime as an individual. But when the crime happens, there is a medro kitty that doesn't really make sense. It happens when the person was a police officer. Why will you disengage that person? Because you don't want it to attach to the system. And it is all about self-awareness. When people are conscious and are aware of what penalty, what effects, what negative effects all these actions are going to be. I believe people will be conscious of their dealings. And just like you said why will you celebrate a governor for constructing a road? Why will you celebrate a governor for paying salary? Why will you work for their money and they are expected to be paid? It is just like saying you have father in the house and giving food to the children. Why will you celebrate a father for giving food to his own children? Doesn't make any sense. You are not having any additional value to say you know there is a society like this, my child go and learn this skill so that you can solve this problem in this society. Then you should celebrate such parents. You can see normal would, normal traffic but look at Lagos for example normal traffic whatever is there but they introduce the lives of last man as an additional supporting you can celebrate them for bringing something new. You look at BLT subsidize as a den you can celebrate yes this is beyond normal and these are things we should be looking at too because we are used to it our parents do not also help us should be told because our parents actually you know others glorify professional courses and the society acceptability of some things have made other people look less and you allow it like that then I think we should start thinking different and see self-awareness for my own advocates more like of self-awareness and taking necessary action that when do sorry I just want to really jump on that it's good to say self-awareness but I think also when we go with self-awareness we should also look at enforcement it's one thing for me to be aware of a situation of what is my do of what my worth is how do I enforce it I agree because I am aware I am aware that I have been dealt a bad hand I am aware that I know what my worth is and this is not my worth so how do I enforce it when the society that is supposed to based on the rules that govern a society a same society the rules cannot be enforced so I am only aware of my suffering I am aware of what is limiting me or I am aware of my situation I am aware of what I need to have and what I don't have I agree with you and that is why I said I chipped in a little bit but I don't want to expand shades on it when I went back to the government of military regional and stuff like that but when we are aware we don't even start we have a democratic system and it's not something that will just happen under a miracle it's a process are we electing from the world level the necessary people to nominate who represent us to do the right system because if there is no system it's difficult to enforce it's corrupt right so we need to start changing the mindsets from the grassroots from the interaction not the high type of living we live in an estate now I don't even know my neighbor you understand within your world you have to interact don't look like this person is less today we see artisans has been less artisans you can't do without them absolutely so this aspect I need to point on it I understand that our psyche has been really battered we went through a long period of military ideology we've been rude in fear so it has it has its own consequences but I think at some point we need to put a stop and say here just like you have said if somebody has beaten that person wants to go to onkona girls but at some point we cannot continue to celebrate this mediocrity there has to be consequences of actions that is what has really been aniju because anybody elected who has not performed knows that there is no consequences because he is surely going to still get re-elected the next time it comes out again so at some point we have to know we want to say no we cannot take it no more we cannot continue to celebrate these people we've seen situations in this country where politicians embezzled money and their own kids men who come out and say it's our own living at least is doing fine for us so when you are even talking about on that when you are talking about enforcement there is also plead bagui are still under billion I'll give you 80 billion free me so that means if you want to still be big that's enforcement and they will enforce and they will pardon you so enforcement that's why I talk more of self-awareness doing the right thing even if you are in government and stuff like that everywhere you have to I'm not saying that self-awareness is not important but I'm just saying that they go and in and because even if I am aware even if I'm ready to even if the God is going to charge back he needs to have someone is going to charge and he needs to know that he needs to knock this person down so that is is now going to enforce his might and strength and boom for action so I'm aware that this guy if I continue like this there's nowhere else to go so let me not give you another example just to join what he said I was in a particular junction in Lagos here and this guy kick against in discipline or what have you what has occurred to chase them away but this lady maybe they saw them they were only a scatter you know you are still only after them this old woman fell he stood up, fell like 30 times and people were pleading please leave this woman she has at least feared you and the next thing the guy was not saying they were like gathering people did awareness they bombarded them and they ensured that they freed the lady even as much as the lady was doing something that is banned in those area but they were at least trying to say give this person a warning you know that's self-awareness of say if we say no and just talking about we coming together to change things even a considerate authority by the time we come to her and say no we are going against this bad act it is so it is just the readiness and awareness to say we are not just I recall when I was in school when I was in school I fought the management you know why because our deal that we pay so management staff are the one paying they are the one swallowing it and we begin to fought it and follow student are the one fighting us back but immediately they get to know so this is how was it is if they knew we would have come together and do the right thing so self-awareness is also very important when people are self aware they can come together in unity and say stop to something that is not right that's the advocate the end always seems to come to some on the advocate however the advocate continues on our social media platforms on facebook plus tv afrika hashtag the advocate ng on twitter and instagram at plus tv afrika hashtag the advocate ng to catch up with previous workers go to plus tv afrika dot com forward slash the advocate ng don't forget to subscribe to our youtube channel plus tv afrika till next week same time on this station let's keep advocating for a better society bye


Huygens says light is a wave and gives us a way to figure out how the wave fronts evolve. A wave front can be thought of as a set of particles which are oscillating in sync with each other. So if this was say for example light, then according to Huygens, every point on this wave front acts as a source for secondary waves and the envelope of these secondary waves, a common tangent to them, represents a new wave front. This is great, but can it prove the laws of reflection? Say this is a mirror and here is an incoming plane wave front. When the wave front hits the mirror, the point at which it does that becomes a source for reflected waves. And now a common tangent to all of these reflected waves represent the reflected wave front. So let's see if we can really prove that the reflected wave front obeys the laws of reflection. So here's our mirror. Let me draw a couple of incident rays of light. Let me bring in my pencil. And my ruler as well. Okay, so here's going to be my incident light. Let's say this is one ray. And let me take this somewhere over here to draw a second ray as well. Because I want to draw a wave front, so I need to draw at least two rays of light. So here's my second ray of light. And these are my incident rays. Now because I'm using Huygens principle, I have to draw a wave front. And the way to draw a wave front, remember wave fronts are always perpendicular to the incident ray. So to draw a perpendicular line, let me bring in my set square now. So here's my set square. I've already said it to make sure it's perpendicular. I can draw the wave fronts wherever I want, but as you will see, the reason, because for reasons as you will see, I'm going to draw a wave front over here. This is going to be my incident wave front. And so this is our incident wave front. Incident wave front. I've drawn it dashed so that we don't confuse it with the incident rays. And remember this is perpendicular to our incident rays. That's the property of our wave front. All right. So how do we draw now our reflected wave front to do that? We need to draw reflected secondary waves from Huygens principle. Then we can draw a common tangent. And since these reflected secondary waves come from the mirror, every single point on the mirror become our Huygens sources. And when the incident wave front hits the Huygens source, it gets activated and starts giving out secondary waves. For example, right now this particular Huygens source has been activated and it's going to start giving out secondary waves. And as the wave front moves forward, more and more secondary waves start getting activated, as you can see, and they start giving out secondary waves. And a common tangent to all these circles represent our reflected wave front. Now this is great, but how do you draw this on a piece of paper? Well, what's interesting is that we don't need all the circles to draw a tangent. Since we're drawing a tangent from this point, one circle would be enough. And so what we'll do is we'll ignore all the other Huygens sources and we'll only consider this Huygens source and draw one circle and then we'll draw a tangent from here to there and that's going to represent our reflected wave front. So let's go back. Alright, now comes the question, how big should I draw that circle?  Because that radius represents the distance traveled by this wave, the reflected wave, in the time the incident wave front went from here to here. Now would be a good time to actually pause the video and see if you can answer this question yourself. Alright, hopefully you're given this a shot. The way I'm thinking about it is, I know the time for which the secondary wave, the reflected wave was traveling. It's the same time it took this incident wave front to go from here to here. And it also has the same speed. The reflected wave has exactly the same speed as the incident wave. So the radius or the distance traveled by this wave, this reflected wave, should be the same as the distance traveled by the incident wave. And we know the distance traveled by the incident wave is this length. It comes from here to here. So if I had my compass, I would take this much length and then put it over here and take an arc. In fact, I do have my compass. Here's my compass. I'm going to take this much radius and I'm going to bring that compass over here and I'll draw an arc somewhere over here. So here it goes. Okay. And what does that arc represent? This represents the reflected wave from this Huygens source. And at the same time, this Huygens source just got activated because now that incident wave front is over here. And so the wave produced by this source is still a point, which is convenient because now to draw the reflected wave front, I have to draw tangent from this point or this wave, point wave to this and I can directly do that using my ruler. So again, if I bring in my ruler, I'm going to point this over here. I'm going to try and make a tangent. So yeah, this is the tangent and I'm going to draw a dash line from here to here and that would represent my reflected wave front. There you go. So what next? Well, remember, we're trying to prove angle of incidence equals angle of reflection and we draw those angles with respect to rays of light. So we have the incident ray, which means you have drawn out the reflected ray. How do we draw the reflected ray? We'll have the wave front. Raise a parallel, a perpendicular to the wave front and so I have to draw perpendicular to this. I'll bring in my set square again. Yeah, I've already said it perpendicular. So I'm going to draw a ray from here to here. So here we go. This is one ray. And let me draw a second reflected ray. This is going to be my second reflected ray. And there we have it. These are our reflected rays. So we are done with the construction. This is also perpendicular. And so finally now it's time to see if I equals R and you can pretty much look at the figure and guess that it has to be true. But let's go ahead and prove it anyways. To do that we have to first drop a normal. So let me go ahead and drop a normal over here. This is the point of incidence. And this angle over here is the angle of incidence i while this angle becomes the angle of reflection r. So how do we prove? Now we are in the geometry world. And in geometry we have to always look for some familiar shapes and see what relationship we can find between them. I can see two right angle triangles. And we need to prove i equals r. So maybe you can guess that somehow if we can figure out what is the relationship between the triangles and these angles then maybe somehow we can do it using some laws of geometry. I know it's vague but I really want you to give this a shot.  So go crazy. Pause the video and give this a shot. Let's do this. Let's first concentrate on the incident triangles. Let me dim this. I'm trying to bring this angle into the triangle if you know what I mean. And you know that I'm going to look at this. This is the right angle because the wave front is always perpendicular to the incident ray. And therefore this total becomes 90. This becomes 90 minus i. I'm not going to write that. This becomes 90 minus i. But now if you concentrate on this angle these two should also be 90 because this is normal. It's perpendicular to the mirror. And therefore if this is 90 minus i this should be i. I've brought the angle into the triangle. Similarly let's now look at the reflected triangle. And again feel free to pause in between and see if you can try this. This angle is R. I know this angle is 90 minus R. And therefore this angle must be R. That's great. So let me write that. This angle must be R. So I've brought in the angles into the triangle and they look congruent to me. And so maybe they are. So let's see if we can go ahead and prove them. Since they are right angle triangles we have to prove we can use RHS postulate. So first of all I see the hypotenuse to be common. That's great. Then I have one right angle that is also common. Nice. And now I need one more side. Well look at this side. This side has to be equal to this side. Can you see why? This is the most important thing. Well remember when we took that arc that compass we took the same distance as from here to here. Because the distance traveled by this wave was exactly equal to the distance traveled by this wave which is from here to here. And so because the reflected wave has the same speed as the incident wave these two sides have to be equal. Therefore these two triangles are happening to be equal. And because they are congruent these corresponding angles should also be equal to each other. This is the angle opposite to this side and therefore correspondingly this is the angle opposite to this side. And so I has to be equal to R. Booyah. Victory for Huygens. And so long story short from Huygens principle because the reflected wave has the same speed as the incident wave that's the reason why we found I the two angles to be equal to each other. And now maybe you can stretch this and you can guess that in the refraction that's not true because the waves don't have the same speed in this different media. And that's why in refraction the angle of incidence is not equal to the angle of refraction but that's something we will talk about in a separate video.


Good to see you all. All right Mark. Good to see you, Chuck. Casey. Good to see you.  Beautiful out summer. I think we're probably having one of the most nice summers in a long, long time. Just great weather here in New York. Good to see you all. Looks like we got away from that heat wave. All right, so let me tell you, we've got a lot of big events coming up. We just finished phase three.  We do live trading.  More towards the end of phase three in the morning meeting and early, early the beginning of phase three lesson four. Because one of the greatest things that came about of that class is that I did some trades and I lost money on trades. And listen, our job is to teach you how to make money, teach you how to stop losing it. And if I didn't take these losses, I would have got crushed. But that's not the excitement part of it, you know, the exciting part of it is that when we were looking at looking at the stock, we saw the stock had these humongous iceberg orders, not only for the But long term, huge support levels. And some of us always kind of think about like, you know, like, oh, we're coming to major support levels, I'm using my indicators, this is to buy this and buy it and boom, it busts right through it. Not once, not twice, like, several times major support levels. And, you know, and it did everything we were trained, what it was supposed to do.  Do you know, are those orders getting executed with time and sales? This explained it perfectly. And you know what, as when you teach classes and one thing that makes this very unique compared to anyone else, not so many people practice what they preach. And to see those trades happening in real time, and seeing how those orders getting executed, and also being a level four level five stock, which a lot of us really pretty much were able to follow along. It just worked out in our favor. So I really think you guys need to see it, especially, you know, how to control loss. I think it was just a great class. So I wanted to point up to that. Now, what's going on regarding this week? Obviously, you know, you saw Tom Sosnov from Tasty Works. Great presentation. Glad you guys were able to see it. Always have the fun to have them on. And if you missed it, it's been recorded. So make sure you go on our YouTube channel, you can watch it. But today's really a really big, big day. Okay, today's day, we're starting the cyber expo. We got Hema, we got Michael, we got Michael Guest, we got Barry, Barry Burns, you have myself. We do we do the cyber expo almost every quarter of the year. And this is our big event that we do here at Cybertrain University, just like you guys want to join, go to an expo, you know, an onsite, we do our own. And this is a great opportunity to see it. So if you're in the cyber group room, what's great about it, you know, you have two monitors, just go out there and just make sure you're in a cyber group room. And you're in the trading room. And if you're listening online or any of our YouTube channels, make sure you get a chance to come in and view it. It's going to be a really exciting, great, great presenters you talk to all of us. You're talking over 100 years of professional experience. Okay, guys. So look, you got the link up there, just click on it and make sure you register for it. Now, regarding about yesterday about the Fed announcement, you know, listen, the market took a big hit yesterday.  But you know what, they said they're going to do more. So, listen, the big thing about trading is you got to know how to capitalize on the winners and take profits and buy things cheaper. That's what trading is all about. That's what we teach you. It's not like a buy a whole thing. You know what, you'll make more getting in and out of it than if you just buy and hold. You know what I mean? So, that's where that comes into it. And I know we had a really good short in AMD yesterday. Let me go to the actual screen right here. AMD, we had a really nice short yesterday. And, you know, you just see how the market trades. I mean, all these stocks had some really nice rallies. And you could see when you had that little pop right there, but she came right back down at support levels. Nasty stock show. We saw some nasty shakes in it. Now, regarding what happened also yesterday before we go through the watch list and talk about what is moving, let's just look at a couple of things. So, AMD had earnings. We all know about Apple.  And when we had GE had good earnings. Didn't really work out too well for that one. You got fit. That one's taken a major hit. I'm telling you, fit is finished. Okay. And that makes me, that actually rhymes, right? So, fit guys, just listen, Fitbit, you know, between the Apple phone and this and that. I mean, they spent a lot of money and unless they come out with some, you know, it's like the GoPro. You know what I mean? Unless they come out with something with residuals and this and that. I'm telling you, these are like a fad. And you know what was another one that was a fad? The Yeti. Let's look at Yeti.  Did anybody ever buy Yeti, by the way, a Yeti cooler? Anyone out there bought a Yeti cooler? Very, I mean, this company just went public, not too long ago. Very cool concept. Ways about a thousand pounds. I don't think a lot of us wouldn't really go out there. You know what? It is very expensive. And you know, it's so funny. They're never on sale. They don't give it, they don't discount this thing at all. And it is, it's very, very expensive. Now they're starting to make some pretty good knockoffs of it. But I guess like if you have a nice boat and you want to like something to show off, I guess it's like walking around with a Chanel bag. You know, it's a cooler for guys, maybe. I don't know. But you know, I think it's the matter of time. It's going to take a big hit.  Everyone did great. But I think that jacket eventually is going to get played out. But keep an eye on the Yeti. I mean, it's pretty much all over the place. It took a big hit. Look, it went from 37 down to 20 to 32 this morning. I don't know how it bounced back. But when I was looking at it, this thing took a major hit this morning. So, pretty volatile stock, if you ask me. So we got the Yeti. We got that one. We're going to keep an eye on that one. And by the way, the stock that was telling you about was the TWOU. All right. That's the one that got crushed. TWOU. Just keep an eye on it. Let me tell you, when we traded the stock, we bought it here on the bounce right here around 15. It busted through that support. We bought it at support levels right here when it was at 13 and it busted right through it.  I think you guys need to watch that video. All right. Great lesson. But that's the stock. But I'm throwing this back on the watch list because this stock took a major hit. I know it's at major support levels. Let's see if it holds here. But she did made a little bit of comeback around 3 o'clock when she went from 12 to about 1250. But I want to see how she basically hovers here for a little while. So that one's going back on the watch list. Now, a couple of the stocks that are made the watch list here. SPWR is another one we saw in pre-market. She gapped up pretty nicely regarding earnings. She's kind of holding right here. Got some decent volume. Great iceberg orders on the right. That one's not bad.  Crocs making a big comeback from what I heard. Watching TV. Crocs keep an eye on that one. That one's gapping up a little bit nicely. It's got a little Fausta flag. Spread looks pretty decent.  So we're going to keep a close eye on that. Remember, you got to follow the money, guys. Follow the money. And, you know, the level three is what helped us out with that. CFMS. This one's taking a nice little hit right here. Down 31%. Not a lot of shares. Got some decent orders out there. You could see 4,800 at a buck 83. 8,000 at a buck 90. So we're testing some, you know, stock had a really nice run since the beginning of the year. I think it was at 50 cents and went to 450. So whatever goes up comes down twice as fast. We'll keep an eye on that one. The PS is another one getting crushed. You want to hold overnight. God bless you. You know what I mean? After hours, I think I went from 31 down to 20. It's, you know, one thing I like about it, it's testing some support levels here. You could see from December right there. Let's see if she holds there. So that one looks pretty decent. You know what I mean? I'm a bottom fisher. So I love stocks like that. WLL is another one that made the watch list. Looks like a really nice short right here. It's above $5. So a lot of it should be on your short list. I guess it came out of earnings after hours, too. Remember, big earnings week. Stock taking a big hit right here. It looks like it's trending down. Just be very careful. The stock's got some nasty shakes in it. As I was watching it, yet he already told you about FIVN. There's a lot of stocks today, guys. Thursday, you know, five, nine. Don't know what it is. I don't care. But at good earnings, and the stock is hovering pretty high, breaking a 52-week high. That one looks pretty decent. Here's a good level one stock for all you beginner traders, Zenya. We traded Zenya many times.  But the stock looks like it's got some good volatility this morning, Zenya. LBY. Is that one looking good?  I thought I wanted to maybe keep an eye on it. I don't know. We'll see how she opens up. I'll use this as a second protocol. DANF. Another one. Up 13%. Great volume. I thought I liked this a little bit better because this one also took a major, major hit. Back in April, the stock was $24. Look at this. Ding Whale went down to $290. She's gapped up a little bit more in pre-market. It looks like she's got a little pennant going on right now, but you know what? It's got some support and resistance levels going back about a month. So got great volume. Look at the tier sizes on level three. Just gorgeous. So this stock could be pretty decent. I like this stock right here, too. Remember, we're looking for volatility, not quality. HGV. Another one taking a nice hit. 480,000 shares. I don't know where that volume came from because on level three, I don't really see any orders out there, but she is trending now. She could be a good short, but this is going to be, I'm already classifying it on the save side, a level three, because look at the spread already in pre-market. And that's about it. Drug stocks do not come back. That's right, Ken. And you should know better than me being a pharmacist yourself, right? And then we have some pharmaceutical salesmen's in here. We have some people that are also chemists in here. We talk about all the time, so be very, very careful. But you know what kills me about this stock right here? Look at the name. HGV. Hilton Grand Vacations. Did you ever thought that they even went public? Looks like they split the company from Hilton from Hilton Grand Vacations. I guess not too many people buying that stuff anymore, huh? Well, anyway, talking about volatility, right? This is a beautiful, classic type of a trade. In one year, sell at 33, buy it down at 24. Sell at 33, buy it back at 25. Sell at 33, guess where we are? Right back to 25. So it could be a good bounce right here, but let me tell you, this is like a typical day trade over the course of a year. This is gorgeous because I like this one. So it could probably be a good swing trade. It could probably be a good swing trade. The rate that we're seeing how the stock is trending, I just don't like that. We have no tier sizes out there. All right, guys, so we got our watch list. Sorry we went a little bit behind. You got about 15, less than 15 minutes, but the market opens up. Just don't forget everybody. Very, very big day here at Cybertrain University Cyber Expo. We got four great presenters that are going to be here. We're going to be starting at 11 o'clock. So it'll be right enough time after you guys get started. If you have not registered, please click on the link or register for it. You're going to learn a little bit about everything swing trading, day trading, options trading, day trading, everything, trading. That's what we're going to talk about. Some really good guys, some little technical analysis here and there. But guys, remember, being a great trader, it all starts by learning. Whoever learns wins, all right? So remember, you could be in the cyber group room and be in the event. It's not part of CTU and you're watching this on our YouTube or Facebook. We're always seeing you at Cyber Expo. Good luck, everyone. Happy trading. See you all at one o'clock.


Welcome to the Julia Colotta show. I'm Joe Wombo, joined now with Julia Colotta, head coach of the softball team. And coach, you guys wrap up the season over the weekend at Catholic. Just tell me how you feel the season went for you this year. Not exactly the end result, record wise, that I would have liked. I think that we showed tremendous growth at the end of the season. We just had a big lull in between where we really couldn't figure ourselves out as a team. But talk a little bit about the impact that your two seniors have had on the program and for you in your first year, Nicole Dell and Naomi. Yeah, Nicole played a pretty solid second base for us. She's appeared in, I think, 119 games in four years. So she did a really great job with leadership on the field. And Ne is a catcher who was a previous honorable mention, all conference player. Again, this year held down behind the plate. And while we worked in some newbies as well. While you will be missing those two impactful players, you guys are going to have a pretty large senior class moving forward. Talk a little bit about the room for growth and what you've seen as far as development over this course of the year. Yeah, so our junior class is going to have to be huge next year. Kate Fenninette III. We have Jazzy returning in the circle and at first base, as well as Brook Steinbeck.  And then as well as some freshmen who also made an impact this year. Haley Lennon in center field. Morgan Fulton in the circle, hitting and at first base. And also some of our other players, like Gina, who did a great job running bases for us. And Ebi, Daniel Ebihousen, who did a lot of our bullpen work and was really great at communicating with the coaching staff. And worth mentioning, Jazzy, you mentioned Jazzy in the circle and at first base. She's pretty impactful at the plate as well, finishing out the regular season of the conference schedule with two home runs against Miss I. Yeah, it was pretty big, for sure. Definitely stats-wise overall. Our junior class looked great, but in conference, we really did not perform as we should have, batting average-wise, ERA.  Well, coach, we appreciate your time every week and post games and getting to talk to you as much as we do. And you too, Wamba. Well, I wish you the best of luck this summer and in recruiting and as we move forward. Great, thank you. She's Julia Colada. I'm Joe Wamba, and this has been the Julia Colada Show.


Good morning and welcome to today's products and focus. So having a quick look at the US markets You can see that we're slowly drifting lower as news fillers down about crude oils 6% drop overnight down to about 37 dollars and change as big concerns over future demand begin to impact the markets with most Fingers pointing at China and the lack of growth in that in that area. So if you couple the growing interest rate Kind of fuel on the 16th of December and you combine that together with lower growth from China and the Increased output of crude oil people aren't even buying it even at these incredibly low prices That's got send a couple of alarm bells ringing and certainly on the equity market front We were lower earlier on yesterday's session, but we managed to recover some but we're back on the back foot already this morning So that's where we are on the US 30 Then jumping on to the UK 100 a kind of a bleaker picture Coming to already towards the end of today's range With 60 73 being the next potential support on the interday charts This looks very very heavy right now You had a negative cross over off the 8% level and slow stochastic and you've got the Mac D crossing the zero line as well So from a technical perspective UK 100 looking kind of heavy Some of a picture for Japan to do five bearish and golfing pattern failure to break through 21 pureed SMA next potential support would be 19104 other technicals are slumping downwards But it's the the final break of the 8% level and the slow stochastic Which will probably be from a technical perspective perspective more keenly watched Jumping on to dollar yen dollar yen not doing a huge amount version golfing pattern again failure to break up that much higher People will be buying the end of the safe haven of equities begin to sell off We do have that 21 pureed SMA that might provide short-term potential support other technicals are relatively neutral You can just see here from from dolly ends perspective that Round about 123 and change that's being a short-term potential resistance since November So let's look at West Texas crude so a very strong Kind of technical breakout. We had yesterday fall through must have had a whole bunch of stops on the way down brought below thirty seven dollars but as testament to To the sell-off there. We haven't actually seen an extended move towards thirty five dollars thirty cents, which is a 2009 low But consider me broken below my foot. Let me just draw this on Perhaps a little bit more accurately That's kind of where the support level actually is Which got broken last night. Now, we've not quite had that retracement yet. Let's have a look at our perspective So even let's go in a one-hour So that bit more clearly So you can just see it's just kind of waving but so they're waving but it's already coming off You can see the tip of this candle right here It's tried to break higher and got pushed back down again and for my intraday line chart It doesn't look really that strong or powerful right now either So then looking at gold. I had a bit reversal yesterday as we talked about I Was very unusual move for it to break so much higher even the strength of US dollar and Potential hike and interest rates is completely reversed course Not completely but it was on the wrong side of potential support at one thousand seventy two It's a brief rally this morning It's ticking up ever so slightly on the intraday charts, but could be capped by that 21 period SMA as well So finishing up with your dollar and GBP USD. So Euro dollar had a bounce of one spot 08 19 Not really actually doing a huge amount after that This would be quite a strong technical signal the fact that it's rejected moving lower It didn't make up all of its losses for the day, but The tip of the candle today we are making a series of lower highs. You got high lower high lower high lower high We might begin to consolidate around about one spot 08 Because obviously the 16th isn't that far away. That's the next FOMC session Well, there'll be a decision made on rates and that's Wednesday the 16th of December Which will be fairly important for most traders out there GBP USD drifting towards one spot 50 27 so it'd be quite good to see if we get a bounce off that level or not Obviously with the FOMC next week that that could be something that could cause it to punch out the FOMC is pretty much 80% priced in or an 8% chance that will happen. So they do raise rates I wouldn't expect the dollar to have an unbelievable catapult forward, but they don't raise rates That's when you might see some more exciting movement. So looking at the Chinese data So exports year and year was worse than expected and Imports was not as bad as expected Trade balance came in better than expected Which is actually not so bad GDP for Eurozone is due today at 10 a.m. UK time And if you pass forward on to Wednesday the whole host of Japanese and Chinese data followed by crude elementaries more Chinese data and then Thursday more Japanese data Interest rate announcement from the Bank of England and you also have Employment data from the US as well. So guys keep your eye on the chart forum Make insights probably later going forward and join me again tomorrow to find out what happened next


Hi my name is Rachel Walling and I'm a preservation planner for the City of Columbia. Today I'm going to talk a bit about the Wales Garden Architectural Conservation District, run through a brief history of the area as well as some fun facts. The area known today as Wales Garden was originally a plantation that after the Civil War and in the late 1800s was started to be divided up and sold. One of the folks who bought the land was the Student Development Company, which was a group of prominent well-to-do local businessmen. They bought 80 acres of the land to set aside for development of an exclusive neighborhood. In 1912 members of the CDC, the City Development Company, approached the Olmstead Brothers for help in planning the neighborhood. The Olmstead Brothers are of course the successors Frederick Law Olmstead who's responsible for Central Park as well as the Biltmore State Gardens in Asheville, North Carolina. The CDC did not actually end up going with the Olmstead plan but they did keep one feature that was recommended by Olmsteads and that was a wide avenue that kind of ran through the entire neighborhood, a broad avenue, a median, lots of street trees and that of course is Saluda Avenue which today runs from Blossom Street down to the southern border of the neighborhood which is Hayward Street. The CDC were also able to secure some early amenities from the neighborhood. One of these was railroad tracks for the trolley that ran up Saluda Avenue so having public transportation for their exclusive neighborhood early on. Part of the reason they were able to secure this was that one of the directors of the CDC, Edwin Wales Robertson, was also the president of the Columbia Electric Street Railway Light and Power Company so he was able to ensure that public transportation was part of Wales Garden early on. They were also able to secure other infrastructure such as Water Sewer as well as paved streets early in the development of their neighborhood. In 1915 the first lot was sold. I'm going to talk a bit about the early development of the neighborhood in a moment but development of the neighborhood did go on through the 1950s. Really the early 1950s is when most of the neighborhood was completed to see the neighborhood basically as it looks today. Skip forward to 2008, the neighborhood was locally designated as an architectural conservation district. So early development was partly influenced by covenants that were attached to the deeds to early lots. People who were buying lots when the neighborhood was first being developed were encouraged to purchase as many lots as they wished to create lot size that they desired. So this resulted in a wide variety of lot sizes throughout the neighborhood. You see some very large lots along Soluda and some more modest size lots around other streets such as Canary. Covenants were also attached to deeds early in the Wales Garden. These included prohibitions against apartments, stores, businesses being built in the neighborhood, as well as restrictions against one-story houses and houses costing less than $7,500. So you really see that in some of the older homes being built. These were large two-story houses because that was what was allowed to be built at the time. But you also see that with the development of the neighborhood those restrictions were relaxed or eventually completely eliminated fairly early on because in the 1920s late 1920s and 1930s you see apartment buildings being built. You also see smaller bungalows coming into the neighborhood. Another development at this time was Myrtle Court. This of course today is known as part of Wales Garden, definitely part of the Wales Garden neighborhood. But early when it was first being developed it was a distinct neighborhood on its own and as proposed it would include 13 bungalows as a strictly high-class residential development that was near but not part of Wales Garden. This was started in the early 1920s and one of the early houses that was built here in 1923 was described in the newspaper as the first thatched roof house in Colombia. Of course this was a faux thatched roof not a actual traditional thatched roof that you think of in England and this was made by folding under the edges of the roof to give it kind of that thatched roof look. This house was built in 1923 and that roof type has been maintained since that time so it's almost a hundred years that that house has had that type of roof. The Wales Garden District also has two landmark buildings. One of these is the Heslop House at 203 Saluda Avenue and the Lyles-Gudminton House at 1917 Seneca Avenue. These are both beautiful examples of two different styles.  That house was also a wedding gift for Evelyn Robertson Lyles who was the daughter of Edwin Wales Robertson who was one of the original directors of the CDC who built Wales Garden. So that's some fun facts about the Wales Garden Architectural Conservation District. If you have any questions about this or other historic districts within the City of Colombia please contact us at preservation at columbiasc.gov


I have a new package. Let's open it up and see what it is. This is a brother super power note, as you can tell. Laptop, it is a deeply weird device and I've been looking for one for a long time. This is actually a donation, shipped all the way to me from the United States. So thank you very much. I've been wanting one of these for ages. What this is, is it's one of brother's line of weird word processors, except in a laptop form factor. So this is not a PC. This has, as far as I know, got a Z80 processor in it. Despite that fact, it is actually a full-sized laptop. It's actually bigger than I was expecting with a decent size screen, although the form factor is a little bit weird. On this side, it has a floppy drive. On this side, it has, not a lot, but on the back, it's got serial and parallel ports, which is rare for these brother devices. It comes with a battery, which I'm not sure this has been used. I don't think it has. The way that all the packaging is still on it makes me think this might be an unused device. Yeah, that's never been opened. So let's take a look. It has been opened. The battery's been taken out and put back in again. It may be taken out of the bag. The bag's not sealed. So it is a 1,400 milliamp hour, six-volt nickel cadmium battery. Okay, we also have a floppy disk containing some useful stuff. This is a 1.4 megabyte disk. This will contain things that can be run on the laptop itself and some sample documents, as well as utilities to convert the laptop's documents into things that normal computers can read. And we have the manual, which is large and contains a special note regarding communication features. Well, good to know. Okay, the last remaining item is the power supply, which is a 120-volt US power supply producing nine-volt DC center negative. So that will be a thing that we need to remember. Center negative is unusual. These things are nearly always center positive. Let's open the lid. This looks like a, it's, ooh, yeah. That's a very weird keyboard. I don't think I like the feel of that. Let me pop a few keycaps. So I think it's almost certainly a rubber dome. It's a very odd rubber dome. It's a scissor switch. Okay, that is extremely peculiar. Never seen one of those before. I hope I haven't broken the key. So if I go to maximum zoom, you can see the scissor mechanism here. The key cap itself, put that the right way up. These pieces slot in here and then these clip on here. So there we go. It feels weirdly spongy. It's fairly tactile and the sound's not great. Yes, anyway, let's move on. It is covered with these stickers. There are three of them. So we have the perfect partner for PC owners, students, professionals, online users and those who don't know how to use a PC. Yes, so basically they're saying that they want everyone to buy one. And here, all the power you need built-in. The perfect partner for students, professionals and PC owners. To activate self-demo, press code D at main menu. On the right-hand side, three and a half inch, what, 1440K for a bedrive, 22 by 80 character LCD screen, which is one of the things that I wanted this for. Connects almost any type of printer. That's the printer port on the back. AC adapter, optional data fax modem. That will connect through the serial port. So this thing should have the ability to do basic internet-y things. What that probably means is that there is a serial terminal which allows you to dial up to shell access for some machine somewhere. But this is the battery compartment, which is very small by modern standards. Let's insert the battery. And now I have to figure out a way to actually get the camera to look at the screen. I have the secondary camera set up, as you can see. Let's turn it on and see what happens. The answer is very little. The battery is flat. So now I have to rig up a power supply. I can't use this because this is 120 volts and our European 240 volt electricity is just too strong and powerful for that thing to cope with. So I will be using my bench power supply. Bench power supply is hooked up. Power on. It thinks it's consuming 80 milliamps. It might be trying to charge the battery. So let's just remove that for now, I think. And the current drops off to nil. Yep, it's trying to charge the battery. Okay, power on. Very nice. Let me just fix the secondary camera to try and make that more visible. Filming this screen is excruciating. These old-fashioned LCDs are enormously hard to film. I am surrounded by light and I think it's more or less visible and in focus on the screen. I'll have to do some post-processing, but I think this is as good as it'll get. So I have charged the battery and installed a new button cell because the one that was in it was flat and found a small rubber thing that seems to have fallen off. So let me give you a quick tour through the software. What you're looking at here is the main menu. You can tell by the word main menu at the top of the screen. This shows you the main applications you can use. The primary one, of course, is the word processor. This looks exactly like the ones on my other brother word processors, which is good, because that suggests that the software stack is fairly similar. It's a... Let me try and type this correctly. It's an okay basic word processor. It's got stuff like character styles, layout, that kind of thing. It stores documents in memory, not on disk. You have to transfer on and off disk manually. It's got stuff like a layout preview. You can tell from looking at the screen that this is there for a bitmap screen, which is nice to know. Let me pull up a example program. Program, document. So I go to file, open file. It wants me to save this. So I press control D for not. This shows the documents that are in memory. We don't have any. I'm gonna load one of the samples of the floppy disk. So we press the menu button, load from disk. It looks at the floppy disk, like so. We pick one. Let's pick this... Let's pick intro, like so. It has now copied it into memory, where we can just open it. Now, this word processor is fine for small documents. You may notice I have my finger down on the key to scroll speed. Believe it or not, this is considerably faster than the other brother word processors. Still frustratingly slow. Trying to deal with anything big on this will be a fairly miserable experience. Let me just pull up the layout thing again. Nope, that's not working. Control layout. I've got the menu open. Control J. So this is giving you a better idea of the layout preview. Right. Now, I don't want to go into too much detail on the word processor because I'm not planning on using it. So let's just go back to the main menu with control menu. That actually takes us to the file menu. We then press file again, control file, to get back to the main menu. Right. Next application. Spreadsheet. The spreadsheet is different from the word processor. The spreadsheet can only open documents from the floppy disk, whereas the word processor cannot open documents from the floppy disk. The spreadsheet is not capable of dealing with in-memory documents. It's a fairly straightforward spreadsheet. One, two, three, four. So I enter some numbers, and then I can say at sum A1, A10. There we have the sum. If I change one of these numbers, it does not automatically update. Instead, you have to open the menu with the menu key. Data, recalc. Not the quickest. Let me open one of the samples. Abandon this document. Let's find compound. So that opens. Here we have a spreadsheet. It scrolls slightly slower than the word processor. I think it's a little bit more than one line per second. It depends how much is on the line that it's actually having to draw. So speedwise, not good, but I think it's doable. Anyway, that is the spreadsheet. Control file again to exit address book. Program 3. This is a very simple card file. I have entered some stuff. There is not a lot we can say about that. Calendar running along the top of the menu. It's a calendar. Not much you can really say about this, apart from the fact that I don't seem to be able to change month. Go to, here we go. So we should be able to go to now, which is November. Let me try that again. November tab. Right cursor. There we go. 2023. November 2023. It has a simple schedule system for times within each day, which I don't really care about. There you go. So file again. To-do list. It's a to-do list. Here is an item. I will now actually skip forward to file management. This shows the contents of the internal memory. So here, intro.wpt is the document that I copied off the floppy disk. That's the word processor document. We have databases for the schedule, the address book, the to-do list, and some settings for the communications software. You can use this to do disk-based stuff, you can do disk-unkey. You go to disk-disk-index. It thinks. And here we have the directory of things on the disk. And we can go to the menu and see the things you can do with it. Now, one thing that you cannot do with files on disk is open them. Instead, if it's a word processor file, you have to copy it into memory. If it's a spreadsheet, you have to go via the spreadsheet software. Anyway, let's look at the world clock, which is the most graphically impressive of the lot. It's a clock. So we should be able to... If I can remember how this works. Here we go. We can set the time. My local city is... Not that button. Time setting, local city. Here we go. Geneva. It is... Month is the 11th day. I think it's the 15th. 2023. Yes, it does actually... The entry is a bit weird. You can't just type 2034830. It's not working. Ah, ah. That's because I was trying to use 24-hour clock. Of course, now it's forgotten all the settings. I was trying to use 24-hour clock, and 20 is not valid until... I toggled not that one. That one. Right, now I should be able to type 2030. So the month is the 11th. Date is about the 15th. Year is 2023. Day month year. It doesn't have a year month day, only options you've got. And return. And it updates. And it even knows roughly where Geneva is. Back to the main menu. Program 4 is the fax machine. Now, I said earlier that this probably had a simple terminal. It does. That comes next. I don't know what the fax thing does. I don't have a fax number to fax it to. I presume that what it does is it prints out a document. But in order to fax it, it's going to have to do its own print layout and rendering. That is, it has to have built-in fonts. It would be really interesting to see what that looks like. But I can't do anything with this. Communication is a serial terminal. It's exactly what I thought it would be. It's designed for modems, which is why it's talking about phone numbers. But the board rate settings are respectable. 9600 is perfectly usable. 8n1 is standard. We don't want local echo. We do not want to do any of that. We now have a perfectly serviceable setup for hooking it up to a PC or Linux machine and doing remote work via a terminal, if you want to. Anyway, moving on we have the calculator. It's a calculator. It does say control Q to change 10 key mode on off. Ah, that allows me to use these extra numbers on the keyboard. Yeah, it's not a brilliant calculator. If I do that, plus one error. Numbers bigger than that don't exist. We have disk application, but let's go straight to setup. You can configure the printer. It supports a variety, a fairly small variety. But given the era of this machine, you're going to hook it up to a cheapo inkjet or dot matrix and print out text. So that's absolutely fine. You can password protect it. It has this really interesting quick charge feature.  The current drawer suddenly shoots up to 200 milliamps. It seems to be dumping as much as possible into the battery as quickly as possible. So let's just turn that off. Current drawer drops to 60 milliamps. Back on again, main menu. Self demo is not exactly what I would call a demonstration. It's a few pages of text. That's it. You can print it, but you can't save it as a document, which would be possibly more useful. And the last thing is disk application. All text files in memory must be saved on disk before beginning. Let's just abandon those. Are you sure you want to delete? This has just done a full reset of everything in memory. Now looked at the floppy disk. This is the one application that is supplied. It's got this cool intro. So cool. So slow. So unskippable. It allows you to play turnabout, which is reversey. It's, what can I say, it's reversey. I have played one game against it. I won. This suggests that the AI in this is not really much good. So we go back to the main menu. Go to file management. And we see that our documents vanished. Have our other things vanished as well. Let's take a look at the address book. The address book is kept. I actually thought that would be deleted. And it's kept the calendar. And I presumably also kept the to-do list. Yes, it has. So that is a very quick tour of the software package on this thing, which I'm not going to be using. The thing I'm mostly interested in is the disk application. I have had software running on these brother word processors and the other models by reverse engineering the software applications and figuring out how they work. And because this comes with one on the floppy disk, this means I should be able to do the same thing here. Chances are that this thing has the same CPUs or the other brother word processors, which is great, because it's a Z80 compatible integrated device with lots of peripherals. It is well documented. So accessing the peripherals doesn't require what weird electronics brother has. It just uses all the standard built-in things. But I think at this point I want to turn the thing off, open it up, and see what there is inside. Here we are looking at the bottom of it. Let's undo the screws and see what happens. I have removed the battery. Well, that's interesting. The three screws have just removed the keyboard module, not the rest of the case. This does give us a decent look at the PCB. A Toshiba integrated chip of some description. A Z180 CPU. Yes, that is the same thing that the other brother word processors use. That is very good news. Some very nicely labeled chips here. So we have the 8 megabit mask ROM, an unpopulated additional mask ROM, 1 megabit of SRAM, 256K of SRAM. This is almost certainly the floppy disk connector. Let's remove these screws and go for the next layer. Right, now that's a interestingly bare board. Huge great suede with nothing on it, which is not a bad thing. Here is the LCD connector, parallel and serial. There's an interesting unpopulated footprint here. It says 8 megabit ROM. This is probably to allow certain models to use a 32 pin dip ROM instead of this. That could be useful for potentially replacing the ROM. I'm just looking at how much space there is under the keyboard. It would be nice to be able to put a socket in there, but of course it's hard to take this thing off and I don't think I want to do that. That should give me a nice 4K image of the layout of the bottom. I have looked up all the chips on this and everything is exactly what I expected. There are no surprises, which is a good thing. This is the Z180 CPU. That's an enhanced Z80 with stuff like memory management and a few extra instructions. This is a 1 megabyte ROM containing the system software. This is 128K of user RAM. This is 32K of additional RAM. This is probably video memory. This is a NEC 765 compatible floppy disk controller, which is great because these things are well understood and easy to drive. This is a comparator. I suspect that given the button cell is here, this has probably got to do with detecting the battery voltage and being able to tell the user when either battery is going flat. This is a real-time clock chip. Probably run of this 32kHz crystal. This, as I expected, is a level shifter for the serial port. It seems to be using plus and minus 16 volts. These are two hex inverters used for buffering the parallel port. That's basically all there is to it. It is not a complicated machine. I expect that all the custom logic for stuff like the LCD controller device selection and so on is baked into this gate array. I haven't been able to get any information on what this is, which is perfectly normal for gate arrays as they will be programmed by Toshiba for this application. So we're just going to have to guess at that. So what is next? Well, normally the next stage for a project like this is to read the ROM. However, while my soldering skills are probably capable of taking this thing off the board, they are not capable of putting it back on the board, and I don't have a socket for reading this anyway. So we're going to have to skip that step. So the next place is to take a look at the floppy disk and pick apart the turnabout game, the reverse C port, in the Ghidra reverse engineering tool and see what we can see. Here we are looking at Ghidra. I have loaded the turnabout program into it, and it's made a start at decompiling it. I have also gone through and done some picking apart. The overall structure is pretty obvious. The stuff at the beginning here looks like a magic number of some kind, a header, because it doesn't seem to produce meaningful machine code. The entry point is, I believe, here where it actually starts doing stuff. We can see there are system calls here. This is calling one of the Z80 system calls, which is a nice, cheap one-byte instruction. The good news is that these all look just like the other brother devices. So this is the same operating system that they run. It will be a variation. I'm sure the system call numbers won't be quite the same, but it looks very similar. Reset 6 appears to be high-level stuff. Reset 5 is low-level disk. Reset 1 appears to be used for the keyboard. If we look here, we can see it making a reset 1 call with A is 5, and then it checks it against lots of suspiciously suspicious numbers. I think this is the keyboard handler. So it's reading a key and then doing something based on the result. And down here, it just loops back to the top again, so it just keeps doing this until something happens. Over on the right here, Gidra has made a reasonable attempt to try and decompile it into C. It hasn't worked very well. But there's more we can get from this. For example, if we hunt around, I think it's down here somewhere, it should be able to find this is probably data tables. It doesn't seem to be machine code.  Like there's a pop here with no push. It could be popping the return address, but it wouldn't be doing that into AF. So I think this is not machine code. I think that's data. ASCII text, quite a lot of ASCII text. These are all the messages the game uses. And this is really useful because we can find, for example, here, Machine2Man is asking how many players there are. 8F5-4. So we search memory for 8F5-4, search all. Hey, look, it's found a couple of entries. So we go there, and it is loading the address of the string and then calling a subroutine. Pretty obviously, that is printing the string. Therefore, I've called this print string. If we follow this and look at the code, we can see the incoming data is in DE, and here it reads a byte and then does something based on the value. And FF is at the end of every string. So pretty clearly, FF is the terminator and look, the code does indeed jump to RET when it sees an FF. So yeah, this is, I believe, printing a string. And it works by looking for any subroutines it's calling. I don't actually see one. It does appear to be copying the character into whatever pointed that in HL, this which is red from here. So maybe it's not actually putting it directly onto the screen. It could well be copying it into a buffer at this address. Anyway, this is how you figure out what stuff's doing. But there is more we can do. Over here is GIMP. If we load up the, we want all files, turn about to APL, turn off select file type, and we want to find raw image data, which is here. This will then produce this dialogue. And this is going to interpret the image data as binary. Unfortunately, I have a high DPI screen and it's not a very big file. So for RGB, it's this little blob of gray up there. Unfortunately, I can't actually zoom in, which is irritating.  The horizontal banding indicates stuff. At the top, this white noise is machine code. So these are obviously data tables. And now the easiest way to find like characters is we change the width to say eight. And now we have, we want to change the height to something big. Seven, nine, one, six is the maximum. So here it is in this band down the side of the screen. And all you do is you scroll down until you see these. These look like characters. In fact, this is not, ah, there we go. So these are clearly used to find characters and are used to in drawing, you know, text and stuff. And we can figure out where these are. This is at Y address 5550. And 5550 is 15AE in hex. The program loads at 800. Therefore, 15AE is 958E. Yeah, I actually had this already in there. Problem with swing and every now and again this dialogue pops to the top. But anyway, here, these are a set of 32 user defined characters. But there's more to find in the binary. So let's go back to GIMP, go back to open, turn about to APL. We want again, we want raw image data. Select the file again. Okay. Now difficult to see, probably easier to see in this. This is eight pixels wide, so each horizontal rows a byte. But down the bottom, there's this stuff. This all looks very suspiciously suspicious. So I think that may be a bit map. So we go over to GIMP. We scroll down to the bottom, and we start increasing the width. As we increase the width, the height, of course, gets smaller. We can deal with this by bumping up the offset so that the bit we're interested in, there we go, is at the top of the file. Okay, so we keep increasing the width. You see the data here is going a bit weird. Keep going, and eventually, you start seeing some structure. It says brother. We have just found the bitmap used for drawing the title screen. And below it, with width of slightly more, is the turn about logo. So we can locate those in the binary. And these are somewhere, there we go. Brother, logo data, and brother, and turn about logo data, which I found earlier. So this is at 9bd4, search memory, 9bd4, search all here. And here is a routine. This is loading the address of the logo and doing a thing. There is, in fact, a loop here, djnz decrements b, which has been set up here to 2e. So this is doing something on a loop. Given what we see when the program runs, that animated logo, I think it's pretty clear that this is the loop that draws the animated logo. And then a bit further down, we see exactly the same code again for the turn about logo. And a here actually turns out to be the width of the binary in bytes. So this is 16 horizontal bytes, 16 by 8 is the 128 that we saw. And this is the 132 that we saw. So I think that these routines are doing the draw. So this is our splash screen stuff. And then it drops off the bottom and does a thing and then exits. So this routine here is going to be the thing that draws the splash screen. That is called from 9873. It's just up here. And this is called from a routine that is right at the top of the file just after the initial setup. So this is, I believe, the init and splash screen code. One interesting thing is the whole stuff has happened with interrupts turned off. There's a DI here and an EI here. So I don't know what that's about. It's also doing stuff with ports. Anyway, this gives us a place that we can start picking away at the code. So down here we have these two routines. They've got something to do with drawing the logo. Follow that through. This is doing some math. There's a multiply there that said 180 has a hardware multiply, although it's only 8 by 8 bits. So I think this is probably preparing something. So the only other thing here that's doing work is this one, a 9935. Yeah, this is doing a lot of stuff. So I think this is the thing that's actually doing the transformation and blitting the logo onto the screen. So by following through this stuff, we should be able to find out how things are getting onto the screen. But let's not get ahead of ourselves. Let's try something nice and simple. Here's our init code. Here is the show splash screen. That is at 1873 in the file. So we go into the appropriate directory, copy the program as an examples disk. This is the copy of the two floppies. So test dot APL. Load it up in a simple hex editor. We want to go to 1873 and we see CD 7898, which is exactly the same as what we got down here. So let's turn these into knobs.  Okay, 00, 00, 00. We have just stubbed out the call to show splash screen. So save, quit. And now let's put test APL onto a floppy disk and see what happens if we run it on the machine. All right, here we have floppy disk. Insert into the machine. Here reads the disk. Test the APL. Now let's see what happens when we run it. Game starts. No splash screen. We are successfully running a modified version of the binary. This means the binary is not using any kind of checksumming. We can just put random bytes of code in there and it will execute it. This gives us the first thing we need to completely open up this thing, the ability to run arbitrary code. Plus, of course, it is now much easier to play games of turnabout. So what do we do next? Well, the next thing I need to do is to do some more picking away. I need to find the minimum program I can run. I don't know what any of that header is. I don't know how much of it is necessary. But once I have the ability to build my own machine code programs and turn them into something runnable, I can then start running real code. I can either poke away at the system calls and try to decipher them, or, and I think I would prefer to do this, go look up the Z180 documentation and figure out how to talk to the serial port and see if I can emit bytes there. Because I want to get a ROM dump because the ROM will tell me stuff like where in memory the floppy disk controller is, useful stuff like that.  So simply paging through the ROM a bit at a time, squirting it out over the serial port, should give me a easy ROM dump. I will go and do that then. I have good news and bad news. The good news is I figured out the binary format, which is completely unsurprising. And I've also located the screen in memory. So I can run this program and stuff appears on the screen. The screen is in fact not bit mapped. It is a character cell screen, which is great for me because it's really easy to use. Write a byte, receive a character. However, the bad news is I haven't been able to figure out the serial port. I have actually traced the tracks inside. And the serial port's level shifter here is not connected to the UARTs on the processor. Instead, it's connected to this glue chip, which makes me think that either there's a custom UART in here somewhere or else you need to do some port shuffling in order to root the UART signals from the glue chip to the Z180. And I don't know how that works. So the serial port is out. This is a problem because I need a ROM dump. I need to be able to reverse engineer the ROM dump to find where things are in memory. There are alternatives. One alternative is to try and save the ROM onto floppy. I do know the system calls used to read and write to the floppy disk. Unfortunately, on this platform they don't work. I can only assume great. So how am I going to get a ROM dump? I need the ROM dump in order to do things like locate the keyboard, find out where things are in physical memory, et cetera, et cetera. Well, there are two things I can do. One of which is that because I can write on the screen, I can simply display the ROM a few bytes at a time and then use machine vision to read the data off the screen from the video that I'm recording right now. I don't want to do that. That sounds like work. The alternative is to try and locate the floppy controller and find out where its IO ports are. There is actually something we can do here because the floppy controller is an external device and it's well documented, I know where the chip select line is. It's the fourth from the bottom on this side. So if I write a program that fiddles with all the IO ports and then monitor the chip select line, then when I hit the IO port that's mapped to the floppy controller, I should see the chip select line move. So I've written a program to do that, which is what is currently running. I need to do a bit of hardware setup including getting out the logic probe, but let's give this a try and see what happens. Here we go. I touch the logic probe to the relevant pin. There is activity. It is mostly high because this is a active low signal. I run the program and you see the lights flashing because there's activity. Looking at the screen, which is hopefully visible, that's made it worse. There we go. This is currently looking at port 40. So all I need to do is to push this button and work up through all the ports until I see one where something happened. This is reading from the port so it shouldn't like accidentally write to the disk, but we should see activity on the logic probe. Well, that didn't work. My guess is that the chip select line is being held low to do the read too briefly for the logic probe to be able to identify it. So I'm going to need an oscilloscope to figure this one out, I think. I got no joy with the oscilloscope, but I did have a thought. And instead of using the chip select line, if I probe the read line, which is that one, I get something different. So the light is blinking because the operating system is pulling the floppy drive to see whether there's a disk in it. If I start the program, you can see the flickering as it tries to load it. I can then slowly, oops, I missed past it. I can find that, there we go, light on, light off. IO addresses from 80 to 87 are mapped to the floppy drive controller. Normally I would expect the chip select line to be gated by logic in the glue chip. It's using the read and write lines to enable and disable the chip, which is kind of backwards to the way I was expecting. But anyway, we have found it.  That is our IO port. So with this information, I already have a 765 driver. So I should just be able to configure the 765 driver for that port.  Of course, this all very much depends on, you know, whether it actually works. I was unable to make the floppy disk drive work. I found the floppy disk drive controller. I was capable of sending it commands. I could see it execute the commands. I could make the drive seek backwards and forwards, turn the motor on and off, stuff like that. But when I tried to do a read or a write, no data came through. There's something else that needs setting up. It's probably to do with DMA. I need to look at the ROM to figure out what this is. So I need to do something different. That's possibly a bit drastic. The Z180 CPU on this thing has a 20-bit address bus. I have soldered this yellow wire to A19. That is, as far as I know, otherwise unused. This black wire is ground. You can see on the rather dodgy oscilloscope picture, this is just like random noise. If I run my program, we get this. And if I press the single step button, we can see pulses. One, two, three. This is done by simply doing memory reads of a very high address. This causes the address line to pulse. We get signal. So I can now write a program that will work through ROM and generate pulses based on the bits it sees. Then I can hook it all up to my logic analyzer, capture the result, do some post-processing, and I should have a working ROM. You shouldn't normally have to do this. So let's give that a try. One and a half hours later, I have this capture and pulse view. As has already been established, if you've been watching my videos, I do not do well with numbers. And as a result, I actually managed to capture 16 times as much data as I needed. So there's actually 16 megabytes worth of data here rather than the one megabyte of the actual ROM. So it shouldn't really have taken this long. Nevertheless, here is the data. Nice groups of eight pulses. That's a 11110011. So all I need to do now is decode this and produce actual numbers. There is one interesting feature. Because we're using the higher address line to signal, if I'm actually reading a byte that uses that higher address line, you get this extra pulse here, which is where the byte is actually read into memory, and then it's emitted as eight pulses. So there are, in fact, nine pulses here. One, two, three, four, five, six, seven, eight, nine. Yes, that is nine. So my decoder just has to be careful to, you know, cope with this. It just needs the last nine bits of any number. So the next piece of action is to write a decoder, which isn't going to be very hard. Getting the data out is easy enough. There's a useful format called value change data that basically gives me the times between edges so that I can find all the places where there's a leading edge and it will give me the time from that to the previous leading edge. So, you know, I just walk through the data looking for short intervals, which indicates a bit, or a long interval, which indicates a byte. And then I should have it. Let me give that a try then and see what happens. After quite a lot of decoding work, I now have a one megabyte ROM here loaded into Gidra. And I have been spending some time slowly picking away at it and discovering its secrets, which honestly takes forever. The ROM is big and very complicated. These brother ROMs have this absurd banking system with huge piles of routines down in low memory here that set up memory management registers so that you can call them, et cetera, et cetera. But anyway, I have figured a bunch of stuff out. I've found out where the floppy drive controller code is, which is useful. The serial port, which is useful. The keyboard controller, which is also useful. And I've also discovered a huge number of weird and wonderful IOPorts so I don't know what they do, which is less useful. But let me find the floppy code for you. And there are in fact a few interesting things. If I search for the KIOFS string, it takes me to here, there is this string in the floppy code. So if Keo happens to be watching this, hi there, please get in touch. Anyway, I have figured out how to talk to the floppy controller. And it is, well, they have done some seriously weird things to this poor floppy chip. It seems to be connected via the glue chip in peculiar ways. So here is the code that just simply writes a byte to the floppy controller. This is for a command byte. And what it does is it checks some bits in the floppy status register to indicate the previous command is finished. And then as my code gone, wait for the previous command to finish. Wait until the floppy controller is ready to receive a byte. Output the byte. So far, so normal. And we can follow through to the IO area. Here are the normal two registers that 765 floppy controllers have. But there's also a lot of work being done elsewhere. Now, the operations register here is documented. It's part of this particular floppy controller chip. But then there's other weird stuff like this port. This port is used by the DMA code. This is the code that actually does the transfer to and from the floppy controller to actually transfer data. And it uses the Z180's DMA engine. It's easier to see over here in the decompiled source. We set up the port to read from. We set up the physical memory address to write to. We set up the length. But it's reading from this port 86, which doesn't seem to be documented anywhere. It's not part of the normal controller. So I don't know where that's coming from. It seems to work. And there's more stuff. So if we go all the way down here to port A8, there's this miscellaneous port. Here's a relevant piece of code. Before it does anything with a command, it will wait for something in port A8. Which is done by this helper function here. The bottom three bits appear to be whether a disk has been inserted into the drive. The index pulse itself and this bit four, which has the previous floppy command finished. And I don't know where this is coming from. The pinout on the floppy controller it's using doesn't have anything like this. So the only thing I can think of is that reading from this port is causing the glue chip to do reads from the floppy controller or something. I don't know. It's all kind of strange. This is not normal. The other brother word processors I've dealt with with 765 controllers have just done everything the normal way. But anyway, I have slowly figured out how it all works and I've written some code. And now as I'm about to demonstrate, I can read stuff of floppy disk. So my test program is on this disk. So the disk, I get the directory, I run it and it works. Now it doesn't look like much, but what this has done is performed a drive seek, a read, the first two zero zeros indicate that the command has executed successfully and the stream of hex underneath it is the data that it's read from the floppy disk. So this means I can read from the floppy disk and if I can read, I can probably write unless there's some weird gotcha here. So this means that the difficult bit, which is access to the drive is done. I mean, I need to like bolt it all into the actual code for the CPM ish kernel, but it works. The next thing, in fact, the only other thing I need to do to make this work is to decipher the keyboard and that shouldn't be that hard. I found the code in Gitra. So let me go back to the desktop. So here is how it works. The logic is a little bit contorted because it does things in a slightly odd order. But basically, here, it energizes a particular column. Here, it senses a particular row. Now, the reason why the sense happens before the energize is so that it waits until the next time scan keyboard is executed before it actually reads the data out. And in fact, there's more to it than that because this bit of code here only ever does the scan every other call to scan keyboard. I'm not sure why it's doing this. It could well be that it takes time for the glue chip's logic to update. Normally, when you probe a keyboard, you just set the column and immediately read out the sense data. But if there's buffering in the glue chip, it may take time. When it gets down to here, it has the sense data and the value of keyboard current column represents the column that caused that sense data. So this annoying piece of code here is just multiplying the column by 10 and then adding on hex 2000. This gets a pointer to the keyboard state table, which is here of 88 bytes, probably. Then it works through the sense data a bit at a time looking to see whether the key is pressed or released. And then these relevant bits of code, which as you can see I haven't gone through in as much detail, will update a bitmap somewhere based on whether the key has gone up or down. So that's actually pretty straightforward to duplicate. So I am going to try this and see what happens. And here is the keyboard handler. The numbers you are seeing are keyboard scan codes. They're just kind of arbitrary. They don't match what the brother OS uses. I have to go and map the keyboard and build a translation table. The first code of any pair is for key down. The second code has the high bit set. That's an A5 and indicates key up. And yes, it does do multiple key presses at once. I don't know how much roll over it's got. We'll find that out later. But it all works. I mean, this is just producing scan codes. It then needs an actual keyboard ring buffer, just like the brother OS had. But I'll deal with that when I actually come to do the real code. Which is what comes next. We have everything we need. I can access the floppy drive. Contact the screen. I can work the keyboard. Stuff like the serial port will happen later. But I think I have enough here, almost, to do my CPM port. The almost is that I don't actually know where the RAM is in physical memory. I know that my program here is running out of it. But I need to go and find where it actually is. I need to map all the physical memory into virtual memory so that the Z80C64K of actual RAM and just ignore the ROM. But that will be easy. It just needs poking addresses and seeing whether they change or not. So I won't bother doing that on camera. So, next step. Work on the CPM BIOS. About a week later. And after having had a cold, which is probably making my voice sound funny. Here we are.  Put the disk in the drive first, of course. And here we are. It was surprisingly easy to port. The hardest part of the whole process was figuring out the floppy drive controller. It's subtly different from other 765-based floppy drives that I've dealt with before. These things are always a pain, but I did eventually make it work. And I think there's some stuff I can do to fix the generic code that CPM uses. But anyway, it turns out that these high-density disks can store 18K on a single cylinder. That is, without having to move the head. That's 9K on a side, which, by CPM standards, is really good. And I have used the extra 64K of RAM that these things have over the top of the main 64K that CPM uses for a massive track-sized disk buffer. So when it reads and writes data, it just reads and writes entire tracks at once. Which means that it can read 8K of data in a single revolution of the disk, which is incredibly fast for CPM. And this means that programs load and run really quickly. It's a very nice machine to use. So if I, for example, fire up BBCBasic. There we go. I can look at the top of memory. That's decimal. Put that into hex. E900. Bottom of memory is, of course, zero. I can put that into kilobytes. 58K. 58 and a quarter K. Which is very respectable by CPM standards. I could use the extra unused memory to page the BIOS, but it's probably not really worth the hassle. CPM 3 will try to page out the BDOS itself, but CPM 3 is annoyingly difficult to port. And I generally think that there's no real benefit to it. So what do we have on this? Well, there's the standard software you get with CPM-ish, including the QE text editor that I wrote. This is a VI adjacent screen-based text editor. It's, you know, just a text editor. It works really nicely on this. I do need to implement repeat key on the keyboard, which I haven't done. So we'll just exit out of that. You've got the standard assembler, ASM. Oh, yeah, this I also wrote. It's not very good. You've also got ASM 80, which is not mine. I don't actually have any sample assembler programs on this machine, unfortunately, so I can't demonstrate these. You've got the usual tools like submit, copy, hex dump. It's a hex dumper. In terms of programming languages, you saw BBC basic. We've also got camel 80, which is a fourth interpreter. So let me see. Two five star dot tells us two times five is ten, which I assume it is. We have the Z8E debugger, which is a screen debugger. There we go. If I, again, this is now single stepping into BBC basic. I did actually use this to debug a problem I discovered in CPM-ish. What it's trying, what it's doing now is clearing memory. If you, it's writing zeros into HL. You can see the value of HL at the top of the screen changing. I hope that's legible. This screen is impossible to film clearly. Anyway, exit out of that. I also put on turbo Pascal. Yes, we do on error messages. Okay, let's write a program in Pascal. Edit test dot pans. Okay. Program test begin. Right. Hello world. End with a dot. Okay. Ctrl KD to get back to the prompt. Now can do R. That just runs it. It compiles it into memory and then runs it. Or we can go to options. Change it to compile to a com file. Now we do quit out of options. See to compile and we're done. Quit. Save our program. So we now have a test dot com and test dot PaaS. Test dot PaaS is of course our program. And there we go. It works. That test dot com is pretty big. That's 10 K for hello world because it contains the turbo Pascal runtime library. And that shows you just how much of the disk we have used. We still have a megabyte free despite having loads of stuff on it. And I can load up test dot PaaS in QE. No, it's a text editor and text files. So this machine has I believe a six megahertz processor, which puts it about 50% faster than most Z80 systems of the day. They were usually around three or four megahertz. So in fact, this is a really nice thing to use. It's the nicest CPM laptop I've ever come across. Oh yeah. And then I also found a nice feature in the video circuitry by setting a bit in one of the video ports. It changes from the 80 by 22 text mode that it was previously using to 80 by 25, which is the sacred size of terminal that all CPM software assumes you have. So this is really good. Everything will run on this. For example, the pinnacle of CPM gaming is ladder, which is a platformer. So I am the P and the Q at the bottom of the screen. I can jump. I can climb. Whoops. I hit one of the O's and died. I need to climb the ladder. Turn left. Jump over the hole. Oh, there was an O lurking there. Let's try that again. Okay, I'm not exactly very good at this. I got to level two when I was testing this earlier. This gets around the inability to test whether a key is pressed by... There we go. Level two. You press one key at a time in advance of any direction change you want to make, and then you just keep going. So press right, jump, jump. I hit that O in midair. That is unsporting. So despite the fact that it looks like somebody was desperately trying to... Yes. It looks like somebody was desperately trying to make a platforming program on an operating system designed to run on teletypes, which is exactly what happened. It does actually kind of work. So there are a few bugs that need fixing. One thing I didn't demonstrate is that Turbo Pascal doesn't scroll the screen properly. That's a terminal bug. I need to figure out what's going on with that. But other than that, it basically works. This is a really nice machine for running CPM on. This is currently running in text mode with inverse, bold. There may be a TALIC if so, I haven't figured out how it works yet. Yeah, it's a really nice system. So anyway, I am going to finish the video here. All the software I've written is uploaded to the CPM-ish repository on GitHub. So if you have a SuperPound out, please give this a try. This is a standard PC format disk. You build the thing and then you DD or raw write the image onto the disk, and then it just works. This would be an excellent system for doing things like playing the Infocom games on if you like the noise of the disk access in between moves. So thank you again to the viewer who donated this to me. I really appreciate it. And if they or anyone else has enjoyed this video, please let me know what you think in the comments.