As the 2023 elections draw closer, and some politicians already declaring their intention to run for the highest seat of governance, one of Nigeria's vocal clergymen and one-time vice presidential candidate, Pastor Tunde Bakari, may be getting set for the 2023 elections at the launch of what he tagged Project 16 at his church auditorium, the Citadel Global Community Church in Lagos, Pastor Bakari asked a witness, a member of the All Progressives Congress, Oshinaga, to read out what he had written down in 2008 after a dream he had, which indicated he would be Nigeria's 16th president. The atmosphere is charred with singing and dancing. It's not the usual church service, but a time for some political talks. The founder of the Citadel Global Community Church, Pastor Tunde Bakari, takes to the pulpit to unveil Project 16. Pastor Bakari criticizes the level of corruption in governance, but insists a true change is coming. What are you bringing? What is your manifesto? What are you going to do differently? Do we ask those questions? No, they don't even look at the manifesto at all, because they know you and I. It is very unfair that I said our mumu done too much. I promise you I don't need more than four years to set the template, and then for next generation to build upon it, because I'm too old. Got one real discontent at the age of 34. I'm 68. That's double his age. The eye point of the gathering is when he int about a dream he had in 2008. He calls out Dr. Shagun Oshinaga, a member of the All Progressives Congress, as a witness. I had a second dream exactly three years after the first one. In the dream, I saw myself on top of a massive white rock, like the snow-carbed Alps of Switzerland, except that it was not unbearably cold. I was sitting between two of the greatest Nigerians of all time, Genaya Kupugawan and Chivobofemi Awulawa, who are overlooking the map of Nigeria and discussing a bright future and development trajectory. I woke up believing I will have a role to play in the future development of Nigeria and our greatness. It's my firm belief that our country will turn around for the better during the tenure of the 16th president, and I have a destined role to play in making that happen. 2008 was the year that my father's house was turned into historical heritage museum, courtesy of Obustachewa Ingomenden. I was sitting outside, I said, go up and down and count the number of steps. What happened, sir? And I went up and came down and said to you 16 steps. And what did I say to you? What did I say after that? And you said to me, write it down, I'll be the 16th president of Nigeria. Nigerians are anxiously waiting to see what the outcome would be. Paul George for Plus TV Africa.


Everybody Matt here for latent sports cards rip in one box of 2022-23 panini select H2 basketball. This is for alexandros s Good luck See a big card in here. There's Keegan Murray Yanis Court side that is blue disco to 99. That is jersey number. I think 34 of 99 Jersey number court side There you go. Great start. Congrats alexandros You make this Jalen green refractor at the be a mark Williams Pascal siacum for steps poor zingas disco and Johnny Davis rookie Durant Trevor keels rookie and Court side rookie white disco tarry eason This is 15 of 75 There you go. Nice one Lamello silver tarry eason Dyson Daniels and blue disco to 25 christian wood Josh giddy on the back that'll do it for your box good stuff. Appreciate it. We'll get these right out to you


In 2013, Egypt's President Major General Abdel Fattah Al-Sisi was part of the people who overthrew the Egyptian presidency at the time and seemingly rescued Egypt from the darkness and authoritarianism of the Muslim Brotherhood. In June 2014, President Al-Sisi was sworn in as President of Egypt in response to calls from his supporters to run for the presidency and he promised the people a renaissance. However, it's now 10 years after the military coup and 9 years into his presidency and that promise has not been fulfilled. Instead, Egypt is decaying, poverty and income inequality remain ridiculously high and the economy is the worst since its history as a country. What is the reason? What is the cause? Why is Egypt currently in this state? Like every other African country, the problem lies in its leader, President Abdel Fattah Al-Sisi. So how has President Al-Sisi pushed Egypt to its current state and is there any hope? Let's find out in this video. When President Al-Sisi came into power in 2014, he felt he was ruling over an oil-rich country like Saudi Arabia or a country efficient in manufacturing exports like China, so he decided to go on a spending spree. Now, if this spending were on necessities that would improve food sufficiency for an expanding population or somehow improve the economy, it would have been good. However, President Al-Sisi and his military government have focused on mega projects that are supposed to benefit the country. But on closer inspection, these projects have no impact on economic growth. Rather, they are just to elevate Egypt's status, meaning they are more like symbols. One such project is Egypt's new administrative capital city, a project President Sisi announced in 2015. Now, as you very well know, Egypt already has a capital city, Cairo, so why did the President decide to build a new city? Egypt's population is growing, leading to congestion and pollution in Cairo, its capital city. In fact, it's a well-known fact that Cairo has one of the highest population densities in the world, with about 22 million people living in greater Cairo. So, to relieve congestion and pollution in Cairo, the government decided to build a new city located in the Sahara Desert about 45 kilometers east of Egypt. It may seem like a good idea, but frankly speaking, it's a waste of resources because just the first phase of this new capital city cost over $45 billion. Imagine how much money will go into the project before it's eventually completed. The President has repeatedly stated that the project won't cost the state anything, but reports have shown that this project was undertaken through debt, budget allocation, the sale of state lands from one government entity to another, and government subsidized loans. This has contributed to Egypt's current ranking as the second most indebted country in the world after Ukraine. In addition to the construction of a new capital city, President Al-Sisi has also embarked on numerous costly projects, including weapons acquisitions whose exact value is not known but which have placed Egypt among the top five arms purchasers in the world, meaning the amount of money is certainly no small amount. There is also the $25 billion nuclear reactor to produce power in a country that has more electricity than it can use, an $8 billion expansion of Suez Canal capacity that has yet to generate any significant revenue, building a summer capital called New Alamein, and reviving a failed Mubarak-era mega-project aimed at watering a new valley to the west of the Nile. The cost of all these projects and others not mentioned has wiped out all the loan investments, Saudi Arabia, the United Arab Emirates, and the United States by way of the IMF have made in Sisi and Egypt's economic well-being. And this has led to an increase in Egypt's international debt to $163 billion and its total debt to 93% of its GDP, meaning that Egypt is in a debt trap where it has to borrow more money to pay its debt. Interestingly, to finance some of its projects, the Egyptian government sometimes resorts to using public bond offerings which give negative returns when accounting for currency devaluation or through taxation which takes more from the poor than the rich. The government has begun to put taxes on everything including marriage. Shocking, right? Well, when it was first announced, Egyptians thought it was a joke too until the president announced it himself. Now, while the country is struggling with so much debt and the people are suffering under this atmosphere, the Egyptian elites made up of the military are getting richer and fatter. Most of the construction companies that are awarded the contracts for these mega projects are owned by retired generals or by members of the security apparatus who have risen under President Al-Sisi and are backers of the president's regime. So in essence, President Al-Sisi's government has not just accrued debt to finance its ridiculous mega projects but also squeezed the population and the private sector of their financial blood. In conjunction with the IMF, the government of Egypt has removed many food and fuel subsidies without sufficient measures to scale up the country's social security system and mitigate the harm. Currently, social assistance cash transfer programs hardly cover a third of the 60 million people living near or in poverty out of the 100 million population. State-owned companies which employ thousands of people have been shut down or privatized leading to an increase in the unemployment rate. Governmental fees for public education are increasing, a plot the government intends to use to move their children to private schools in which the government is investing public funds through several startup public-private partnerships with international corporate educational service providers. It can rightly be said that the citizens of Egypt are paying more and getting less and less from their government. Citizens are suffering and President Al-Sisi is very much aware of the economic situation and the current state of Egypt but instead of finding solutions, he has resorted to absolving himself from responsibility, blaming external factors such as the Israeli-Palestinian War and scolding Egyptians for their democratic aspirations. He has joined a long list of autocrats who view development not as a human right but as a benefit or a gift from the ruler to the people and repeatedly telling Egyptians that the solution is to continue to sacrifice their rights and be patient, otherwise criticism and opposition can destroy the country. The question is, how could President Sisi and his cohorts continue to run Egypt in this manner and continue to receive support from the international community and maintain its international standing? Well, the answer is something we are all familiar with. It's all about interests. Europe continues to pump money and support President Sisi because they fear an exponential increase in the number of Egyptians fleeing the country to seek better lives in Europe. Already, more and more Egyptians are already leaving the country. The United States on its part continues to send military aid to Egypt because it's worried about China's growing influence in the Middle East and does not want to lose Egypt. However, it's very possible that the aid and other efforts by the United States to keep Egypt on its side have only little impact because Egyptian officials do not want to choose between the United States and China. As for Gulf countries, including Saudi Arabia and the United Arab Emirates, they throw their support behind Egypt because of its huge population and well-equipped military, which they believe would make them not so vulnerable to the Iranian threat. However, over the last decade, the Saudis and Emiratis have become less solicitous toward the Egyptians and are no longer willing to transfer money directly to Egypt's Treasury, preferring instead to invest in state assets or projects that have the seal of approval from international financial institutions. Nevertheless, Egyptian officials still believe that when the time comes, Gulf leaders will step in to rescue Egypt's economy. Now comes the big question, is there any hope? According to some analysts, the countdown to a social or political explosion has already begun because there is no way that people will continue to keep calm under these circumstances. Although mass street protests have not yet started in Egypt because the president has ruled with coercion so there is still some kind of fear, it's very clear that the country is collapsing before the eyes of Egyptians. And since it's unlikely that President Sisi would change, the anger of the people would grow until it spills into protest and demonstrations, which will be met by brutal repression from the government. The whole situation is like a time bomb, waiting to explode. The international community may be able to delay the inevitable by offering lifelines, thinking it can convince the government to reform. But the fact is, Egypt is heading for a disaster caused solely by its president who doesn't seem like he plans to change. So the only way forward for Egypt is a path that does not include President Sisi or the military as the executive authority. And frankly speaking, without that change, Egypt is heading towards an unknown and dark future. What are your thoughts? Let us know in the comments section below. Don't forget to like, subscribe, and share this video.


