Around the city What do you see around the city? This video will help you describe various sites and sites you might see in a city. First let's check your vocabulary. Look at the pictures. You will have 5 seconds to guess and say the word in English. For example, you will see, you will say, traffic light. Ready? Let's begin. Item number 1. Street We can also say, avenue. Item number 2. Building or buildings. Item number 3. Crosswalk Some people might say, zebra crossing because of the stripes. Item number 4. Restaurant Item number 5. Supermarket Item number 6. Sidewalk Item number 7. Intersection Item number 8. Streetlight Item number 9. Street signs. Actually you will never see all of these street lights together. Item number 10. Traffic circle Some people might say, roundabout. Here are some other things you might see around the city. Say the words for pronunciation. Bank A bank is where you deposit money. Hospital A hospital is where you go when you're hurt or sick. Gas station A gas station is where you get gasoline for your car. Post office A post office is where you mail letters and packages. Store A store is where you can buy specialized items. For example, a computer store. Or a shoe store. Street market A street market is where individual vendors sell their goods to the public. Mall Or shopping mall A mall is a place where there are lots of shops or stores together. Convenience store A convenience store is where you can buy things 24 hours a day. Farmers market A farmers market is where you can buy fruits and vegetables. Park or playground A park or playground is a place where you can take kids or pets to play.  Traffic jam A traffic jam is where cars get stuck, especially during rush hours. City blocks We use the word block to talk about square or rectangular shaped areas between streets within cities. How many city blocks do you see in this picture? Note, you can see more pictures with vocabulary words and hear the pronunciation by clicking on the link in the description below. 2. Grammar, Context, and Conversation Now that you have learned and practiced the vocabulary, it's time to put the words into sentences. You can use the phrases, there is, and, there are, to talk about city sites. Is there a post office in your city? Yes, there is a post office on Main Street. Actually, there are two post offices in my city. There is one on Main Street and one on Center Street. Talk about sites, places, and sites, things you see in your neighborhood. In my city, town, neighborhood, there is a shopping mall downtown. There are many shops in the mall. Hocking time Pause the video and talk with your friends about things you see in your city or neighborhood. 4. Check your listening and vocabulary Can you remember what I said about various places in the city?  A post office is where you mail letters. Complete these sentences by matching the place with the information on the right. For example, a bank is a place where you deposit money. Check your answers.  A post office is a place where you mail letters and packages.  A convenience store is where you can buy things 24 hours a day. A gas station is where you get gasoline for your car. A store is a place where you might buy specialized items. A farmer's market is a place where you buy fruits and vegetables. A park or playground is where you take kids or pets to play. A shopping mall is a place where there are lots of stores or shops. Hope that was helpful. If you enjoyed this video, please click on the thumbs up, like button below. Also remember to subscribe to our channel for more lessons like these. Have a question for our next video? If you have a question or English topic you would like to learn about in another video, please submit it at the link below. We would love to make a video especially for you. Thanks for watching. For more information, please see the links in the description below.


So ladies and gentlemen, this is SPM Bars na tuko in the presence of her quinness, you don't meet her. Mambo vipit. Fitsano, freshi na shkoro. Kupua? Kabista. So lewa tuko apa because of why? Tell us. Lewa tuko apa because ni me sema, umkujemone veni, umkujemone greatness in the making. Umkujemone what it means to move to the next level as an event, as a festival and to anticipate and experience. Ya kubambasana. Ya kubambasana. So the event is Blanquet and Wine and Wine, right? So what, me ni kwanza koaliba, juwe kwanza? Eh eh, twanza tu apa? Eh ni ni niniform the name Blanquet and Wine hey. So Blanquet and Wine tuli,anzeshe in 2008, so 14 years ago. Na idea nikiya nikiya zisha blankets and wine ili kwa kukwen na space iya artist anapenda kupafum live Iza kupafum live to an audience directly Na iyo time it was like kama upo na imbaka puka basically Aunga pata show na Aunga play wakwa radio Na kuli kwa na asani wakali akina susano wiyo Eri kwa inaina yu nasi sayu ndo sotisolo ii kwa nanza So many artists myself because atu kwa tu na imbaka puka it's like tulikwatu lost So ni kwa wana na tu kitengeneza place wasani kama sisi Tuneza ita mafans wetu directly na wakuja na wa enjoy Na ili kwa na illa concept like iya picnic Ni daytime event wei kujana iyo masai shukayako As your blanket ya kuketi kwaniasi Wei kujana wainiako kama siwaini kujana electu wokunya Kam na ata picnic basketiako Wo lete vibes ni lete mziki tu changa nishetoneveni ita kwa And then it stuck And here we are 14 years later So I guess last year na last year but one will say mamukuwa So somebody that ame oneyo break So Sai is there anything new experience that they should expect From the other different ones? Exactly The first thing is we now have two stages For many years to makewa one stage Sai festival ikona two stages The second stage is women only DJ producers Ma de mwana produce mzikiya wana piyana ma DJ So na katumukuja mukuwa surprise like Level ya mziki Ma de mwakanya wana produce Second thing obviously ni a new venue That is at the next level That ime consider sana You are security You are parking You are convenience Lighting Venu ime je lewa The third thing ni to me level up from a team perspective In those two years Kitu interest end So I think that It is incorrect to say people are lazy I think What we can ask is what is the opportunity How do we occupy the opportunity now Ya that's it But no I don't agree that kenya nasi sa lazy So after blankets Once on blankets 2023 What are your new projects to take me out at last? First in 2023 na rudi studio I'm excited finally na rudi samziki Biashara ita kwa ime rudi on its feet Sasa na zengia studio Nikona so many projects actually Fanzuangu wa day one on na nidzua hip-hop Na onakwa na kumdem ulituwa I'm like ok ok ok Nimeskiya tu me kwa tuke unge na skam Kadinali I'm like ok na fans na nirudi na samziki Hip-hop projects Na tkapi na samziki House projects Na tkatu as in Na tkatu kumik muziki kwa wingi Isaturate Na jwa benye I want to put you on a touch spot 20 Oktoapa, Kali graf, John Sapa Chakum tu moja Wakadinali Kwanza uba mention kusu hip-hop Wakadinali Nimeinda na wakadinali I just wanted to Nimeinda na wakadinali Or Aya Oktoapa, Kaliapa Nimeinda na nyashinsiki Solaapa, Hatibandaapa Aaaaaa Man Hiii Aya ni gumum say Come on What's up All All Hiii Bituwa mbiki tu Bituwa na personal level What's How has motherhood been for you? Motherhood has been life changing Your life expands Like There's a Of course there's a big purpose to your life But now you recognize like You're a guardian to somebody And Uyumtoa me kuja apa With their own mission I'm a talker from God With their own mission Their own vision So I'm very aware that my job is to help them Come into their own mind And afa nyeile kitua me kuja kufanya apa ona Na nimepewa guardianship Siati Tini wangu nimte Ntote nwa mungu Mepua guardianship So imeni fanya like Very responsible Ima change my Ima deepen my relationship Definitely with God And Ima deepen my relationship with my mother Kumbesa hindiwa nimi ona Mama yamto Esimu yomto bwana Sa hindiwa ona kwa Nini watu wana fahitin yuki Tukana mama yao Nimi ona Sa tu kima liziya Swa liya musya kabisa What should people expect Tell them your funds Okay So Okay Ya I was lucky But here Ima ukusawa But here Okay fiti What you can expect Step one, 21st December Sherehe itanoga kunoga After that, 2023 Niiwi Kanapanda Expect concerts Expect festivals Expect music Expect collaborations Expect high level cooperation Expect people in the industry Expect us to move to the next level Thank you so much Absolutely Karibuni Tuna ne Tupata ne Blanketsu noen


Three European countries to supply 64 more Patriot missiles and 14 Leopard 2 tanks to Ukraine. Germany will urgently provide Ukraine with 64 more guided missiles for the Patriot air defense systems. German Defense Minister Boris Pissoria said it. This is a highly important sign to sustainably support the successful efforts of the Ukrainian armed forces to ensure air defense, especially now in this particular phase of the war, Pissoria said. The missiles will be supplied to Ukraine promptly. Besides, Ukraine will receive 14 more Leopard 2 combat tanks from its Western partners. The procurement of the tanks has been financed by Denmark and the Netherlands. The Handelsblatt wrote with reference to NATO sources. The sources report that the contracts for supplying Ukraine with additional Leopard 2 tanks were signed with the German armament concern Rheinmetall and the two countries have paid a three-digit sum. The German government, which is to approve the export of military equipment, was involved as well. The armed forces of Ukraine will receive the first Leopard 2 combat tanks in January 2024 and the contract must be fulfilled by the end of 2024. The Defense Ministers of Denmark and the Netherlands reported about their plans to supply Ukraine with combat tanks back in April. According to open information, Ukraine has received over 50 Leopard 2 tanks of different types in total. Earlier, taking into account first losses within the course of the Ukrainian counter-offensive, Andrei Melnik, Deputy Minister of Foreign Affairs, requested more Germany-produced tanks.