I think the first thing to helping global competence become a part of what other colleagues do is to share with them what global competency is, that framework of what it means, and to understand that even though going outside of the country is a great way to learn about global competency, you can be global within your own community and in the broader communities, because sometimes some students haven't been outside their own community. So there's that idea. So giving them the idea of it first, but then secondly understanding what it looks like in the classroom, sharing your lessons, inviting them into your room, and understanding how bringing in ideas of the world into your classroom can be also a form of global competency and currency.


and we're live and we're here we're doing this we're floodcoating our pink marbally JD Carrera countertops in MS Pink Palace home MS pink palace so if you've been following along we are in LA doing these countertops and we are currently floodcoating and I wanted to go live so you can see a little bit of that process if you've never done countertops or you're planning to do countertops or anything countertoppy maybe this will help what's up you guys what's up what's up what's up you're watching while laying on the beach in Galveston I'm glad Galveston didn't get deltad because that was not a fun time so right now Jeffrey is popping bubbles with the heat gun he's not using too much heat he's merely popping the bubbles if you use too much heat then you'll liquefy your resin and it will more likely than not do this we are Karen we are currently in we ho did Karen says let's do a class I that's the resin I have left I have one gallon of countertop and half a gallon of our coat oh my goodness he's living dangerously the big holes on the bottom mmm be oh my goodness you're gonna we're gonna be live and die how are you keeping the dust out yeah that's we're gonna hope that works I will Susan I'll answer that question in two seconds are y'all going to use stone coat top coat on top of the flood coat what's up Clara so for the art layer we did use stone coat art coat sorry that's a gross bottle we use stone coat art coat and we use that because it is awesome in terms of a working time and when you're doing complex designs you really need to have a resin that gives you the amount of time that you need to create whatever it is that you want to create and then right now what's on there is stone coat countertop epoxy as opposed to the art coat and we use that as our flood coat because it cures more quickly it cures a little bit harder for like durability sake and everything else about it is basically the same as the art coat in terms of heat resistance and UV I mean the art coat has a little bit better UV but the durability and the rigidity to which it cures is better with the countertop of this much resin left for this amount of countertops do you need me to bring this over there I'm gonna bring it over there I want you to dip dip yeah typically if you want to keep dust out of something like this if you have like a closed-off kitchen we would recommend like where that tape is putting a tarp and then draping it out and over something like a tripod so it has like a lean to type protection however since her place is kind of lofty in that there's no real walls closing this in we're having to just turn everything off there's no AC on there's no ceiling fans we're just gonna do this and disappear and let it pre cure if we hadn't have done this half bar we could have just taped this frame off and then taped over that doorway and just secluded this in there but because we have resin this part as well we can't do that but that's what we would do if we were just doing the countertop part but since we did the bar top as well that's what we had to do I don't think I could have a pink palace exactly but that countertop and pink marble is gorgeous thank you did you bring the sample board so she can put it on her wall as an art piece I did not but maybe I'll start doing that in the future well this piece is almost done Karen and I don't know how far the valley is but aside from the flood coat this piece will be done assuming it cures perfectly if it does will be done if not that's what we have a little bit extra resin for I mean the new top coat that's don't come make scratch proofs than delphins no this will be a high gloss countertop you're talking about the platinum and the matte top coat finish we won't we won't be doing that for this countertop however I think this particular design would look pretty amazing in matte so as you can see the backsplashes and the front panels are quite large they're very tall and the way we extended the design up and over the front is by pre painting it I don't know if you can see that much see that slight pink that's here that is from just wet-on-wet painting the under painting and we did it on the back wall so you can slightly see pink here and here and here and so by doing that you can a limb eliminate alleviate you don't really have to worry about putting your design up that continues down if you just pre paint it up a little bit before the resin I think people tend to overthink backsplashes because they want the design to continue up and if you don't have it in such a way don't do what he's doing wear gloves we ran out of gloves if you can avoid trying to continue a design down then you should do that because it's gonna try to flow like this just north south instead of at any kind of diagonal we did this with them we applied the dark later in the setting process so that it would stay where we want it to can use resin over a tiled floor sure this part of the bar top was actually marble tile that looks like the fireplace is the same tile is this and so it had grout lines and everything luckily the grout lines weren't so deep and so there you can kind of see one here where the paint kind of caught but this was marble tile now you can't do it Claire's right I would consult someone that does flooring because you probably have to do a whole bunch of prep work for floors I I want to do a floor but I just don't want to do that kind of prep work also this building isn't level so we had a lot of runoff down this side but I think that the shift from it not being exactly level left some really interesting design elements that you can only really achieve by tilting a countertop as opposed to just doing it in place so we don't do prefabricated countertops like in our home and then install them we don't do any kind of construction at all we only do countertops in place like this yeah this is my favorite spot of the whole thing my favesies see so you don't want to overheat your resin and when you mix it up especially if you use like a power tool you're gonna introduce a lot of bubbles into your epoxy and so in order to get all the bubbles out and leave your countertop with a beautiful finish or complexion you hit it with heat but you don't want to use too much because then you'll thin it and it'll just run off your surface so we have a hair time out on my thought hold on so what we do is we'll hit it with some heat to pop the initial bubbles we'll let it rest for an hour and they'll come back and hit it with heat again and pop anything that may have come up which more bubbles that are more deeply encased in the resin will work their way out as time goes on and don't don't worry about your drips right now I would I would worry about them probably two or three hours maybe just hit those because if you if you get rid of your drips now they'll just come back mm-hmm that's just for beginners probably do that and then they can't they just keep doing it I got it thanks so in order to get your resin to run smoothly down a vertical surface instead of doing kind of a drip look like this separation right here it does that where the resin is non-existent so if you coat it all in some resin before you do a like run your hand across it with resin on it and then you pour your resin it'll drape more evenly instead of giving you those like tear dropy type of drips and he's right we're all will come back in an hour or so and wipe this drip line off there's something in it right there behind your cup well thank you Angela I I think it's beautiful nay nay this is not the top coat we're not doing this piece in mat using the top coat by stone coat is a whole another ballgame it is very time sensitive and beautiful but you have to make sure like our client wanted a high gloss countertop if she wanted Matt then we would have definitely done what we needed to do to get it to look how she wants it to but she wanted high gloss Jen said unusual for pink to be in a kitchen but it's subtle and amazing so this client is super into pink pink pink pink pink pink pink pink pink pink pink pink pink pink pink pink she loves it she loves all things pink and so she wanted initially originally to have a pink with white countertop and then after doing some sample pieces we decided on white with pink and some gold and deep pink accents I think it turned out stunning but you know I might be biased so we hand painted some gold onto the countertop because we're using molten gold or liquid gold by Montana you can see it kind of right there just very fine lines thank you man well in Austin rumple preach I'm so in love with that apartment gives mid-century vibes doesn't it and October being pink month that is very true Jen I didn't even think about that agreed Clara thank you Holly Ollie oxen free so I think it turned out great I think it accents the pink that she has in here already really nicely so Jen this this deeper pink that I have in here let me find a good bit of it so that darker pink I mean it's got some liquid gold throughout but that darker pink color is from resin art I don't have the jar out here anymore but it's a it's called platinum rose the deep pink is platinum rose it's from resin art I carried on my website and it is it gives that deep grayed out color when it's under the other pink so it looks you know how marble has different variations of whites and grays that's what we were kind of going for with that deeper darker pink and I think it really it really did the job nicely because we didn't want to go grays and blacks because her kitchen is pink pink pink pink pink a little bit of white and also gold is this a four-day project so we did give ourselves five days for this project in case something does happen to it today we have to come back in and do another flood coat tomorrow ideally our process is coming in doing the prep work all this masking off which takes a few hours and then we'll do the base painting and that has to degas or off gas overnight or 24 hours is ideal so that the paint doesn't trap gas under the resin which could cause yellowing over time then after that time is passed we'll do the art layer let it cure we do light sand it with 400 grit sandpaper and then we'll do we'll wipe it off with something alcohol and then we do the clear coat gold are perfectly done thank you your mom's and she loves this I agree it's pink but not like oh that's pink thank you Kim appreciate it Clara she should hire you guys to do the cabinet doors so surprisingly this amount of space is 50 square feet doesn't look like it right but when you add a 5 inch backsplash let's 4 inch and a 5 inch backsplash and a 5 inch front splash I don't know what that's called it really adds up so doing a whole bunch of like 20 by 36 doors I think it would look awesome but that would be it would basically double the cost I think it would double the square footage I would thank you man'd I would like to do my countertops before we moved to Texas I think it would help the market I think it would too because it's custom and that's something that this client was particularly excited about is that I kept her involved with the whole process of designing all the elements for what we're going to do to her kitchen all the shades of pink that she wanted and a slight little bit of sparkle in some areas that is Milky Way breaking through right there and so she really liked to that customization process because I mean you can buy pink things you can buy marble but I don't know that you can buy pink marble without it being insanely expensive yeah your mom's in here Rachel says she doesn't like pink at all but this is gorgeous for someone else it isn't overwhelming oh thank you the girl like oh vamp says she did her countertops and doing that 100% help the sale agreed Jen so once this is set for about an hour we're going to come back in and hit it with one more bit of heat on the top to pop any other bubbles that may be coming to the surface which I don't even see any right now to be honest but since we can't mask it off we're going to be coming through and picking out anything that lands in it we're going to keep a close eye so we don't have to do another flood coat we're going to keep a very close eye and make sure nothing comes into it and ultra baby it we will start scraping off the under drips in maybe three hours and we'll come back in with an acetone wash yes this is countertop sets up a lot faster we'll come in in like three hours and like acetone wash the front to get any drip texture smoothed down and Kim wants to know how long till you untape two days untaping after two days is way too long we'll pull the tape when we do the drips we'll pull this tape I don't know about that tape yet that tape can stay this tape can stay but the top tape since it does have resin touching it against the wall we'll come back in and move this tape out in like two hours once it's like that hot glue gumminess you can always check that by getting up onto these drops right here and if you like take a popsicle stick and touch it and pull it out if you can pull like a two-inch string then that is set enough to pull your tape to where it'll melt back down into itself without having to use the heat to remove it because you don't want to thin your resin out right when you do that make sure you pull a tape towards you so that you don't get anything on your wall not that you could pull tape away from you because there's a wall there but like try to fold it back over onto itself almost pulling you don't want any don't pull like straight up because you don't want any strings to get on the wall or into your design or whatever so this all this under here when you can run your hand across it without how do we say that without telling someone to put their hand in their resin if you just if you just if you can just swipe your hand across it without it sticking I mean if you put your hand on it and you lay it on there and fingerprints come off you're in trouble you're in trouble so don't you know if you're gonna test it just literally like this is obviously a couple hours like hours hours after right if you can just kind of swipe your hand it's hard to say an exact hour because your ambient temperature and humidity and dryness have a huge factor to play in how quickly your resin sets yesterday we did our art coat at 10 a.m. and by 10 p.m. technically we could have done a flood coat because we could run our hand across it without anything moving but we don't want to risk it for the biscuit so we just did it just now right now today and so what was I saying so we'll probably come back around 10 p.m. tonight because we're in dry California air and remove all of this once we're sure that no more dripping is gonna happen because ultimately this is protecting everything in the kitchen right then she should color match the cabinet doors to the fridge so we actually color matched this paint is the paint that we pre-brushed on so this like under paint is the same it's called cupcake pink by bear and hi Sue her fridge I think she's gonna do something with because it's right now it's contact paper that she found that's pink but since her door was silver it kind of dulled it I know she's gonna paint her handle I'm pretty sure gold or white to match the owner hasn't seen it yet she's supposed to be here at 10 30 flash 11 to check it out with her mom Susan did an ocean poor that was commissioned my husband came down three hours later stuck his thumb in the middle spot that quote he liked about that had a call my bad oh wow not in Texas no Jen we are in we ho West Hollywood LA doing this for a client that googled us on I thought she was fam but apparently she just googled us and we came up so we're here so we're gonna baby this a little bit more that looks so realish and we will keep you guys posted we wanted to do a live real quick and show you what we're up to right now you need to film her reaction see if she'll let you show us okay have you ever accidentally leaned on a counter you just coated have not because once we do a countertop we get out of the way we don't we don't hang out because you don't want to stir up any dust or hair or whatever so you do it and you leave that's typically how it goes but we have like leaned over to try to do for example up here and then our shirt got into the front edge it's right here thank you vamp I hope you're feeling well as well co hopefully she'll become a fan and subscribe so you got that part it's hard to see because we did such a good job with depth on those like fault lines not to toot my own horn but honk come on 50k right hopefully she will become a fan and subscribe your mom says awesome job if you guys don't know miss Eunice Sandoval is who gave us this awesome blue-eyed artist so you can thank her for that you guys see any see any divots we did not use platinum on this this is just the countertop coat client did not want a matte finish client wanted gloss so we didn't use platinum or their top coat finish I guess maybe I should change my title from top coat to flood coat thank you Clara vamp said thank you Eunice he's one of the good ones I concur I appreciate it so much to think there's some bubbles right in here though anyways you guys thanks for tuning in and seeing what we're up to today we just wanted to hop in and show you guys this because you know every piece that we do we're proud of especially when not that I don't like pink but you know when you hear pink countertops you're like oh I don't know about that and so when we can make something what the client wants in their original color range because it happens where people come to us wanting a piece with certain colors and we're like no you don't want that so it makes us happy when we can please our clients and I think she'll love it but I'll see if I can I'll see if I can record her reaction so thank you for all your thumbs all you subscribers please take a moment and share our videos because we are trying to get to that 50k mark and we're not far Megan said you make a great team coming you should get married and then but have someone out of state and she didn't go local well there are get their countertop people that we know that work out here not an LA but close but when you find someone that can do what your vision is you kind of stop stop hunting you know Rachel says you made her dream countertops I hope so man says thank you for showing that's what I thought yeah pink but it's superb oh yeah pink right oh it's very stiff 70s for sure proud of your work we are very so all of her apply actually doesn't mind all of her appliances everything is pink pink pink pink pink pink pink pink pink pink pink that's the stand mixer that I was sent a picture of two color match by the way if you ever have a client send you something to color match make sure they take the picture outside in natural light because lighting can change the color of anything especially on a camera see Catherine the paint thank you so much I agree it is good water mouth so thank you guys so much for tuning in seeing what we're up to today we will show you the finished product for sure but till then we got a baby this sucker and we'll see you guys maybe later maybe tomorrow we'll see you sometime we love you guys so so much we kind of want another you never know what someone's going through and we'll see y'all me on a later maybe I don't know okay bye


e number. But we don't record the line number when we define a symbol. We could. It would take up another two bytes in the symbol table. Now we're compiling this honestly not very big program. We're actually gone from 54 to 38k. So I mean there's enough space that we could put the line number in. But I think I don't want to... Simply that... I'm just going to do that to suppress the line number at the end because that's misleading. I don't want to do that simply because finding the symbol is easy enough for the search. And I don't want to use up the space. There's another one. Need to build. Save. Is that a force of recompile? Let's rerun our assembler. Wait for it to finish. Do the comparison. Right. It is now producing the same result. So I should just be able to test.bin just to prove that it works. Let me just change that to a more sensible default file name. Okay. We now have a functioning assembler. I mean it works. It is quote finished, unquote. There are a few things I need to do. One of which is to change the hashing function for the string. And we're just going to sum all the bytes in the string because it's easy. I think this is the cheapest way to do this. There is an entire science of cheaply and efficiently hashing strings, which I'm not going to even think about using slot in URLs. Okay. I can just do hash and OX1F. So hopefully, types cannot be inferred from numeric constant. Quite correct. They can't be. Slot not found. And if we assemble this with luck, should be faster. That's not faster. That's definitely not faster. Interesting. Maybe, so this will just print the number of items you need to chain of the hash table so that you know whether it's unbalanced. That's because I'm running the wrong version. That's faster. That's a lot faster. And here's our hash table, which is relatively balanced. Good. Yep. Okay. That is definitely an improvement. So there is, I believe, only one more thing we need to do. One more thing I need to do, which is to emit the listing, which is surprisingly useful when debugging things, because it tells you the exact value of every label, byte, et cetera. So what we're going to do. I am going to drastically simplify the listing format because one of the problems I had with the old assembler is trying to duplicate something even slightly like the listing format of the original was just awful. So I'm not going to. Instead, we are going to emit one line per instruction, which is fairly straightforward because you can do that here. So we want to have a buffer, which is going to be 80 characters wide, one standard line in the terminal. We only emit the listing in pass two. We need to track the number of bytes we've listed, which gets reset to zero at the beginning of each instruction. Whenever we emit a byte, we're just thinking of field sizes. I need a comment for this. So program counter is no, actually. Line number, program counter. Then we're going to have emitted bytes. I'm just wondering how many you can get away with. It serves eight as a nice round number, followed by the instruction text for one instruction. So we start at, this is on column 15. We started on three, so we want 12 bytes. So if there are fewer than eight listing bytes, then we want to insert text into the... We want to insert the byte we're emitting in the right place into the buffer. So we're going to use UI to A for this. Let me just double check my stupidly expensive UI to A because it does everything in 32-bit arithmetic. But we have it pooled in anyway because we're using print with numbers. And the pointer to the buffer is going to be 12 plus listing bytes times three. And this returns a pointer to the end of the string, which will be zero-terminated. We don't want it to be zero-terminated. We want it to be a space. So this should emit bytes. Now we want to save a bit of time. We only do this in pass two. We want to set the content of the listing buffer, or at least this much of the listing buffer to all spaces. So we're a start at column 39. 39 minus three is 36, probably. We have memset in here. Oh, yeah, that's defined here. Yeah, the CPM version just uses a really simple one written in cow goal, but you can actually... The back ends are allowed to define their own. We want to insert the line number. So again, UI to A. Line number followed in base ten. Starting at listing buffer zero. So we could... This will not left pad the hex number. You have to do that yourself. Yeah, this is supposed to be a simple routine for doing... Well, simple numbers. Now I could change the routine to do padding, but it's in the standard library and I'd rather not. I mean, it's pretty terrible, that is. I should probably shift this out into the back end code into the back end runtime so that it can be a nice small machine code implementation. And I should certainly fix this. This actually does the division twice. There are some helpers to... Basically that implement div mods. You only have to implement it once. You have to do the division once and it returns both the result and the remainder. Well, let's use UI to aid for the line number because that actually needs to be in decimal and replace the terminator with a space. But let's just do our own hex conversion, which is fairly straight forward for two bytes. Just trying to think. There are two ways to do this. One is to use a lookup table of hex digits and the other is to actually do arithmetic. And I'm not sure what would be smaller, but let's do it the right way. So take the bottom nibble at right. Yes. No, I think that's right. I'll try and see. So that will do the bottom nibble, which actually needs to go into here. We need to start at the top. And we're also going to want a hex 8, which is going to implement in the traditional way. So this code then turns into listing buffer 12 plus listing bytes plus 3. And we don't need to fiddle with the terminator. So unexpected if we keep doing that. Semicolon, missing parenthesis. Expression was a U16, yeah. Listing buffer not found. I'm also going to do this just to terminate it. And then at the end of the loop, if pass equals 2, then this is going to be strictly temporary. I should add listing buffer 0. What happens when we run our assembler? So we've got a line number. We've got our bytes in the wrong place, but so we've got LXI. That's interesting. There should be three bytes here. But line 5, we've got a C7, which is C7, RST0. Okay, well, the line numbers aren't right, I have to say. It's also only emitting, what's this? That looks like a string, yeah. So here is 1788. Here is the C9 RET. Then we have our string here, that's the first chunk of it. Two, three, four. That's nothing even like the right number of characters. Because that needs to be a three, a multiplication operator. That's better. This is looking much more like what we expect. So LXI SP top plus 128, the top of memory. That's the top of the stack. The stack occupies the first 128 bytes of the program's memory. Call main, reset zero, empty line, that looks right. One nice thing about the 8080, one of the only nice things about the 8080, is that most simple instructions are a single byte. It's not like the Z80 with extension prefixes everywhere. You can tell from just looking at the machine code, basically how big it's going to be. So some operations like this shift right, looks long-winded, because it is long-winded, really. But it's only a small handful of bytes long. And given that all branches are three bytes, then it is actually worth inlining things. Okay, and here's our string. One, two, three, four, five, six, eight, yeah. So we need to insert the program counter. But we need to insert the program counter. Do you want to just thinking of org? Because org changes the program counter. I think for simplicity, we're going to insert the program counter at the beginning of the instruction. So we're going to put that in here. Let's say in X16 program counter, and that will go here. We'll actually also want to insert that colon. So four, five, six, colon there. And we want to put the program counter at P plus six. And then we want another colon, 10. That wasn't quite what I had in mind. Right, P is the wrong value. P is actually the address of the end of the string written by UI to A. I actually want to do this. Well, I actually want to do that. But here I want to do listing buffer four. Address of listing buffer six. The other advantage is that as the compiler knows statically the address of listing buffer, no pointer in direction happens here. That's just a simple write to memory. So that is going to be five bytes. Load colon into A, store A into memory. And what's this done? That's looking almost plausible. It's a bit slow. It has actually produced all the stuff. So we're eventually going to want to block out this code so that it only runs if the user actually wants a listing because, frankly, it's slow. But there is one more bit we need to do. I'm just trying to think the best way to do it. We need to copy the text into the buffer. And I think that this is going to be the job of the lexer. So we're going to want to copy text from the source into the listing until we run out of space. And the simplest way to do that is to put it here. So the text starts at 39 minus 3 is 36. Yeah, that's where we put our terminator zero in. And so we actually have 44 bytes of text. So because we also need a terminator, listing charge is 43. If parse equals 2 and listing charge is 43, then listing buffer, listing charge equals C. Listing charge plus 1. OK. One last thing we need to do to make that work is just before doing the thing, we need to make sure the string is terminated. And that's complete garbage. I know why it's garbage because we're actually also emitting all the control codes. So if we don't want to put new lines in there, of course, that's still complete garbage because I have forgotten to do this. Lots of nasty magic numbers in there. We should be using consts to K. That's interest. Oh, yeah. It's done that because we've done this in the wrong place. This should happen before we read the token because otherwise we'll just reset over the string that we just read at the beginning of the line. OK, that's not so bad. That's looking moderately good, actually. It's got the line numbers on the left. Going to the end of the file takes a while. This is not the quickest. We might need to allocate another character for the line number. I think 4 bytes is not enough. How are the line numbers looking? So here is line 24, f3-mol. f3-mol2. Yeah, that's right, actually. Cool. Let's find a DB. Let's find a DB followed. I'll find a DW. OK. This is actually the lookup table for initializing the operators because it's... Why is there a double curl on there? This will only be... Hmm. Anyway, there should be a big DB at the bottom of this. Here it is. So here we have our eight characters. Ooh. Right, I know what that is. That's nice and simple. This is because catokens have been ungot. And when we unget something, listing chars equals... listing chars minus 1, which would be DW again. What happened to the tail of these? What's happened to the last byte? What's happened is that this has ungot it. So that's not quite what I had in mind. What will be happening here is that at the end of the line it is ungetting something and then not getting it back again. It's probably ungetting the new line. So I think I should be able to easily hack this by saying C is not a new line. I mean, this is all really bodgy, but that's better. Okay. And now I believe we have a reasonably coherent listing file. Yeah, let's change that. That's going to be... Well, X-line number plus 5, of course. So... Program counter is going to be X... I know... I can't type. I know end plus 2. Program counter end is, of course, going to be X. Program counter plus 4. Bytes is going to be X. Program counter end plus 2. And the text is going to be at X-bytes plus 8 by 3. Text end is going to be 79 minus X-text. I'm trying to think how I want to do this. Let's just do that. Okay. So here, this is going to be X-text. X-text. Listing byte is not going to be the number of bytes. It's going to be the exposition in the string. So that is going to start at X-bytes. Likewise, this is going to start at X-text. The first colon is going to be at X-line number end. Second colon is at X. Program counter end... Oh, yeah. If listing final name is not equal lot as string and listing byte X is not equal to what comes after the byte is the text. Then write X. There we go. Much more efficient as that is now no longer doing a multiplication. We should see the code size go down, I hope. Where is read token? Listing char X is not equal to X-end. Listing char X. In fact, we could use pointers here and make things even easier, but honestly this is clearer. So these multi-branch conditionals are awful on the 8080 because of the 3-byte branch instructions and because comparing things is just generally a bit grim. Comparing listing file name against zero you have to load it into a register which is 3 bytes. It's going to go into HL. You then have to move H into A. You oar it with L. So we're up to 5 bytes. And then you do your branch which is another 3 bytes. So that's 8. And that's the optimised comparison because we're comparing again zero. Comparing against another number it gets even worse. Listing is a little better than the 8080. Sorry, on the Z80. But not much. It's just all kind of terrible. The 8080 is a very simple processor. The Z80 is not a very simple processor but is in many ways just as annoying to actually write in. Okay, what's that done? Scrub to live memory and crashed? Not quite. I think it's put the program counter in the wrong place. That should be X line number. Yeah, that should be X program counter. What's happened here? Oops, that should be X end. That's why none of the bytes showed up. That doesn't explain why the text hasn't shown up. That's not much better. Also that colon floating in the middle of nowhere looks done. Let's put that in a better place. Let's put that here. That means we don't need the line number end. So we can actually... No, that's right. I mean that still doesn't explain why the text hasn't shown up. Or the byte. If listing file name is not equal to string and listing byte is not equal to end. Okay, yeah, that's... Oh! It is in fact doing exactly what I told it to do. It's not emitting stuff because listing file name is not set. So we do this. That should work. But I need to stick a double hyphen after the emulation vacation. Why are we getting a syntax error there? Why are we parsing arguments? Yeah, right. This is tricky. This is because CPM and my emulator actually convert the command line to uppercase. So we could just compare these for, again, the capital O and capital L version. But I actually want this to work on other platforms as well. So we are going to have to call toUpper on the byte. We just read containing the character. That's better. That looks okay. Where's our DW? Here, there's our DB. Oh, that's not great. 0, 1, 2, 3, 4, 5, 6, 7, 8. That should be 9 times 3.  But for DW, 0, 1, 2, 3, 4, 5, 6, 7, 8. Oh! Okay, that's not right at all. Well, that's wrong. I think that could have been it. So there are two problems. One is that there are too many bytes being emitted. So let's take a look at that. There we go. That should not be bytes. And the other is the text is garbled. But I think that's actually going to be text. I think that is because it's being overwritten by bytes. So there we go. That looks fine. There is... You see, I wonder whether we could actually get all the bytes by simply when we reach the end here, we flush the line to the output. Make a new blank line continue. Therefore, you get multi-lines of bytes. It would be fairly straightforward. But I don't think I'll bother. People won't be particularly interested in the byte values other than for, you know, the actual instructions. So we want to do this if listing file name is not equal 0 as string and pass equals 2. Because that will skip everything if... That will skip all the work if no listing file name is set. It's still printing lots of stuff because I haven't done this one either. Listing file name is not equal 0 as string and pass equals 2. Now there's actually... Do you remember when we were doing the if callback and it was setting the pass high in order to suppress writing anything to the listing file? So we haven't put any support for that in but actually I think we don't need to. I mean it's going to be pretty hacky but if we just take that stuff out then what you'll see in the listing is in the text section you'll see if and then your expression and if it's a false then you will see text from the next few lines appended on the end of the if. Likewise for else it will just give up writing text when it hits the end of the line. So let's actually just chop those out for simplicity and I completely forgot to do it entirely for else so that's straightforward. It also occurs to me that I'm doing this test lots so we can simplify things by... I can simplify things a lot by doing a flag byte. Up here we have listing file name is not equal to not as string and pass equals to then do listing equals one else do listing equals zero. So every place where we're doing this do listing is not zero. CalGold does not support automatic coercion of types to booleans so you always have to do the explicit comparison. I am still not entirely sure whether that's a good idea but let's stick with it for now. So this simplifies all this stuff no end. Let's run that and see what it does. That seems to be doing the right kind of thing. Let's try that without the minus L. Yep, nice and snappy relatively speaking. Okay so all we really need to do now is close the listing file at the end of the program. What am I doing? Let's help her here to save sanity. Start error failed to close. Name and error okay. And the one last thing is here instead of dumping it to the console we still want to terminate it. I think it's called fcbputstring.listingfile.listingbuffer0 and a new line and that should actually be a pointer to an fcb. Okay so assemble and write to listing. Yeah the listing is slow. It's probably let's see if that actually worked. Yep that looks fine. One thing I do need to do which is the very last thing before closing the file I need to write an end of file character. This is a convention in CPM where for text files where you don't want garbage at the end of your file you saw the zeros at the end of that. You put a control Z to tell any text editor that this is the end. You can see it here and anyone who's programmed in DOS will remember that this convention exists there as well because DOS has its ancestry in CPM even though DOS does support files with exact byte sizes. So it doesn't need them. Okay it's finished. I mean there is nothing else to do. We have a working assembler. It is 9,000 bytes, 9,013 bytes which compares to, I'm just trying to remember the path as in 10712 bytes for the ack assembler so we've beaten it in terms of size. Let's just try running it and seeing what happens. I think we have to call that cowasm. It looks like asm.com. Open input file. What file is it looking for? It should be looking for cowasm.asm unless it wants it in capital letters. Excuse me. This is it writing the result banner. That's weird. It hasn't actually tried. Did I get the couldn't open input file? It hasn't actually tried to open the file. That's peculiar. This will be an interaction between CPM emu which I wrote and is a kind of hacky and the ack's command line parsing which I also wrote and is a bit hacky. You're probably sensing a theme here. I was going to try to compare them. Let me just try this. I'll have to debug that later. That's frustrating. I was going to try to compare them up against each other. The ack's output is... I will see if I can find it for you. It's not brilliant. It's not kept the assembler file. The ack's output is very slow because as I mentioned earlier lots of helper routines but quite dense. But given that we are comfortably beating it by a kilobyte, that's 10%, and I suspect that cowasm here is way faster because it's not using all those helpers. The ack uses helpers to pull values off the stack. Cowgold doesn't have a stack, so it's got direct access to all its variables. I think this will absolutely beat the socks of the ack assembler. It's smaller and faster. I can compile this on an actual 8080 or Z80 machine which you certainly can't do on the ack even though the ack is pretty small as c-compilers go. One more thing I want to try. There's the command line that actually executes everything. Let's just see if I can time it. That's taking a whole 106 milliseconds to compile this assembler using cowgold on my machine. Let's try that with the Z80 version of the compiler. We still use cowlink8080. We're using the wrong runtime. We're using the 8080 runtime rather than the Z80 runtime. Ooh, that's not so great. Oh, that's because I told Zmak this is 8080 code. Minus Z? So that's produced Z80 code. So here it is. It's quite different from the 8080 code because the Z80's got more registers and more operations and everything. So we can actually use ix and things. Yeah, this is relying on... So what's going on here is that some of the fixes I made to the linker I've actually put 8080-isms in the Z80 code because it uses the same linker for both. Yeah. Oh, hang on, hang on. No, I know what's happening because I have the wrong header path. So there we go. So how big is this? And that's not the cowasm.sim. Okay, so that's knocked 500 bytes off the size of the compiler at the assembler. Let's try running it and see what happens. This could be hideously embarrassing as I haven't actually tested this. And of course now it's trying to compile the code of my 8080 assembler. Okay, I'm not going to bother with that. I'll beat this into shape and actually integrate it into the toolchain and everything. And hopefully I can stop using ZMAC and use a much faster compiler instead. You've seen how long the CalGo toolchain takes to compile. I will also try it on a real machine and see how that goes. Anyway, there was a stupidly long video of me hamfistedly programming in a language which I invented. So I'm sure that is of absolute thrilling interest to everybody. But the last hacky video seemed to go down well, so I hope you enjoyed it. Please let me know what you think in the comments and do follow the links and check out my stuff.