What's up everybody? Jason here for jasperjasecasebreak.com. We just sold out 23-24 panini, prison, basketball, hobby, six bucks, half-case, break, PYT, number seven guys Which is from a fresh case and here are the customers that are in your little character. So means you want that from a team filler And like I said Fresh case, oh love I'm feeling good to buddy so One two three for the left side four five six for the right side Five one two three four five six. So this half here will be for pick a team number Eight man. Hey, they're the future to be honest, right? Little extra luck man. Good luck to both of you Chris Murray Yolkich Jalen pick it For the nuggets to 125 Nathan with that one already a nice little color rookie That's what we want to see. We want to see color and rookies autograph Brannham for the Spurs Spurs that's going to Sean Mattick and then a little Malik monk for the Kings When a Tristan blue Scoot Anthony Davis to 199 Blue Janus Valentinas out of 60 and Tyson or hunter Tyson Autograph there for the Denver Nuggets That's going to Nathan again, and then Jalen pick it another one for the Denver Nuggets Yeah, it's the same dude from earlier blue cracked ice and not just a true blue and we already got our two. Wow Three autographs in this one guys That's a refractor or silver autograph of Brannham We're gonna get four autographs in this box Cam Whitmore silver Freaky Houston little raw Yannis under the combo Derek Lively hyper Victor women Yama, and we got a Michael bridges for the Nets One of Jordan to 175. All right after being robbed with so many autographs yesterday I'm happy. We got extra one in this box. All right Xbox Now in a bottle for the heat one of Jordan had a Jaren Jackson jr. Autograph and We got a Marquise Noel For the Raptors red number to 99 Raptors, but a Michael. You got a Mario Bailey silver little loot door for my thunder What a Jordan no a clown Lee and we got a dream on green red checkerboard 75 Devon Booker to 299 and Kaulari for the heat To 175 Sir Thompson Joe angles for the magic and a little job moran's for the Grizzlies But a Ronald wanted to jack some hyper. All right next box Old a depot for the thunder and we got a Seth Lundy autographs kind of streaky there, but That's one for Atlanta going to Jordan And a little John Stockton in 75 Scoot and the universe was a nice Derek lively 92 out of 175 for the Mavs That is going to Jordan So deep big wow look at that beautiful Golden State Wars Jordan little pods 197 out of 199 little color match blue Very nice, and then we got a Dyson dinosaur the pelicans And Jalen pick it for the Nuggets. Have yourself a break Nathan Maxwell Lewis Pagan Watson sense of all silver for the Utah Jazz. Oh Lamella 199 Well, we need Brandon Miller your teammate Max straws to 25 mojo Cavs that is going to Tristan. There's a Brandon Miller little Maxwell Lewis Jalen Brown and then tubeless Fulfill it at 199 response case on Chris Middleton to 175 Toby Brown magic Johnson for the Lakers. Oh, come on, man Jabari rice teaser, bro We're getting a Wemby tonight Didn't tease too much Thunder Odupo For the Lakers gave it to him and then we got a Omari more Hendricks and then Lulu All right, two more boxes guys. Oh My god, I think we got a mojo Mojo coming up Brandon Miller Bama de bio There might be a mojo autograph to he Andre Jackson jr. Mojo autograph for the Milwaukee Bucks 14 out of 25 Andy with that one Malik Visley a scoot Henderson silver Blaze blazer, sorry, that's going to Jordan It's got a pods color little scoot silver case on Wallace Pods Aaron Gordon County Johnson silver for the Thunder Kevin Knox for the Blazers Mohammed Grand Wilins for the Mavericks All righty guys last box here guys, so again second half is in the store almost in single digits guys So far this half has been nice, you know, we've been getting pretty much, you know All the autographs it looks like for the most part. You know got some good color rookies obviously Still want to do more though guys They said this is only a half case break. So I don't really know how great this case is and so We see what's in the second half last box here guys Another scoop Alan Iverson mojo coming up, too So blazers Deandre Aiden blue It's probably sells pretty well about that right there a little AI 76 is going to Jordan been shepherd There's been being a 199 for the Grizzlies Lebron fireworks silver Another Deandre eight into 149 I know you hit one for sure. I think it's only been one maybe I'm not too sure. I think one or two, but I think I might be one I have to double check right now. I don't know the deep of thunder even though Didn't stay on the thunder again Dearon Fox Grady dick hyper and Jordan Walsh Gigi Jackson Jordan Hawkins Call it whoa We actually got a gold rookie Taylor Hendricks six out of ten little color match, too Not too sure if he's any great, but Gold rookie prism is still a gold rookie prism And Utah Jazz going to Tristan. All right guys. Well, it's definitely half case so far has been a lot better than yesterday's case By far still another half to go guys could be a lot different for a lot of teams But some good color though, I will say in this first half now I feel like we were on a good streak of getting autographs, but if you might have slowed down a little bit Let me count how many we have We only have nine so that means we're cheated what three again. Yes, so maybe Let me double check and put them in different piles over here. All right. Well, there was one break There was one box that did have three autographs So maybe this is one of those cases that won't make up for it in other boxes because I did have that before on a fanatic slide case But yeah a lot of good color guys Obviously, you know, we did only get that one one being this half, but I feel a lot more in the second half You got that gold the mojo Alan Iverson You know, we got Derek lively white. We've got a scoot silver and then we got pods blue So there you go guys second half is in the store Let's do it tonight guys jazby's case breaks calm


We did not know he was special at the time. He didn't have the physical resume or physical stature of the other players, but there was something unique about this kid. At the end of the first workout, we had never been formally introduced. He tapped on my shoulder and he said, Alan, will you rebound for me because I don't leave the gym until I swish five free throws in a row. Swish five free throws in a row. For those of you that have never shot a basketball, and once again, I'm guessing that's the vast majority of you, that is a very high standard. A swish by definition is a perfect shot. It doesn't touch the rim. It doesn't touch the backboard. It gets the name from the sound it makes by going nothing but net. This young man was not going to leave the gym until he swished five in a row, which means he could have switched four in a row, still made the fifth one. But if it hit a little bit of the rim, he would still be mathematically perfect. He would still be five for five, but that wasn't good enough for him. He'd start over.