Okay, I have 515, I'll call the meeting order. Sarah, did you want to take attendance or do you have it? There's only three that I haven't seen anything from, so all the person, Betty Ackley, are you online at all? No, Tom Mitchell, are you online? No, and Cole Phillips? All right, everyone else is accounted for. Okay, I just want to remind everyone that in the chamber, if you need to speak tonight, go to the middle microphone. With that, I'll call the meeting to order and stand for the Pledge of Allegiance. I pledge allegiance to the flag of the United States of America, to the flag of the Republic for which it stands, one nation, under God, indivisible, with liberty and justice for all. Thank you. Okay, has there been any correspondence, Sarah, other than what you sent out to everyone? Yeah, just that on September 28th, I sent an email to everybody with a copy of the letter from Mayor Zieger from Esslingen, and he was writing that letter in order. Patrick, can you please put yourself on mute? And he was responding to a letter from Mayor Bannerstein. So hopefully everyone got a chance to look at that letter that I emailed out. And that's the only thing that I have. Okay, thank you. Okay, we asked for approval minutes of July 9th, 2020, which Sarah had put on the website and console docs. Okay, Henry, motion approved, or is it second? Caroline, second. All in favor? Opposed? Okay, minutes. Okay, possible donation of international coins from Shoreline Metro. I'll turn this over to Sarah. Okay, so Derek from Shoreline Metro has offered to donate their supply of international coins that they have accumulated. He estimates that there's about $50 worth of Canadian coins and about 100 or so international coins of varying value. So I guess this is open to discussion in terms of if we're interested in taking this donation if there's any thought as to what we may do with international coins, totally open-ended. Okay, okay, got it. Any thoughts? Is it something we would cash in and then make a donation somewhere, take it for us, or just make a collection of them? So any thoughts from homebound or here? Either that or we take them as a donation and keep them and then decide in the future too. So that could be another option. This is Patrick, I don't see why we wouldn't take them. We could always turn them in to any bank and certain banks will take coins and turn them into American cash if we need or whatever we need. Okay, so you wanna make a motion, Patrick? I would say I will make a motion that we accept a donation from the Metro line of the Canadian informed coins that they have collected and maybe we can use them for something in the future. Okay, is there a second? Anna? Okay, any discussion? Hearing none, all in favor? Sixth by saying aye. Aye. Aye. Okay, any noes? Okay, motion carried. Thank you, Sarah. So I think I got a piece of paper at home yet I'll send a thank you to Derek. Okay. So, okay, it looks like, if you saw the letter from the mayor, Segar, that he suggested that we look at a trip in May or sometime in 2022. And so it's open for discussion to see if we wanna start planning for that time. I know it's a way it's off, but yet we don't know what the situation is, but we've planned trips two years ahead already in the past. So what are we thinking about taking up the offer to visit in probably May of 2022? I think he suggested May in there as a possibility. Any thoughts? Mike? Mayor Mike? You should be on. No, there it is. There we go. Well, Mayor Segar generously allowed us to shift our trip back. I mean, right now you can't travel back and forth anyhow.  And this is at a time when it's really hard to get people interested and go flying anywhere. So I hope that this will give us enough time that we'll get our vaccines and things will get back to normal. And we can hopefully get a robust delegation to make the trip over there. Any other comments? So I'm open to making that a formal motion to plan a trip for then, or we can just keep it on the table and as we move forward or to accept the, maybe to accept the invitation. Anyone? I'll make a motion that we accept the invitation. Okay, Patrick made the motion to accept the invitation. Is there a second? Second. Okay, got a second here. Okay, any continued discussion on this? Carolyn? Rich, can you, can you, Rich? Hold on, your mic's not on, hold on. Rich, you got to turn your mic on. Up on top, middle, yep. Oh, no, it's off again. Carolyn, can you pull it down? There you go. We're gonna proceed with this. I don't think we can really do anything until probably April or May of 2021. And that's when that subcommittee could probably contact Discovery and see what we can do. Because hopefully the COVID virus will be, hopefully slowing down. Maybe we could just, I mean, give them my heads up and say, put this on your memory bank that when things open up, we'll be contacting you. So any other comments or discussion? Hearing none, all in favor of the motion to accept the invitation from Mayor Sigur and Esslingen for May of 2022, signify, say an aye. Aye. Okay, any opposed at this time? Okay, motion carried. So is this something we can draft a letter or note to them saying, we'll accept their invitation pending life. So, okay, next thing in agenda, it's kind of an idea that I came up with. We're kind of in a lull right now. And we are the Mayor's International Committee and I know we promote our Esslingen partners and Sobami, but I thought it'd be kind of neat to kind of highlight the other organizations in the city that have international relationships and put it on our website or if we want to put it in the city newsletter or just kind of promote them and use this time as our committee, because we don't have a lot of, the only time we get any really press is right before when we come back from a trip. And I like to see this as a more of an ongoing thing that we're promoting. Like I know Mayor Mike, you have a good relationship with some of the mayors in Canada through your organization. That's something that hiled. I know one of the churches has had a long 20 year relationship with El Salvador, they support students, they visit. So now I'm not talking about companies or businesses, I'm talking more about, organization churches, whatever, to that. And I thought maybe we could use that to kind of promote that. So I'm throwing that out as an idea. I mean, I'd certainly chair it and it would come through me and I talked to Sarah. We do have our website that, I'm not website, Facebook page, that from Essing and Fests that turn over to Mayor's International Committee. So this will keep our name in the front of things and then when we have our next fundraising, maybe more people will know who's doing this. Cause we do, I don't know about you, but it's like people to people and Mayor's International Committee, oh, you're on that, what do they do? And maybe this is a way to keep them out there. What do we do? So what are your thoughts on that? Rich, do you know, is there any type of resource that lists or a list of all of the organizations that do have international ties? I don't know if there is, but I certainly, I might be able to go to the chamber and see they might have that information because there's a lot of groups that are part of the chamber, like nonprofits and stuff already that are part. So I'll contact them and check that out, see if they have a listing of those. We have partnerships, you know, I know Rotary May and International may have, I mean, Optimist may have organizations and stuff like that. I know we as Kiwanis we do, so I think that's just something to promote what that we're not just, that Sheboygan has more tentacles out in the world than a lot of people think we do. So can I get a thumbs up on that? So we're going for a thumbs up instead of a motion? Make a motion. Yeah, yeah, we'll just, we'll do it. I'll bring back, maybe I'll show an example. I mean, we'll put something in and do it next month and if we wanna formalize something along the way, we can, so, okay, thanks. We have two foreign exchange students that are here and we need some hot way to get gift bags to them, right, Sarah? Yes, so I reached out to the area high schools that I normally reach out to every year with regard to when we're planning our high school exchange student dinner and just to see, does anybody have any foreign exchange students? Well, South and Christian do not. North High has won. His name is Felix and he's from Germany and Lutheran has won. His name is Yunhu Park. He's from South Korea and he's in a continuing exchange program because he was also here in 2019 and 2018, although he was not able to go to either one of our dinners those years because he had a schedule conflict with a soccer banquet that happened at the same time. So he did receive the gift bags that we assembled. So he got the same thing that everyone got in previous years. His host family came to pick it up from City Hall. So if we were to consider putting together some sort of gift bag or something for Yunhu and for Felix, we might wanna change it up a little bit because Yunhu has received what we did in the past. It'd be nice if we could maybe see if they might be able to coincide giving them those gifts with maybe a future meeting of our group. And Felix is the exchange student from Estlingen. Right, that's what I thought, Mike, maybe at their next meeting because we would have had it in November anyways. So thoughts on that? Just to, can you speak in the room? Oh, go ahead. I was just gonna, you know, we spend quite a bit of money when we do that pizza dinner and everything. What would you think if the chair, the mayor, would take those students out for a dinner or something? Would that be something that would be? No, no, I don't think that's a good idea. Nope. No. We could purchase some pizza coupons for them so they could go on their own. Yeah, I mean, we have the funds available to kind of do whatever we want. So I guess it would be a matter of if there was someone in specific who would be interested in kind of spearheading, just put it together, make it happen. That's not a question. What kinds of things have been put in the gift baskets in past years just to get a sense of how we might think differently about that this year? Well, we have t-shirts, sunglasses, water bottles. You're all city logo items. Yeah, all city logo items, essentially, and they're in a canvas city bag. So, you know, we were handing out what, 20 or so of them at a time. So it wasn't a ton of stuff, but now we only have two people. So we can kind of maybe ramp it up a bit and make it a little nicer. We could put a couple of Subami birds in there. I mean, and I'm not saying it to be funny, but I mean, because it is part of our other sister city to show, you know. Oh, the printed, the 30-pinted cranes? Yeah, the cranes, yeah. I forgot what they were. I know they're birds. The cranes, the cranes. The cranes, yeah. What's that? Well, that's kind of why I'm throwing it out here that maybe someone could just opt to take the lead on this and just make it happen. That's kind of why I'm throwing this out here. I don't know that our group has to thoroughly discuss every single little thing. Just make someone kind of the lead on this project and make it happen. Is there a, would there be a suggested cost limit? I know some of the gifts are already here, but, right?  But again, you know, Yunhu has already received those things and maybe those things we would give to Felix, but maybe whatever the other things are, there are maybe a little bit more value. Is there anyone out there or in here that would be willing to head that up? Well, first of all, should we do it? Okay, we should do it. Now we need someone to head it up. Well, I guess it dies from a lack of interest. So, pardon? Sarah, aren't most of the items here? Well, if we're just talking about the logo items, yes. But I think, as we were saying, we want to kind of go above and beyond because there's only two people there. You know, we're not having a dinner with all the stuff. And that's why it really could be a person can take this and make this as much out of this as they want to. Yeah, I don't think it should be a dead item. I just, I'm not sure what we should all put in there besides the city items and some pizza certificates. I'm not sure. I think I'd have to think about that. Maybe some other folks could maybe email you too if they think of something else. Well, that's why I'm saying I think one person should take a lead on it and I'm not volunteering to do that. Right. One person should take the lead on that and I will happily supply the logo items, but it's the whole concept of the what else. Yeah, I'm not real creative. I don't have a good imagination. I'm probably not the right one. I don't think it's got anything to do with imagination. It's just someone collected. It's need someone to collect the items and put together the gift bags. Yeah. Anything that- I'm gonna do it. Okay. It's in brainstorming. Okay, thank you. I appreciate that. Okay, so we're gonna go forward with the gift bags and- Okay, so Annie will take the lead. I will certainly help you. Yes? Okay. Thank you. Uh-huh. And then I will extend an invitation to those two to attend our November meeting to receive them. Okay. And if that's not doable, then I guess we'll figure something else out, but that'll be what I'll do. Right. Okay, thank you. This has been on the agenda before. Now that we know that we will be attempting to go to Essingen, we did not ever Essingen Fest this year. We didn't have many other opportunities. We thought about having a broad fry, which would have been coming this, and Essingen Fest is coming Sunday, which we're not having. So, I haven't heard much other than from Mark and Shar in the past about things that we could do. I think we, you know, we got to start thinking about some kind of fundraising, whether it's an online auction, I'm just throwing these out. I know other non-profits are starting to do online activities. You know, we do have an older group here, and I know a lot of us don't want to necessarily do a person-to-person broad fry because of that, but I'm not looking for complete answers, but I think we need to start thinking about some other fundraising options. And it got any thoughts out there? Patrick, you're pretty smart in this area. You're the only one that's got the video on, so that's why I picked on you. Give Pat some tickets, he can sell them. I have to share their videos so you guys can see each other. At the top of my head, I do not have any great ideas. I think we need to get through a mess that we're in right now and hopefully we figure something out. Okay. Maybe we do something early spring instead of a broad fry in spring instead of in fall to raise some money or, you know, I think a broad fry is an easy way to make money. I don't think an online auction, I don't know what we would have to sell. Hey, Rich, when does people-to-people usually have their broad fry? That's March? In March, yeah. And we haven't met, so I don't know what our future of our broad fry is this year. It's a lot going to depend on, you know, everything else, so. I have a couple of ideas. I have a couple of ideas.  You know, one of the reasons we're not at the meeting is we're social distancing. We're going to continue to social distance until probably Memorial Day weekend, more than likely. I don't see anything happening anywhere in the near future. First of all, about a third of the people will refuse to get a vaccination anyways. So this ain't going to go away anytime soon. I think if you want to do something online, fine, if you want to do something in person, I'm not interested. We've given up. Not until May. Yeah, not until May. May or June. If we would do something. Okay, well, that's very legitimate and I have some of the same feelings, but Ann? Yeah, I definitely share concerns about needing to social distance for a while from now as well. And so some of the ideas that come up in my mind that are things that maybe we could do to allow people to still socially distance are some kind of like drive through type way to show the arts, like, you know, there are a lot of great artists and musicians and things like that here in Sheboygan.  So maybe there's some kind of, some other kind of arts thing that we could do that would highlight people's international heritage or something, you know, like maybe there are, I don't know, paintings or other kinds of like visual arts that people would like to share that might reflect something international or that was inspired by something that's internationally related that we could do in some kind of similar way where maybe we could actually even Evergreen Park maybe in a different time of year than when the light show is or, you know, some spot where that's easy to drive through and drive through slowly. Maybe we could set something up so that people can, you know, still socially distance in their vehicles but still experience something. So I don't know what that would look like, but I just, I do think there are some opportunities that we could, where we could be creative in this kind of way to still kind of keep something international in but also, you know, ask for donations on the entrance or something like that to fundraise a little bit and also to keep spirits up in these difficult times. Okay, thanks. Yeah, I think, you know, just, you know, if you have ideas that send them to me or to Sarah, she'll get them to me and think about that. And I think part of the reason I wanted to do that, promoting other organizations that have interest relationships, you know, maybe we can get a little partnership or something like that and maybe we can get some ideas off of them. And as Annie was talking, that kind of got me thinking about how we can have the international aspect to something that would be, you know, people staying in their car and driving around, perhaps a scavenger hunt type of thing. There's lots of landmarks around the area that we could try to get people like, hey, go out to this spot, like Essling and Park. Go there and learn about whatever. And if that's just an awareness campaign or if we can somehow tie a monetary thing to it, that part we'd have to figure out, but. Yeah, I did that with my students at Teller Academy. I had them a city scavenger hunt. So I had them running all over town to figure out the old landmarks. So that is very doable. Yeah, good idea. Okay, thanks. Okay, well, just keep them coming.  We got stuff to do. So, okay. And the last one is Sabami's sister relationship. We were waiting for a letter to be drafted and I've not seen it yet and I have a difficult time getting in contact with the person who is going to do it. So therefore that keeps kind of on a back burner. The only other thing if we could find someone else who does understand and know Japanese and could maybe draft something for us. So any other business that come before this committee? Hearing none, I will entertain a motion for adjournment. Okay, Henry to adjourn. Is there a second? Second. Okay. Okay, we got four seconds. Very good. So, okay. All in favor signify by aye. Aye. Any opposition? Aye. Okay. Thank you very much. First Thursday in November is our next meeting and hopefully we can have either present just for a little bit our two foreign students from in Shibuya. Thanks a lot.