Did you miss out on that big football game last week? Can't get rid of that head cold? Want to get away from it all? CBS offers you escape. You are groping your way slowly through the dark hold of a ship at sea, moving carefully, step by step, searching intently for something you dread to find, because you know that this ship carries a cargo of death. The Columbia Broadcasting System and its affiliated stations presents Escape, produced and directed by William M. Robson, and carefully plotted to free you from the four walls of today for a half hour of high adventure. Tonight we escape to a harbor front in Venezuela and a grim voyage that started there as told by Martin Storm in his gripping story, a shipment of mute fate. I stopped on the wharf at La Guira and looked up the gang plank toward the Liner Chan cave standing quietly there at her moorings. The day was warm under a bright tropic sun when the harbor beyond the ship laid drowsy and silent. But all at once in the midst of these peaceful surroundings, a cold chill gripped me and I shivered with sudden dread, dread of the thing I was doing and was about to do. But too much had happened to turn back now. I'd gone too far to stop. Well, I set the box down on the edge of the wharf, placed it carefully so as to be in plain sight and within gunshot of the captain's bridge. And then I turned and started up the gang plank. I knew what I was going to do, but I couldn't forget that a certain pair of beady eyes were watching every move I made. Eyes that never blinked and never closed, just watched and waited. Oh, a biggy pot. Why? It's Mr. Warner. Hello, Mother Willis. How's the best-looking stewardess on the Seven Seas? Well, I'm fine, Mr. Warner. I guess I'd better run along now and get on with the show. Now, wait a minute. That's a fine greeting after two months. Well, it's just that I'm so busy. I don't believe a word of it. Sailing days tomorrow. You're simply avoiding me, that's all. Oh, no. Really, I'm not. And on the trip down from New York, you said I was your favorite passenger. But I'm only... Yeah, wait a minute. What's that you're carrying in your apron there? Oh, it's nothing. Just supplies. Supplies? Let's have a look. No, please. What do you know? It's a cat. It's Clara, Mr. Warner. Mr. Bowman said I had to leave her ashore. And I just couldn't. Who's Mr. Bowman? The new chief steward. Clara's been aboard with me for two years. And I just can't leave her here in a foreign country, especially with her condition. It's a delicate gnaw. Yeah, I see what you mean. Well, I hope you get away with it. You won't tell anyone. Well, as a matter of fact, if things don't work out right, we may both end up smuggling. I was on board on the trip down two months ago, Christopher. I'm very glad you're coming along with us on the run back to New York. Thanks, Captain Wood. There is one thing, though. I'm having a little trouble with the customsmen here, and I wondered if you might... I can't do it, Christopher. I just cabled your father this morning. Told him I'd done it for you if I possibly could. He sent it a question. New York, you know. Yeah, I thought he would. I wired him from upriver last week. I hate to refuse, but it's absolutely out of the question. What happened, Wood? I'm afraid I don't follow you there. Responsibility to the passenger's son. But have women and children aboard. On a liner, the safety of the passengers comes ahead of anything. But with proper precautions. Something might happen. I don't know what, but something might. You've carried worse things. There isn't anything worse. And any skipper of float will bear me out. Now, Christopher, I simply can't take the chance. And that's final. Final? Well, it wasn't final if I could do anything about it.  Two months of it. Heat, rain, insects, malaria. I'd gone clear in past the headwaters of the Oronoco. Traveled through country where every step along the jungle trail might be the last one. Oh, Sanchez. Yes, sir. We better start looking for a place to camp, and darken a little while. Yes, sir. Very soon we turn to river, camp on rocks by water. This very bad country. This very bad country. You've been saying that for ten days now. Very bad country. Yes, sir. This very bad country. Yeah, we'll skip it. For all the luck we've had so far, it might as well be Central Park. Central Park? I don't understand. Well, never mind. If we don't find something... Wait! Wait! Hey, what's the matter? Quiet now! Sanchez, what's wrong? They're in the path. Bushmaster! Bushmaster. The deadliest snake in the world. Bushmaster. Its Latin name was Lachesis muto. Mute fate. It lay there in the center of the path, a ten-foot length of silent death, coiled loosely in an undulent loop, ready to strike violently at the least movement. Here was the one snake that would go after any animal that walked, or any man. It lay there and watched us, not moving, afraid, ready for anything. The splotch of its colors stood out like some horrible, gaudy floor mat lying there on the brown background of the jungle, waiting for someone to step on it. Here was what I'd come 2,000 miles for. A bushmaster. Sanchez! I didn't want that snake killed. He's no kill, senior. He gone. Bushmaster, very smart, very quick, must always see bullet in time to dodge. Well, anyway, he's gone, and the only one we've seen in five weeks. Oh, we find the other. This very bad country. Well, lay off that gun the next time.  Why are you saying no shoot? You want Bushmaster. Sure, but I want it alive. Hombres a Cristo.  You're getting $200 for it? For dead man, what is $200? Tomorrow we go back to Caracas. I'll make it $500, Sanchez. I catch water snake, grattle snake, any other kind, but I no catch Bushmaster. Sanchez, I'll give you $1,000. We go back to Caracas. Well, it cost me $1,500, American dollars. But three days later, Sanchez brought me the snake in a rubber bag. He was shaking so hard, I thought for a moment the thing had struck him. One thing you make sure, Senor Warner, not turn him loose in Venezuela, because he know I the one who catch him, and he know where I live. All right, Sanchez, I'll keep an eye on him. Tambien, he know you pay me to catch him all the time he watch and wait. You no forget that, Senor Warner, because he no forget, not ever. Well, after going through all that trouble and danger and laying out $1,500, I wasn't going to let a pig-headed ship captain stop me at the last minute. At least not as long as the cables were still in operation between La Guira and New York. Morning, Captain Wood. Boy, at the hotel said you wanted to see me. That's right, Christopher. Sit down. Thank you. Seems you weren't willing to let matters stand the way we left them yesterday. I'm sorry to go over your head, Captain Wood, but I had to. The museum sent me all the way down here for it. And I'm not going to be stopped by red tape. This will be the only live Bushmaster ever brought to the United States. Yes, and if I had my way, well, orders are orders. I've got a cable from the head office this morning. All right. I suppose we talk about precautions. I'll handle it any way you say. Got to have a stronger box. That crate's too flimsy. What's stronger than it looks? And that wire screen on top, it'll hold a wildcat. But anyway, I bought a heavy sea chest this morning. I will put the crate inside of it. Sounds all right. You got a lock on it? Heavy padlock. It's fixed so that the lid can be propped open and cracked without unlocking it. The snake's got to have air. But in dirty weather, that lid stays shut. I'll take no chances. Fair enough. I will keep the thing in my inside cabin where I sleep. I can't have it in the baggage room. And nobody on board's to know about it. Whatever you say, Captain. But we won't have any trouble. After all, it's only an animal. It doesn't have any magical powers. I saw a Bushmaster in the zoo crack us once. Added in a glass cage with double walls. It'd never move. Just lay there. Look at you as long as you would in sight. Gave a man the creeps. I didn't know they had a Bushmaster at the Caracas Zoo. They don't. Now. Found the glass broken one morning and the snake gone. Night Watchman was dead. They never found out what happened. Well, the Watchman must have broken the glass by accident some way. The way they figured it, the glass was broken from the inside. Well, we sail in four hours. We steamed north into the Caribbean with perfect weather and a sea as smooth as an inland lake. The barometer dropped a little on the third day but cleared up overnight and left nothing worse than a heavy swell. But in spite of the calm seas and the pleasant weather, I found myself feeling more and more often an ominous foreboding. I was developing an almost unnatural fear of that snake. Well, I stayed clear of the passengers pretty much. Got the habit of dropping into Captain Wood's quarters several times a day. He kept the heavy box underneath his berth. I'd approach it quietly and shine my flashlight through the open crack. Never once could I catch that 12-foot devil asleep or even excited.  Waiting. He'd still be like that when I'd turn away to leave. Maybe that's what bothered me. That horrible and constant watchful waiting. What in the name of heaven was he waiting for? Well, hello there, Mr. Warner. Oh, how are you, Mother Willis? No, but you and the Captain spend an awful lot of time around this cabin. I'm beginning to think the two of you must have some guilty secrets. Oh, no, nothing like that, Mother Willis. I don't know about Captain Wood, but I... Well, I certainly don't have any guilty secrets. Well, she's running quite a swell out there, Mr. Bowman. Yeah, it's a little heavy, all right, Mr. Warner. Guess a storm passed through to the west of us yesterday when the glass dropped. Think it missed us, then, huh? Yeah, that's with the mate figures. Sure stirred up some water, though. This'll put half the passengers in their bunks. Makes it great for my department. Two-thirds of them will want a steward to hold their heads. They'll keep Mother Willis so busy she'll have... Wait, look at the size of that wave. Look, great jahus of it. We're gonna take it on the port bow. Well, that was a freak if there ever was one. Not another wave in sight. You see them like that sometimes, even in a calm sea. Well, I gotta get below, Mr. Warner. That water probably did some damage on the officer's deck. Yeah, I suppose it... What did you say? Uh, the wheel companion wave was open on the port side. Bridge cabins must have taken a pretty bad smashing up. Right below the, uh... Here, uh... Is something wrong, Mr. Warner? No, nothing at all, Mr. Warner. At least I hope not. I looked first for Captain Wood and couldn't find him. Of course, I knew it was only one chance in a thousand, but the chances against that freak wave were one in a thousand, too. Well, I couldn't waste any more time, so I stumbled down the companion way and along the passage to the captain's cabin.  Mother Willis. I've been in this cabin a mess trying to get some of these things out to dry. Yeah, well, I just wanted to check. Where's that box that was under the captain's... Screwed out on that, Mr.... But where? We didn't know. It was nearly dark when we met together again in a charge room. I don't get the thing at all. There's no other way around it. We've risked all the time we can. We've got to warn the passengers. Well, we do it, Captain. Call them all together in the lounge. No, if we did anything like that, we'd be asking for a panic. We'll get one, whether we ask for it or not. We'll get one and go through the cabin decks. Tell them individually, inside their cabins. Watch for any act that looks as though it might cause trouble. And we'll keep an eye on them. Handle the crew the same way. As soon as you've finished, arm all the deck offices and start searching again. Our only chance at preventing a riot is to find that damnable snake. The slow nightmare that followed grew worse by the hour. The ship was slept. All the ship's officers, not on duty, kept on with that endless search. Passengers locked themselves in their cabins or huddled together in the lounges, knowing all the time that no spot on board could be called safe. Fear was a heavy fog in the lungs of all of us. And every light on the vessel burned throughout the night. Morning came and brought no relief. Terror and tension mounted by the hour. There now, Mrs. Crane, stop getting yourself all worked up and go back to your cabin. The horrid things probably crawled overboard anyway. You're just saying that. You're paid to say it. You don't know. Nobody does. Now, now, everything's going to be all right. Or if you could only do something, if all of us could only get off the ship, they could fumigate it. Yes, that's what we've got to do. We've got to get off the ship. No, wait. Mr. Bowman. Mr. Bowman, she's going to jump. No, you don't, lady. Let me go! Let me go! Let me go! Nice work, Mr. Bowman.  Don't turn her loose. Well, you never know when it might strike you. You can't put on a coat or move a chair without risking your life. Now, something's got to be done. It might be right here in this lounge. All right, miss. You better quiet. Don't take it easy.  Why don't you do something about it? That thing might be crawling around here right under our feet somewhere.  Are you trying to start a panic? I've got a right to talk. I don't want to die. Nobody's going to tell me what... The second night passed and morning came around again. A gray and rainy day, just as grim and tense drag passed. And the night came down again. Third night of the terror. Again, every light burned and the whole ship seethed in the throes of incipient panic. Faced by a horror they'd never met on the sea before, crew and officers alike were on the verge of revolt. Passengers sat huddled in a trance-like stupor ready to scream at the slightest unknown sound. At seven bells, I made my way forward to the chart room and found Captain Wood bent over a desk. Hello, Christopher. Come on in. Sit down. Well, it's got to be somewhere, Captain Wood. It's got to be. I don't know. You could search this ship for six months and never touch all the places aboard. We can only hold out for two more days. We'll be in. What's the home office say? Well, here's the latest wireless from them. Keep quiet and keep coming. What else can we do? How is it on the decks? Pretty bad. Anything could happen. No. That's why I took the guns away from the men. One pistol shot and we'd never riot on our hands. Well, the whole thing's my fault, Captain Wood. That's what I can't forget. Take it easy. There's only some way I could pay for it myself, alone. No, I know how you feel, but it's no more your fault than mine, or the man who asked you to bring the snake back alive. Nobody planned this. You'd better try and get a little sleep. Sleep. Mr. Bowman made some coffee down in the steward's galley a while ago. You better go down and get yourself a cup and then rest up for a couple of hours. Rest? I can't rest. Christopher, it's no good going. What are you going to do? No, you can't help anything.  One way or another, we've got to hold out for two more days. The light was on in the steward's galley, and the coffee pot was standing on the stove. It was still warm, so I didn't bother to heat it. I'd pour it out a cup, carried it over and set it on the porcelain tabletop in the center of the room. I started to light a cigarette. The door of the pan cupboard beneath the sink was standing slightly ajar, and I happened to glance down toward it. Out from the dark interior of the cupboard shone two glittering points of light two inches apart. I dropped the cigarette and moved slowly backward. I'd found the bushmaster. As I moved, the snake slid out of the cupboard in a single, sinuous glide and drew back into a loose coil on the galley floor, never taking his eyes off me. I moved slowly back, waiting any moment for that deadly, slithering strike. How had he known it was me? He'd stayed quiet when Bowman was here. How did he know to pick the first time in three days when I didn't have a gun? My hands touched the wall behind me and I stopped. Only then I realized in terror what I'd done. The call button and the door were on the far side of the room. I'd backed into a dead end. I stared at the snake in fascination. Expecting any moment the ripping slash of those poisoned fangs. The horrid coils tightened a little and then were still again. Ten million years of evolution to produce this moment. Homo sapiens versus laxus muta. Man against mute fate. And all the odds were on fate. I knew then that I was going to die. I could feel a sweat run down between the painted wall and the palms of my hands pressed against it. My skin crawled and twisted and the pit of my stomach was as cold as ice. There was no sound but the rush of blood in my ears. The snake shifted again, drawing into a tighter coil. Always tighter. Why the devil didn't he get it over with? And then for just an instant his head veered away. Something moved over by the stove. I didn't dare turn to look at it. Slowly it moved out into my line of vision. There was a cat, that scrawny cat Clara that Mother Willis had sneaked aboard in La Guaira. His back was arched and every hair stood on end. It moved stiff-legged now, walking in a half-circle around the snake. The bushmaster shifted slowly and kept watching the cat. He tightened. He was going to strike at any second. He struck and missed. The cat was barely out of reach. Now she was walking back and forth again. She was asking to die. Missed again by a fraction of an inch. He was striking now without even going to a full coil. Missed again and again, always missing at the nearest margin. Each time the cat danced barely out of reach and each time she caught it with one precise spat of a dandy paw, bracing her skinny frame on three stiff legs. And then suddenly I realized what she was doing. The bushmaster was tiring. And one strike was just an instant slow.  That cat had deliberately blinded the snake. Well, he didn't bother to coil now, but slid after in a fury, striking wildly and rapidly, always missing.  Sank him in until a crunched bone. With tooth and claw, she clung as the monster's snake flailed and lashed on the floor, striving to get those hideous coils around her, trying to break her hold to shake off the slow and certain paralyzing breath that gradually crept over and at last stilled his struggles. Forever. I took a deep breath. In the first in minutes, the cat lay on her side on the floor, panting, resting from the fight just over. And she had a right to rest.  And maybe others as well. But as I turned toward the stove, I suddenly became very humble. And I knew all at once what a small thing a human being really is. I and others aboard were still alive only by the merest accident. There were three reasons why that cat had fought and killed the world's deadliest snake. And those three reasons came tottering out from under the stove on shaky little legs.  Up on the decks, hundreds of passengers were waiting for the news that the days and nights of terror were ended. And I could wait a little longer. I pulled open the doors of the cabinet, found a can of milk, and then I dropped down on my knees on the floor of the galley. Escape is produced and directed by William N. Robeson, and tonight brought you A Shipment of Mute Fate by Martin Storm, adapted for radio by Les Crutchfield with Jack Webb as Chris Warner, Raymond Lawrence as Captain Wood, and DJ Thompson as Mother Willis. The special musical score was conceived and conducted by Sy Fuhr. Next week... At the same time when you're tired from a hard day at the office or leaning over a hot stove all day when you want to get away from it all, CBS again offers you escape. Good night then until this same time next week when CBS again brings you escape. This is CBS, the Columbia Broadcasting System.


Let's talk about how to buy or sell a business for a hundred million ten million a hundred thousand Whatever the number is. I'm on the farm gym My rocky Balboa gym It's kind of cool It's a storm outside, but uh So I'll tell you from my experience, you know, I My first business I built or one of my first businesses I ended up selling it's like a nightlife business in North Carolina called triangle fiesta and you know, that was like a six-figure sale and I've bought businesses for Seven figures eight figures So I got a lot of experience in this and I'll tell you some stuff that I've learned that maybe helps you Let me first take it from the standpoint if you own a business now or if you're starting a business How to maximize it to sell it so And like I said, I bought a lot of stuff bought recently. I bought bodybuilding calm. That was a business that I Won't it's private company, but it's big business big brand and I'll just like I said starting I give you experience from little businesses all the way up to the big businesses that I bought that We're doing nine figures in revenue when I bought them or selling a business Here's the first thing you need to know if you own a business You should build it from day one that the in a certain way doing a certain couple little Techniques that make it easier to sell So number one you need to structure the accounting correctly makes it easier to sell Accounting is usually entrepreneurs least favorite thing to do because it's not that creative and fun but if you build the business and You can't back up the numbers and you specifically here's the simple answer to this Don't trust the first accountant that says there just because there's CPA doesn't mean they're gonna do it, right? Find an accountant. That's actually Worked and help people sell businesses because you need things if you can get your financials audited That's great. You can't always afford that if you have a public company obviously you can but smaller businesses You can't but treat the business as if you want audited financials Try to use better software now net suite is kind of a gold standard for building Your accounting around it's expensive. So some people use simpler things like quick books I've used both if you can afford it and you're investing in your business and you if there's anywhere you want to invest Should be in the accounting bookkeeping side. So some practical things, you know offshore like in the Philippines You can find real CPAs. I'm kind of American trained CPAs That can do your bookkeeping for much cheaper And then I would recommend you have an accountant oversee them That's in your country. So if you're American you have a US CPA set this stuff up, right? Pay attention once a month minimum do a zoom with your account Even if it costs extra money and say I want these books to be perfectly set up Make sure your chart of account is set up. Well So that's kind of number one invest time energy and money above average Comparatively to the average entrepreneur from day one on your accounting. Okay number two the legal structure now This is a complicated. I you know, I've have many Structures to businesses some very complicated and some I've started with some simple LLCs what I'll tell you is this Simple make sure you have a nice dropbox where you store all your articles of incorporation all that stuff Believe it or not simple things like that can scare away a potential buyer of your business So somebody comes and you build a business even if it's small business medium large if they ask you on day one Can you show me kind of the structure in the accounting if it takes you two weeks to produce? Even if you've done nothing wrong, it's gonna scare them off. They're gonna be like, oh, why can't they instantly produce it? So even with your legal, I set up a nice dropbox structure have all the contracts You know how contracts folder articles of incorporation folder just simple stuff I know this sounds super cliche, but selling a business is There's a lot of emotion to it and people are taking a risk of maybe giving you millions of dollars to own your business And they're always looking for a reason not to buy your business People get spooked very easily very easily. Okay, so if you want to sell the business for a maximum You want your bookkeeping above-average? Attentions been paid from day one your legal all the legal stuff is nicely set up. Okay In just a dropbox that you could share or you could create a data room for that the third thing um you want to invest in people and What that means is don't just build the business you need to be probably a CEO of your business But really you want to also sell when you go to sell the business that if you leave This thing's gonna run on its own because you built a nice team that again takes investment dealing with frustration You're probably you know the old saying If you want something done right do it yourself Well, that doesn't apply if you want to sell your business for the maximum price because People know even if they ask you to stay on and do an earn out. It's called They still are looking for a business that's somewhat at some point will be able to run without you because they're buying you out So when it comes to selling the business You're gonna have to take the time now on average You're gonna have for like a CEO or a CEO or a cfo you're gonna need to kiss a lot of frogs So from day one building your business be committed to to hiring and firing fast higher fast You probably need a 10 to 1 ratio for leadership But most people give up and say i'm just gonna do this business myself But when you go to sell the business it's much less valuable Then if you had taken the time kissed a lot of frogs hired a lot of people fired a lot of people until you were left With you don't need 10 amazing executives. You need like two besides you. I like to think in threes Okay, that way if somebody's on vacation or leaves, you always have two a redundant system kind of like belt and suspenders So my advice is try to build an executive team of three people so that when you exit And they send you a check or a wire for that business. They know they have two people staying on Okay And even when you build executive Compensation for those people Have some kind of clause where if you leave there are even more instead of eyes to stay on you don't want them to exit With you necessarily which sometimes happen, but that's for a more advanced conversation the fourth thing I would say Is you want to build a combination all good brands now a days or big brands are somewhat personal brands Elon musk sub teslas somewhat a personal brand He uses his personal imagery to grow this brand. It's his personal jenis a quat okay, so zuckerberg You know bill gates. You most of us know these Warren Buffett So these big brand you want to build a brand that has an aspect to you personally Maybe you're using social media to grow it.  By the way, if you're looking to sell your company I do consulting to connect people with the best business brokers Globally, so i'm going to put a link below or on the side here If you want to sell a company that you own Um, go here fill out this quick form put in the info and i'll tell you I can even give you my estimate of what you'd be able to sell your business and i'll help you connect you Uh to the right business broker, okay? So go here or go to tylopes.com slash podcast Sell a company tylopes.com slash podcast Sell a company it'll redirect you to a simple application Let me give you I I don't always have time to do everyone but Um, I can give you if you've got an establishment if you got a new business Never made a dollar don't go to this website But you've got a business even if you're only doing a hundred grand a year or a million I've helped people find the right business broker. I'm working on One of my followers. They had a family business and I don't want to jinx it But they've got I helped them connect to the right business broker And they've got an offer for more than 50 million dollars In their business now that's an exceptional case but You'd be surprised sometimes There's somebody out there who wants to buy your company even if it's only doing a hundred grand a year The sweet spot is if you're kind of hit, you know 500,000 to 5 million a year if you're beyond that I can put you with some different business brokers that can at least shop it around It's always good to shop your business kind of like you have a piece of real estate get it appraised You can get it appraised sometimes, you know real estate and you can pull You can refi and pull some cash out, but in the business case, it also encourages you So if you have a business Click on the link below or if you're listening audio tylopez.com slash podcast sell a company Let me get you a quote from a business broker on what they think your business might be worth and if they can Potentially sell it sometimes you can do a partial sale or a full sale if you love the business But super important even if you're not ready to sell get a quote So tylopez.com slash podcast sell a company type that in or click the link here now A couple other things on selling a business When the time comes You want to use the right business broker even if somebody comes to you Out of the blue or directly to you and says I will buy your company for 100 grand a million 10 million 100 million whatever Get a business broker to shop it around you can put a carve out that existing offers you have They won't get a commission on because sometimes you've got to read the contract Sometimes business brokers will be like any sale I get my commission But don't it usually most business brokers.  There's mo use which is memorandum understanding. That's a different concept loi or term sheet. It's kind of a term that people use in this industry And in general, um, you want to get three of those now. It's not always the case. Sometimes you'll get 20 Okay, sometimes you'll get zero sometimes you get one But in general, even if you have a direct offer on your business a mistake I see people doing is about well, you know, my friend's friend offered me 100 grand Send it to a business broker if you sign a contract say carve out I've got these three people that already made offers If I go with them you get nothing and you can even put the names of those potential people in the contract Talk to a lawyer on that But you want three offers. It's kind of like if you're getting married You want to probably have gone on three dates with three different. I mean with a date with three different people So, you know you want an hindsight go what if Okay So that's where a business broker has become important. You can also use social media and advertise your business yourself That the good thing about some kind of professional helping you is you can get them to sign a confidentiality You don't always want to be putting on your social media. Here's my data room login Here's all my info in here Like then you're going to get your competition Seeing all your trade secrets. So it's sometimes good the thing about a business broker is you can get or or some kind of professional You can use a lawyer sometimes They can get that element you can get people to sign an nda more confidentiality than just shouting it from the rooftops Sometimes it's fine to shout it but depends on your personality Some people you have trade secrets and you don't want people poaching your employees and stuff like that It's better to have some professional help you now. Let's talk for a second about buying a company That's a whole nother video As I started the video. I was like, uh, this is longer. I'm only Is late at night But let me just say this on buying companies a couple three little pointers on buying companies Buyer beware almost always when I buy a company, I'm assuming there's some things they didn't disclose So if you get a rosy picture that this business is doing great and it's making millions and that then you got to Why are they even selling it? Usually there's something wrong expect it I bought a business not too long ago and it had, you know, five million of bills that were undisclosed three or four or five I forget the exact number but But I wasn't shocked because I knew when people are selling a business they often have Some skeletons in the closet. So you need to go into it expecting it What your job in your due diligence phase is to be sure there's no insanely large skeletons in the closet The insanely ones are what'll get you Okay, so you need to allow If it's a 10 million dollar asset, it's probably should allow that there's three million Of negative that they've not disclosed if you do your due diligence, you're never going to be able to negate all risks So that's why I said buy or beware. They're usually not telling you something even if they're ethical They want to paint the rosy picture number two try to get some kind of payment over time That way if there was a lie to you you haven't given them all the money because it's not always easy to get the money back In reality, so You buy a business, you know, you go out you say, look, I'll pay you an x amount of payments. Okay And number three When you can get seller financing, which kind of goes along with number two But number two, even if you're not using seller financing and you have all the cash yourself Try to not wire it all at once because of number one buyer beware So that's a simple way to protect you that sometimes is better than all the legal contracts in the world Um, you know, number three get a seller note. That's where they let's say a business is 100 grand You give 20 grand upfront and they finance it and you pay them in payments the rest of the 80 grand that accomplishes number two and Spreads the risk and also there's an element of leverage there which can be okay and try to not number four Don't you know in general don't personally guarantee that seller's note So that if you find out the business is junk and you've made some payments You can cut your losses. They'll get the business back Now this is more intricacy if you're using the business as collateral not everybody will do this but Anyway, if you want to buy a business you can also I can connect you with business brokers So same link i'll put in the corners or below here or tidalopis.com Slash podcast sell a company that'll take you to the same uh Sorry tidalopis.com slash buy a podcast buy a company tidalopis.com Slash podcast buy a company That'll take you to the link to where you can fill out what kind of business you're looking for I can connect you with business brokers globally that you can kind of see You know if you want a restaurant a laundry man a car wash an online business an amazon business There's brokers out there that specialize and sometimes it makes sense to buy a company to Kind of supercharge your business you can buy I recommend, you know, you want to buy a business that your current staff your current expertise Another business in the mix doesn't confuse it. It's center. It adds a synergy. There's a lot of you know Efficiencies of scale so try to look for something if you want A business broker. I can connect you to one So yeah, you know buying businesses is the kind of final frontier of business you look at You know Louis Vuitton wealthiest guy in the world He bought like 50 or 60 companies to build his empire. Elon Musk bought tesla You know, he didn't build it from scratch. So there's a power in buying a company It's a power in selling a company. Elon Musk sold his first company for I think 20 30 million bucks That leverage that gave him the power to do his next thing. So you know Business falling in love with your business is good, but it's okay to be in the mentality of You know, you build stuff you sell it and you maybe buy something else or build something from scratch that kind of fluid understanding Of of the business and a lot of entrepreneurs is so attached to one business kind of lose perspective It's okay to build a business and it's your baby But it's also okay to add on by buying other businesses that other people built And it's also okay to sell a business, you know, but get a quote So you at least can do the math and do the You know, you could compare the cash you're gonna get And that present value kind of calculation, which tells you am I better keeping it and getting profit over here for my existing business? Or am I better Selling it and getting a large lump sum now, even if it's a discounted number to the future flow The future some the sum of future cash flows in the same way. Do you want to buy a business? Well, do the math on the time an opportunity cost It'll take to build that brand versus just buying it on day one and being in business hypercharge your business. So anyway If you're looking to buy a business or sell a business tylovis.com Slash podcast sell a company if you want to buy one tylovis.com slash podcast buy a company So see you there. Hopefully this gave you a few pointers. Put a comment below What do you think is something I left out that's super important in building a company that you can sell? Or leave a comment on, you know, what's something I left out? That's super important when you go out to buy a company from your experience. So I hit the finish up the gym here too much talking


Now we have the keynotes, the closing keynotes, Martin all over to you. Right, well I'm really happy to see quite a few people stayed right to the end. It's really an honour to be asked to be the closing keynotes speaker when representing. I was going to say, you know, it's something completely different, but I can't really say that now. We had two solutions in the Jugalbandi. Anyway, I'm definitely coming back next year. This is becoming one of my favourite times of the year, coming to India in September. Will it be in September? Yeah. So now I'm going to try and tell you a little bit about some features we've just added to Dialogue APL about a year ago. They're not very dissimilar to futures that are in other languages like Clojure, but the difference in flavour is probably that we have arrays of these things because as APL programmers we see everything as arrays. I'm going to, very quickly, I may not need to do this now that both I and Jay showed you some APL a few minutes ago, but I think I'll spend a few minutes just showing you APL. How many people were at my talk last year and sort of remember how APL works? No, not that many. So I'll spend just a few minutes on that. Then despite the fact that we have all these parallel array oriented language features in APL, it turns out they don't really allow us to achieve this goal of putting parallel hardware at the fingertips of all these domain expert users that we have using APL. And then explain a little bit about how we arrived at the proposed solution and talk about what we're doing. So, very brief APL refresher. I think this is one of my slides from last year. So the syntax of APL is really very, very simple there. It's only, you know, you can't even fill a complete page with the different forms. Either you have an array which is typically created by juxtaposing items of data with spaces in between them, or you have a function followed by one argument. This is the index generator. So iota 6 returns the numbers from 1 to 6. Or you have a function with a left argument and a right argument. And the map is typically implicit in most of these functions. Not all of them. Map is implicit. So this is adding item-wise on the left and right. Then we have things that we call operators that you would normally refer to as higher order functions. So this slash here is an operator we call it, which takes this function multiplication as the left operand and produces times reduction in this case. So this is the product of all those elements. Then with the reduction with a number on the left gives you a sliding window. So this is the sum with the window size of 2 reduction going through the array. And all of these extend to higher rank arrays as well. It's not just vectors. Then we have things like the inner product. So this is the vector product where you're multiplying elements. You're mapping the multiplication and then doing a plus reduction at the end. So that's the regular vector product from mathematics. And then finally indexing. And one thing which is a bit different again about APL is you can index with an array and you get a result back which is the same shape as the index array. So let's just very briefly play a little bit with this. So here's my interactive APL session. It's the font size about right. I'll try and bring it up. See if I can get away with that. So if you're trying learning APL we have the language bar with all this. We use these symbols. You can basically see all of them up here now. So students of APL tend to just hover along this thing and get the definition of each one of these functions. And win programming competitions doing that. So here's a matrix. The 3 by 4 reshape of iota 12 is as close as you'll get to a type declaration in APL. I want a two dimensional array of integers here. And then the map is usually implicit but if you want better control, I mean you have each left and each right in some languages. This is an operator called rank. So we're multiplying and we're saying we want a left rank of 1 and a right rank of 0. So take vectors from the left and scalars from the right. So it's multiplying each element on the right with an entire row on the left. So we can control exactly how we split the arrays up and match the items when we do the map. We have outer products. So combining all the elements. Every item here has been paired with every other item there using this function. So that gives you the little multiplication table when you use the numbers from 1 to 10. Here's the vector product that we saw before. But in APL, this is a general construct. So this is not just vector product. This is the specific case of plus dot times. You could also do a plus dot not equals. So if I make a 2 by 5 array with these characters, Italy and Benin, and say how many are different from India, I get 4 for each because there's only one letter that matches in each of the rows. So we have these generalizations rather than specific matrix multiplication, vector multiplication, and so on. Reduction we talked about. And of course the definition of the vector product could also be written like this. It's the map of multiplication and then the plus reduction. Something we've added very recently, which is also inherently a very parallel operator, is an operator called key, which takes a function on the left and keys and values. And it then, for each unique key, it calls this function with the key as the left argument alpha and all the data items corresponding to that key as the right argument. So if we have a function here that says, give me the key and the sum of the data item. This is a group by select, sum, right argument, group by left argument. And I don't know that we can quite run this as fast as Julia, but this is a dynamic interpreted language. I'm generating 100 million random numbers and doing the frequency count by saying, just count the unique items for each distinct key. So when I don't provide a left argument with the key, it uses the right argument and the indices, possibly indices is the data. So we have all these forms. And yet, oh yeah, if you want to see more of the talk that I did here last year, I got some really good feedback from Ryan Lemmer, who was here. And that helped me turn it into what became a talk which was recorded by Google about two months ago. So if you want to see an improved version of that, thanks to Ryan, go to the YouTube Google Talks channel and look for that talk. And that's about an hour and then half an hour of grilling by Google engineers at the end of it. So we have all these things where we can... The user only has to write a few symbols and then the interpreter just does all this looping through to produce lots of stuff in parallel. We have implicit map. We have implicit if you have a user defined function, something which doesn't just implicitly map, you can ask for things to be mapped. And of course reductions and scans can be broken down and parallelized as well. So you would think, you know, we're pretty much there. We also have asynchronous language features. So we've had these for about 20 years that the user can launch a function in a separate thread and then wait for the result and you can have critical sections and batches and semaphores and so on. But we still had to do something last year, you know. We can't just rest on our laurels. And why is that? Well, the existing time slicing with a threading function is actually... we're actually cheating. We only have one OS thread like some of the older languages. We have an interpreter call that's 30 years old and we can't really reasonably refactor it to be thread safe in a short amount of time with an acceptable bug curve. But also when you think about it and you read books by experts on concurrency, it seems quite clear that, you know, if programming with threads and locks is so hard for real software engineers, our domain experts, our factories and our petroleum engineers and chemical engineers who are using the product won't stand a chance with those things. Now, of course, we can thread all that implicit stuff and we have done work on that. So I think I'm going to have to bring the... So if you're working with large arrays, you can do things, you can ask the computer, well, how many threads have I got? Please use four of them in parallel when there are large array operations. You can set a threshold at which, if you're doing large floating-point array operations, the APL interpreter will just automatically go into that. We don't do that automatically because you might be running on a server where you're competing with other users for resources and you don't want to just automatically go off and multi-thread stuff. If the machine's already running at 100% CPU utilization, there's no point to do that. But just to show the performance that you can get if you have a dedicated workstation. So here are two arrays that are... One of them is at this above the threshold and one of them has done a negative one drop and dropped the last item off. So these two vectors called single are just so short that if we benchmark them, they'll run single-threaded whereas the other ones will run multi-threaded. So for plus, adding two vectors together, we actually get a slight slowdown and that's because the chip can add numbers up so fast that you just get the memory bottleneck and contention and things don't speed up at all. I think you'll get this kind of result in just about any typical multi-core machine today. Things get a bit better if we do division. There's a bit more work for the CPUs to do between each piece of data that arrives. Actually, we got about a third. And then if you go off and do something like take the A logarithm of B, which is really hard work, you might get a little bit more than double the speed on this kind of machine. So it turns out that although you can get those speed ups, actually a few applications where there's a significant quantity of this kind of data power isn't going on. There'll be some of it. For some applications they can get significant speed up from that. There's fluid dynamics, image manipulations and so on where these effects work. But for most of our users who are doing things like asset management and risk calculations, they'll only have a few sections of their code where they can benefit from that. So paralyzing SIMD primitives that are executed sequentially doesn't help much. We are funding work at a university to have a compiler written for APL J is who also appears working on doing data flow analysis and trying to do compiling in the interpreter. But idiomatic APL is shape, type and rank invariant. So it's really hard for a compiler to understand how to do this. We could add optional type declarations we'll probably do that. But we need something more in the short term to really help people use the course that they now have available to them. We actually need to ask the user to help to give us some hints. The user knows how big the arrays are whether parallel threads or cores are available. So we needed to come up with some new language features that would make it easy for the user to express optionally asynchronous sections of algorithms without using the traditional locks, semaphores and so on. So it turns out that there is actually one more parallel form that Dialog APL has that the other APL interpreters don't have. And that's because about 20 years ago we started working with objects. And we have a thing that we call a namespace I think in traditional jargon it would be a dynamic object. So I just created a space with a built-in function called NS and into that I can insert anything that I want. It's a dynamic container. I can insert any code variables into it as I wish. And I can refer to it of course. And I can execute expressions inside of it. So I can't just refer to its properties but if I put a parenthesis after the dot I can execute any APL language expression in the context of this space. And I could create another one and let's put a slightly smaller matrix into that one just a two by three. And now I can catenate these two spaces together and call it NSS. So NSS is now an array of two namespaces. And we decided that arrays are not objects in APL. Arrays are more important to us than objects. So when you put the dots after an array of objects that's a reference to each of the objects inside the array. So this is now executing that expression inside both of those. So we have the matrix catenated the sum of each row. So this expression to catenate the sum of each row to the matrix has been executed inside each one of these spaces. So in APL if you have an array of in dialog APL specifically if you have an array of objects dot expression that's an implicit map operation. I don't know if there are other there may be one or two other languages that do something like that. Does anybody know of a language that uses that syntax? The only one I'm aware of is SQL. Because in SQL if you say something like this it's a reference to the collection of rows that are in the table. So it's actually executing that expression if you like on each object in the table. The comments are unfortunately appearing off the size side but I think it's better to keep a high font size. So what we thought was what if we came up with a function that we call isolate. Which if you apply it to a namespace it creates an isolated namespace which is to all intents and purposes it's right here I can still do the same kind of thing in it but when the expressions are executed it's happening asynchronously. So they are actually isolated from the main body of the interpreter. In the current model they actually run in a separate process that's been started for that purpose. Now if all you could do was to block and wait for all of those results to be computed in parallel that would still be interesting. But this is actually a two-step process the result of each one of those expressions is immediately returned as a future no matter how long the expression takes to execute. So we immediately get an array of two futures back but because I decided to display them in the session the system had to block on the futures until they were materialized and then display them in the session. And the same thing here I have my array of two isolates I call the delay function in APL this is a built-in function called quaddl so I called it with an argument of four on the first isolate and six on the second isolate. I'll do that again. So we have to wait for six seconds since we displayed them both we have to wait until they've all materialized and then we get the result back. But if I were to assign them to an array I can immediately say well how many are there and if I ask for the first one I mean well I talked too much so five seconds had passed and I immediately saw the result. I'll just do that again. So I wait, I ask how many there are I ask for the first one I have to wait until five seconds have passed and if I ask to see the whole array I now have to wait until the whole thing is materialized. So I can decide whether I want to wait on them individually or there are also functions you can call to ask which ones are ready if you're a service that can't afford to block and so on. But this is sort of the key to the whole idea that you get these arrays of futures back. So just to recap what was happening there we have our main workspaces we call it an APL where all our data is the working storage. If I execute this expression to say I want three isolates in this case not passing namespaces but just three empty arrays as arguments it sort of creates this illusion that my workspace has been extended with these namespaces and I can do things like say well assign to x a three element vector that does a distributed assignment because there are three objects on the left and a three element array on the right it assigns x to these three different values and then when I execute a statement like well compute the average of x inside each namespace those expressions run in parallel. So just to give us an example to play with here's a mathematical definition two numbers are coprime if they have no common factors in APL you can write that because the or boolean or function has been extended to more complex types as the greatest common denominator if I can say if one is equal to the greatest common denominator of my two arguments they are therefore coprime and of course creating explicit isolates as we saw before is all very well but if all you want to do is just execute a function like that that's expensive on a large array of arguments you don't really want to go through the process of creating all those isolates so we propose a new operator called parallel which if you say function parallel that will automatically create an isolate containing just that one function execute it and return a future and then discard the isolate so say we wanted to count all the coprimes smaller than n for n equals one to ten in APL we could say one equals omega gcd and that would be one of the numbers up to omega so that's if they're equal to one then those numbers up to omega are coprime and apply that with each operator to the numbers from one to ten and that would give us a vector like this now that we have the parallel operator the user can say well I happen to know this thing is it has no side effect you can safely run it in parallel and just insert the parallel operator there into the interpreter the hint that these things are safely parallelizable we get the same result of course which is one of the really important things and of course futures we saw that we could we could ask for the shape of an array containing futures the interpreter the primitives don't block until they actually need a value we can also pass arrays containing futures around as arguments to other functions it doesn't happen until somebody actually needs the numeric value of something for example so we could do something like we could say we want to do this computation we saw before on the numbers one to a hundred immediately get an array of a hundred futures back ask how many are there a hundred we could partition it so I'm creating a hundred element vector here with a one every 25 elements and then using that as a mark as a mask to splice up my data into four pieces of 25 each because I have an idea that these things will materialize at different times I can see I have so none of this is blocked yet because I haven't asked any questions that require the actual value of it but then I say well I'd like to compute the average of each one of those 25 numbers and I'll launch that computation in parallel threads as well so that'll then start for parallel threads each one of which will wait for its 25 inputs to materialize before it runs so by inserting those two parallels there we have been using 105 threads to do this computation under the user's control and just to show that actually running here's our task is to fill up the fish tank I just installed windows 10 on this machine and I found to my utter dismay just before coming here to do this presentation that even when I'm running all four cores it only says about 30% I don't understand so here's our co-prime ratio so we're not just going to count how many co-primes there are less than the right argument but we're going to express that as a fraction of the number itself so how large a percentage or fraction of the numbers less than omega are co-prime so for one it's all of them for two it's half of them and so on up to 10 so we're generating a floating point number here for each number and here's a little function I want to get the minimum the min reduction catenated with the max reductions is something we call a fork so you have two functions that are both applied to the right argument and then a joining function which could be anything but in this case is catenate so if I ask for the min max of co-prime ratio I'm getting the smallest and the largest now this is all very fast for small numbers but of course as the numbers get bigger this all slows down so that's still very fast 10,000 you still can't really tell 100,000 it's a bit of a delay there so let's do 200 numbers in the in the 100,000 ratio and we'll see that I don't know how many 100 million GCD computations we're doing but by default of course although we do that with each you see only one of the cores was in use this is an i7 so I guess it really has two two cores that are multi-threading and in current APL we haven't actually implemented that parallel primitive as I displayed it on the slide but parallel each has been given this name you see it looks a little bit like a parallel and each so this is a valid name for a user defined operator in APL a defined one which gives the same effect for the user while the users are playing with this so they can give us some feedback on whether this is really would come up with a good language design and you see that runs it did I mean this was using all the cores on the machine but it still only gave a peak at about a third but you see it ran in a bit under half the time which is sort of par for for this kind of laptop you can't go much higher than that because you're getting memory contention between the CPUs we're using quite a large amount of memory here generating those arrays and of course the good news is that the results are identical they are the and reduction of the element-wise equals is one okay so the thing that's really important to us about this design is that it gives us deterministic parallelism so if we have this is the shortened version of the code that we had up on the slide before we're creating a hundred partial results dividing them up into quarters computing the average of each one and getting this number here the really important thing to us is that we can insert or remove without it changing the meaning of the expression and since APL is very often used as specification language a mathematical description of the problem to be solved rather than just as a traditional programming language we think this is really important to our users you can sprinkle these things in your code where you think there is parallelism you can measure the performance find out whether it's a good idea complain to us that we're not scheduling it but you can continue to use APL as a notation as long as your functions actually have no side effects of course if these things are doing oracle database insertions in there which is not something that we can easily always detect they may be doing it in a very indirect fashion by communicating with some web service so we can't see what's going on out there so it's up to the user to make the statement that this is safe and of course if you don't have errors because if you execute a function that returns the future and you never refer to the result you might actually have errors occurring in your code and never detect it because the future is returned immediately when the tree falls in the forest and there's no one there to hear it it might actually change the behavior of your code if it needs to trap errors so in the it's a model implementation at the moment that is the futures are fully implemented in the interpreter because it needs to decide when to block on something but all the machinery for manufacturing the isolates and launching function calls in them is still written in APL actually launches new processes connected to TCP so in the future we imagine we might very much optimize how that's done with very completely separate purposes use other communication forms in TCP but of course the TCP allows us to run isolate servers on other machines so you can create a farm very easily with these things the full model implementation has more of these combinations so the parallel forms that we looked at earlier so for example you can do a parallel a key parallel rank and a parallel outer product using creatively selected names if you don't like those they have very traditional names as well that you can use I know some of my American friends are rather annoyed at me for picking these names which I can all type on my Danish keyboard without any problems but I feel I'm just getting getting my own back for 30 years of having to live with dollar signs and things that weren't on my keyboard if you want to read more about this it's a model but it's fully documented on our website and there are videos demonstrating their use much more extensively how to use all the infrastructure management functions to decide how many processes to start whether to start them on other machines and so on so apart from the obvious things like once we get the feedback from the users which so far is pretty good in terms of the design implementing this much more efficiently and then sort of all the obvious things like giving users knobs to twiddle on to optimize the use of processes fault tolerance, queue batch management and so on because as soon as you start using this you actually want to be able to schedule things and declare dependencies and so on but we also want to make sure for the casual user who just needs to insert that one or two parallels in their code to speed things up in a small application that's all there already we have ideas for promises so where you create a future explicitly rather than just having it created implicitly by making a call in an isolate it immediately leads to although APL is a very eager language at heart we could have an operator where you can give a function as an operand to an operator the Schrodinger operator is the internal name for this now because you could have a function that tells you whether the cat is alive or dead pass it as a left operand to this function you wouldn't evaluate it until you actually asked you could have an array of 10 cats which were futures but the fate of the cat would not be determined until you reference the ifh item of the array and the work that's been done at Indiana University by Aaron Zoo who we are cooperating with here he contributed to the design of this because he's planning to use this compiler where he'll be able to do data flow analysis at a very finely grained level so that gives a whole if he's successful with that it gives a whole bunch of new opportunities so far in the typical results with this current naive model achieved by domain experts mostly refactoring their own code sometimes with a consultant to help them for a day to get started is sort of what you would expect I mean most machines are doing hyper threading they don't really have the number of cores that they claim to have when the pedal hits the metal but these numbers are definitely worth having the people who are doing writing actual applications and so on your mileage will vary a lot depending on whether you're doing enough number crunching compared to your memory consumption and we're waiting for the compiler they're also quite fun you can do crazy things like sit on a Mac and create Windows UI on a remote computer with this there are functions to I'm going to show you video in a second which shows what happened when you start you have two Raspberry Pi controlled robots you start an isolate server on each one and now you can just have bot one and bot two as objects in your in your workspace you know add the servers they have these IP addresses 101 clone your bot control namespace that your code gets copied out onto the Raspberry Pi and then you could write an expression like this so bots is now a two element vector of objects corresponding to the two robots and you can say for 500 milliseconds for both of them drive one of them with this power on the right and left wheel and the other one with that which gives you this kind of effect you can see the arguments well you can't read the arguments you can have dancing robots and yeah well take that slide so I've actually managed to leave a little bit of time for questions this time last time I was a little bit rushed I seem to remember does anybody have any questions about this is it just all obvious and similar to what you're already using yes yeah so the question is how could you use this technology if you had functions you wanted to run functions that actually did have side effects and there's nothing to prevent I mean there's no problem with running functions that have side effects they will just have side effects and the result if you're relying on a feature in which the functions are executed then your result will be non-deterministic you know they can have errors they can have side effects there is also a mechanism that you'll see if you go and look at some of those videos that allow these isolate processes when they're running a function to call back into the main process for example if you did have an oracle database connection you wouldn't want to create a hundred instances of it so you'd want your functional code to be doing its functional stuff and then when it gets to the point where it needs to make the transaction it can call back and ask the main process to use the database connection that it already has to do that yeah and at the moment when there are callbacks we serialize them on the on the server side so you can create secure transactions when these little guys out there call back to the main process yeah so error handling well if there's an error inside one of these things by default it's just trapped and returned to you so if I had do I still have these guys around so if I said iss.delay 4 seconds in the first one negative 4 seconds in the second one we do have an engineer John Scholes who should have been here but had to stay home at the last minute who says he's working on this and he hopes before he retires to have implemented negative arguments to the delay function but I think he might be joking but anyway if we do this we get a 4 second wait because actually it would be better to assign this to result let's do that yeah so we immediately get two futures back if we ask for the second one it's failed immediately ah okay this is what happens when you deviate from the script I was unfortunately I loaded an older version of the interpreter for the which doesn't properly support this it should have signaled that back to me let me just give me a second load version 14.1 there have been some bug fixes from 14.0 to yeah so isolates is two empty isolates delay 4 and negative 4 so if I ask for the second one oh quad nl that's the list of names I wanted to delay it gives me a it just says when I refer to that item of the array it's like the errors have almost become first class objects in the language they haven't quite but it gives that effect if I refer to the first one since 4 seconds have no past I get it if it had been less than 4 seconds I would just have waited on that you can say well I'm developing code I want to be able to debug it and it would then run the isolates in a debuggable version of the interpreter so you could connect a debugger to it when they fail and fix them and that of course is one of the really interesting challenges going forward is that if you have a hundred of these things that you've launched you actually want the debugger to come up and say well you've got 23 domain errors and four length errors and one workspace for which one would you like to look at and you look at one of them and you trace through it and you fix I mean edit and resume has been the norm in APL I think since 1966 when the first APL interpreter was so then you want to say ok so do you want that code fix redistributed to the other 22 isolates that are all currently suspended at the same place in the code and say yes please patches them all up and they continue running so when this stuff really kicks in and starts being used by these I think everybody would want that but certainly the more non-technical users would demand that so this is the beginning of many years worth work I don't know do other languages that have futures have are there any that have reached that level now in debuggers where they will patch on the fly in multiple instances simultaneously yep so there's I mean I think that the comment that was made yesterday about us in the fishbowl about us not having reached the industrial revolution is very very accurate for a lot of software if you consider the automobile after about 50 years so it was invented in 18 late 1800s 50 years later the cars that you had then I think are a good mental image of where we still are with software there's a long way to go with this stuff but I think writing code in a functional style is clearly the way forward I think all the other there is no alternative as everything becomes more parallel we must go that way because nothing else can work but fortunately there's lots of good languages popping up where you can do that and APL of course originally had well it still allows you to write in a very imperative style and every user meeting I have including the one I was just at last week I tell my users you've got to move away from the imperative style and the object style and use the functional or the curly bracket style of writing functions because otherwise in five years time you're going to be in big trouble you may still be okay but your competitors are going to be running rings around you in five to ten years if you don't solve this now and as a vendor of course we have to as language designers we have to provide the tools to make that easy for them yep yeah so I'm really looking forward to being back next year to see what's new I thought the Julia presentation looked awesome there must be some ideas worth stealing there yep okay so that's it I think thank you very much alright that was a fantastic way to close the conference so thanks Martin for that


Motorcycle riders in Japan deal with dangerous driving conditions every time they hit the road, which is why Naval Air Facility at Tsugi Riders team up with local Japanese law enforcement in an effort to decrease the number of motorcycle accidents. Today we demonstrated a brain exercise and the daily inspections of a motorcycle. These simple tips and communications can increase safety and decrease incidents. A lot of people that come to Japan they don't understand the traffic you know regulation they don't understand the risk it's different the street is narrow versus the street we have at home. This training increases the safety of both riders and pedestrians. Petty Officer Michael Storey Naval Air Facility at Tsugi Japan