Welcome to code.org app lab simple bouncing ball tutorial with me Tokyo Ed Tech So today we're going to show you how to make a ball that bounces on the screen to do that We need to know a few concepts This is a kind of coding concepts, but also a little bit of physics concepts So we have a location of the ball and that's going to be our X and Y coordinates We have the movement of the ball Represented by DX and DY D is Greek for Delta and it means change So if you're moving to the right your X is changing by a certain amount. That's your DX if you're moving To the left your DX is moving your X is changing by DX in a negative direction Which we'll see in a little bit and then border checking What happens when we get to the bottom of the screen or the right side of the screen the left side of The screen actually I forgot one there. We also got to deal with gravity So we'll go ahead and Yeah, let's get started. So here I am on code.org now If you haven't done anything with code.org this may not be the right tutorial to start with But what I'm gonna do is I'm gonna go to create and you'll see a bunch of different choices Again, I'm assuming you already have an account and all that sort of thing now I'm gonna be using app lab because that's what my students are using there is also one called game lab But we're gonna do app lab because we're working on app program and some apps Of course our games. So there we go. So now it will create a blank project for you I'm gonna take a little bit of time. So I'm gonna go ahead and give it a name and I'm gonna call this Bouncing ball tutorial very very original Tutorial with Tokyo Eddeck Always got to get my branding in there and save that it's always good to give it a name So you don't have a bunch of projects called untitled project Now what I'm gonna do is I'm gonna start with design And when you start code or you're given a screen I don't like calling it stuff screen once. I'm gonna call us SCR. I guess I can call it main or I call it game Yeah, call it main for now, and I want to change the background color. I want it to be black So I'm gonna do zero zero and zero. Okay, you can see how it's already done that. So if I hit run Okay, I have a blank screen. Yay. Okay not very useful at this point. So I'm gonna go ahead and hit reset now for me to do Graphics there is an HTML element called the canvas and as you can guess that is where we're going to draw stuff So you can see over here. We have a canvas. I'm just gonna drag that into my screen and put that into the top left Okay, now while you're looking at you see all those numbers are you've got But zero zero why is five? It's hard to get that right, but long story short the top left corner is zero zero I'm gonna go ahead and drag this out now. I could drag it all the way to the bottom But I'm just gonna go ahead and do this leave it about right here Oops, my computer's not letting go. Why is that? Enter does that help and it's locking up, which is lovely escape that into it I'm just gonna hit reset and Reboot or reload refresh and do it again. It does get stuck sometimes, you know go back to design And again, I know I could edit things like that out But I think it's important to see that this process does not always go smoothly and what do you do? So I've got a canvas and I'm gonna call this Canvas Probably was a game. I would probably call it game, but I'll just call it main as well And what I want you to see is that we've got SCR main and we've got canvas main So I know SCR main is a screen. I know canvas is our CNV is a canvas I didn't have to do CNV. It's just what I chose to use and you'll see it's 320 pixels wide and 385 pixels tall. It's at 0x it starts up here and 0y So that means across we're looking at 320 down. We are looking at 385 Now notice as X goes to the right it increases it goes to the left it decreases as Y goes down It increases as it goes up it decreases So Y is backwards to probably what you're used to say from math class So at this point, we've created all of the Design elements that we need now this was a game We'd have some buttons down here and we could do some different things with the keyboard But for this we're just learning the basic concepts. So I'm gonna go over to my code Okay, now if I go back to coding concepts Okay, I said that we're gonna need a location In X and Y we're gonna need movement So how is the ball moving and then we're gonna check for borders and again I forgot to put gravity on here, but we'll leave it like that because mistakes are made from time to time So I'm gonna go to variables What I'm gonna do is I'm gonna go ahead and start creating the variables I need now notice this starts with var the var keyword. I Only do this once. This is when I initially create the variable So what I'm doing is I'm gonna call my first variable ball X And I'm gonna start the ball somewhere around here. So So maybe make that 160 And I make a ball Y I'm gonna make that Let's see here about we'll say 40 with that and then I'm gonna make ball DX And that's gonna be zero I'm gonna make ball D y and that's also gonna be zero so What I need to do is I'm gonna go back to my canvas and I have to do something called set active canvas. I have to tell the program This is the canvas that I'm using. This is again. This is why I use proper names Now I could clearly I could have other canvases, but for this project I'm only gonna have one and then the next thing I'm gonna do is I want to pick a color and that is where it's That fill color there it is And I'm gonna go ahead and make my ball green I don't know why I always I usually choose green It's a color I like and then my circle I'm gonna use a circle obviously for my ball and I'm gonna put in here ball X and I'm gonna put ball Y and I don't think I'm gonna make this 20. Let's try 20 for now Now you notice these little yellow triangles this says ball DX is defined, but it's not called in your program So I've created it, but I haven't used it anywhere and we'll get to that later But ball X and ball Y I have used. Okay, so I'm gonna go ahead and hit run Hopefully if everything goes well, we'll see a ball right here in the middle of the screen fantastic so This is how we're gonna get started and you know as a beginning programmer Yeah, you just kind of being programs tend to just like throw everything in and hope it works But you'll see how I do a little bit test it make sure it works And I do a little bit test it make sure it works if you do that It'll be a lot easier to find the problems in your program. Okay, so the next thing we want to do is We want to make the ball go down So the the movement of the ball up and down is controlled by ball D. Y Okay, so right now it's zero. I'm gonna set it to five And then what that will do is that is a downward direction and so what's supposed to happen is every Frame I'll get that in a second is gonna go plus five plus five plus five plus five plus five plus five Now let's go ahead and run this because this is again This is one of those things beginners you have these weird ideas that things just happen They don't just happen. We got a program. So I hit run Nothing happens Now notice I still got this little yellow triangle And it says I've defined it, but I haven't called it. So what I need to do is the following I Need to go back to my variable section. I'm not going to choose this. I'm going to choose this one So what I'm gonna do is I'm gonna say ball Y equals ball Y plus ball D y Now the capitalization has to be the same notice I capitalized DN x here capitalized DN y So what this does is it takes ball Y which starts at 160 Takes 160 plus ball D y which is five. So this is 165 and it changes ball Y to 165 So let's go ahead and reset that now. Look where that's at and I'm gonna run it again And I don't know if you could tell Nothing happened Partly there's two reasons one is the program ended here. Okay, so if I move this down here Okay, watch where it's at Reset I don't know if you could see it move down just a tiny tiny tiny little bit Okay, but then it stopped Okay, again, this is because this is how we programmed it So probably in previous programs if one of my students we did things where you push a button you enter some text And then things happen. So in this program, we need to do something new Which is called a timed loop You'll see it down here You'll see where it says timed loop MS means milliseconds and callback So I'm gonna pull this out You'll see where it says timed loop one thousand what that means is every one second one thousand milliseconds It's gonna do whatever is inside of this loop now. There's nothing there but what we want to happen is We want to set the color to green We want to Move the ball and Draw the ball Actually, maybe we should put this there maybe makes a little more sense. Okay, so here we update the ball. Why? We set the color again just in case to make sure because if we're gonna draw different things They might have different colors and we're gonna draw the circle So now this is gonna repeat every second. So let's go ahead and hit reset and run Okay, one second two seconds three seconds four seconds five seconds So the ball is falling now not obviously not as fast as we would like but it is falling Okay, so we hit reset on that So what I want to do is I want to change this to 50 milliseconds So 50 milliseconds that means 20 frames per second which for our purposes should be enough So now watch what happens Okay, so you can see the ball is falling And it falls right off the canvas now it's still going you just can't see it Okay, so we got another problem to fix okay the the ball. There's still pieces of the ball there so to fix that we're gonna go back to canvas and There's a command called clear canvas so inside our loop Okay, we need to clear the canvas Update the ball why coordinate? Set the color and draw the ball. We hit run and this is what we have now Okay, very very exciting Now you notice again, I'm doing some stuff. I'm testing it. There's a problem.  Okay, so stop fix where you're at Okay, now the next thing I could I could start looking at the DX at this point, but I want the ball to bounce Okay, so The ball comes down if I run it again the ball comes down when it gets to about here It should bounce in the other direction. Okay, it's right about there Okay, so the why coordinate here is about 385 But remember the ball has a diameter of I think this is diameter or I'm sure it's diameter or radius Does it tell us we click that? No See your circle. It's a radius. So that means from here to the center of the ball is 20 So what I'm gonna do is I'm gonna check I'm gonna say if It doesn't matter if I do it here up there. It's not a big deal ball y is greater than 365 and 365 is 385 minus 20 the radius What I'm gonna do is I'm gonna set ball y to 365 and I'm going to reverse Ball dy to do that. I multiply which is an asterisk by negative one. I click out of here. It turns into You know block code So one more time. So if the ball y goes out of the screen Or out of the canvas, I'm gonna put the ball y back to 365 And then I'm gonna reverse dy so it goes up. So let's go ahead and run that see what happens It's coming down to remember the line is down here somewhere And you saw how it bounced Now yeah, it's not a perfect bounce, but you get the idea now notice It goes up and off the screen because we have not accounted for gravity So that's our next step is gravity So I'm gonna go ahead and create a variable for gravity And I'm just gonna set it to one. I don't know if that's a good number, but we'll try it Notice I capitalized the G because gravity doesn't change But what I need to do is down here is the following ball dy equals ball dy plus G for gravity This is because gravity affects the speed of fall the speed of falling so The ball is falling at five then it's falling at six then it's falling at seven and it's falling at eight Then it's falling at nine gravity affects Ball dy it doesn't affect ball y Okay, ball y is affected by ball dy Ball dy is affected by gravity This is physics stuff if you haven't said that yet. Don't worry. Just trust me on this So now watch what happens Okay, see how it's falling faster faster faster slowing slowing slowing Faster faster faster faster slowing slowing slowing pretty cool Looks just like a real ball bouncing now due to some like mathematical stuff It may just eventually slow down and stop. Don't stress about that So we hit reset now What I want to do is the same thing for left and right Remember gravity doesn't affect left and right. Okay, gravity affects up and down So I'm falling in and get to use my DX. So I'm just gonna follow this pattern here and I'm gonna say that Ball x equals ball x plus ball dx Again, if you don't understand the physics of it You know, just you can just copy you just you don't have to understand exactly how it works We need to understand you do need to understand that ball dy affects ball y and ball dx affects ball dx and Then I need to set ball dx to some value. Let's I'll do five again. Why not and I hit run Let's see what happens. Okay, now notice how it bounces right off the screen. Okay, so I have to do the border checking So that was you know, make sure the border is dealt with so it's about 320 So I'm gonna do the same thing I did here I'm gonna go to control I'm gonna do if again. This again has to be inside this loop Ball x is greater than I think it's 360. That's 360.  It's a little dry and cold today Ball x equals 340 and then I'm gonna do the same thing. I'm gonna reverse it So ball x equals ball oops ball dx. Sorry about that Very easy to get wrong ball dx equals ball DX times negative one And again, I'm going to test this make sure it works. Okay, boom Okay, well, maybe So still went off the screen. So this is 320. So I should make this 300. That's why I went the wrong way Okay, let's run that Okay, you see how it bounced off the wall now again, it's gonna go off the screen all the way off here reset But I'm gonna do basically the same thing but watch carefully because this is something again beginners mess up every single time I'm going to the left this time. So it's gonna be ball x is less than Notice on the right side. It's greater than on the left side.  So I'm gonna use 20 as my number Okay, back up the variables Notice again, I'm not using var x here. I'm just using x So ball x equals 20 and again ball dx. I need to reverse Now we want to go back the other way. So ball dx equals ball dx times negative one Okay, and I'm gonna run it and Now we have a functioning bouncing ball Now, it'll probably be a little faster on your computer because I'm recording the screen everything slow down a bit but you can see how it gets to the edge of the canvas and bounces and Voila, we have a bouncing ball with realistic physics. We're using gravity. We're using dx and dy We're using x and y and we're checking for the borders So let me go ahead and just run through that again Our ball has four values associated with it an x-coordinate a y-coordinate, which is where it is on the screen a dx and a dy which is the speed of motion We have gravity which we've set to one and you can play with the numbers. It doesn't really matter And it's positive because it's in this particular system. Positive is down We've set our active canvas to canvas main and our time loop every 50 milliseconds. That's once that's 20 times a second We clear the canvas We update ball dy with gravity. We update ball y with ball dy. Yep a date ball x with ball dx We draw our ball now again. I could have put the drawing part down here It's not gonna affect anything because it's a loop I could just I could set it down here if that makes more sense to you. That's fine Actually kind of makes more sense to me and hit reset and test it Okay, I made a change still working Now if the ball goes off the screen he also off the screen here We put it back to this that point and then reverse Y So it goes up if it goes off the screen to the right You set it back and reverse dx and if it goes off to the left We set it back to that point and reverse dx So it's just gonna bounce and bounce and bounce and bounce now You can play with the numbers and make it bounce faster and you know kind of see what happens but that's the gist of Basic like physics animation. So going back to our coding concepts We have our x y our dx dy border-checking and I forgot gravity, but I could have also added a few things about You know looping and just different coding things that maybe you haven't done before but overall I think it's pretty straightforward. So yeah, that's it Keep on going take care


Hi everyone, it's Allison. Welcome back to the Tiny Herd where we talk about everyday pet care for guinea pigs, rabbits, and other small pets. Today's video is going to be an updated pet room tour. So there has been a lot of changes in this room since I did my last tour. So I wanted to walk you guys through and show you where everything is now and how we have everything organized. So I'm just going to walk into the room and get started. All right, so when you first walk into the room, this is the doorway of our pet room. And you can see we do have a baby gate attached here. This was really for the bunnies in our old house because we put them in the pet room at night time, but they now are full-time free roam bunnies. So we just leave the baby gate on there now in case anything is happening. And we need to keep them in here. I'm not sure why Mikey is angry if you just saw that. But this was really just like if we have people coming in and out of our house or something, and they need to be kept in this room.  So we're going to come on in to the pet room. I don't think Mikey liked me standing in the doorway like that. All right, so first when you walk in the room, like I said, we have this nice chair where I like to sit and hang out. I will link these pillows down below if I can find them, but they are both from Etsy. And then I have a cute who rescued who sign that someone gave me, but I believe is from Dollar General maybe. Then we have this cute getting pig bedroom sign, which is also from Etsy. I did want to point out, you'll see throughout the room, we do have security cameras in here that we like to have just so that we can see the pets if we're traveling or because we do both work outside of our house. So it's just nice to be able to see the pets and I will link those cameras down below. From the chair, we then come over here to the first table area. These tables are homemade, so they are melamine cut to size. That is the type of wood that they are. So we cut them to size and then the legs are from Ikea. So I will link the legs below, but I would recommend going to Ikea and buying them if you can because Ikea shipping is really expensive, but that is why we made our own table tops and they work really, really well. Alright, so the first little area here underneath the table, we just have our step stool that I don't really use a whole lot anymore because we don't have any lofts. But then I have this bin that we keep the bedding in for the bunny litter boxes. And then on top of there, we just have a basket with our puppy pads for the litter box and a extra willow tunnel there as well. On top of the table, I just have a little area for me to be sitting here. So I have a little coaster from Guinea Pigs Weekly. Here is that coaster close up. I will link her shop down below. I absolutely love her stuff. My phone's just sitting there. I have a little basket here that just has some odds and ends in it. Some tissues and then paper towels because we always need paper towels. And then we do have our air purifier here. This is the La Voit air purifier. I will link this down below. I absolutely love this thing because it runs automatically and I can have it up against the wall. So it is super nice. So that is our first little table area just for, you know, whatever we need some table space for. And then we move over here to the first cage. So this cage houses my two male Guinea Pigs Georgie and Jelly Bean. They live in a two by five. Pretty much all my pigs live in a two by five. But we have them just on this back section of the table here. And then they do have some acrylic grids in the front that are from Guinea Pig Cages Store that I will link. But this is just their happy little home. I did want to show you guys our new name plates that are on all of our cages. I'll show you all of them on each of the cages. But these I sell in my Etsy shop. And I love how they turned out. I think they're really, really cute. You can pick your color and your font and get your own custom names on them. So I did want to show you guys that I just love how they turned out looking in the pet room. All right. And then showing you guys what is up above here. So I do have this nice shelf here above the table space that is really just sort of a sentimental shelf. So there is some pictures and that sort of thing, some cars from the vet. And then we do have the urns with the ashes for some of our past pets. So Luna, Belle, Freddie, and then two of the mice are up there. We did get one urn for all three of the mice, but of course Snickers is still with us. So that is what is up there. Just a cute little memorial shelf. And then you guys will see we do have another security camera underneath there so that we can see the boys cage. Then we just have some artwork up on the wall, some signs. I will link these Guinea Pig pictures down below there from Etsy. And then that big picture frame actually doesn't have anything in it. I have a specific print that I'm getting to go in there. And then when you are turning from the boys cage, I have this picture hanger that just has a ton of pictures of past pets, current pets. I just like having some photos of everyone up there. All right, moving on to down below. You can see the next area here is the bunnies area and they are underneath the boys cage. You can see up there. So their litter box is back there. We just have some fleece pads down and then they have a hiding box. Don't worry about that cord being back there. It's pulled up tight and when it, cords are above their heads, they don't bother them. They don't bother that cord at all. So it is just fine. If they did start to bother, obviously I would move it, but they don't really bother it at all. And then I did want to show you guys the bunny sign. This is also available in my Etsy shop and you can do Guinea pigs or bunny outlines, or I even have a rat one. So I really like how this turned out as well. They are acrylic and painted and I just really, really like how clean they look in the pet room. All right, next up we have our main table area here. So this is next to the boys cage. So we have our heater there, which obviously is not on right now. It is June. So we do have that and it is off at the moment, but we do use it in the winter to make sure everyone stays nice and warm in here. Then we have our pellet containers. So we do have one for the bunnies and one for the Guinea pigs. And then I have this cute little bunny sign that I made that is also available in my Etsy shop. And I wanted to let you guys know as well, a lot of people in these videos ask me where I get the labels for my bins. And I do also sell those in my Etsy shop.  And you'll see over here on our drawers, we have labels as well. So you can get them to say whatever you want. So also in this area, we have our health check and kind of like grooming and wellness area. So up on top of the drawers, we have our scale for doing weight checks during health checks. And then that notebook that is there is our pet care binder, which I will be showing you guys in the near future, but I just leave it up there for easy access. Then we have our drawer system that holds our grooming and emergency kit. So we have a drawer with recovery food, support tabs, grooming tools, and then our health kit. So I have another video I will link that goes into detail in all these drawers, but that is what we have here. And then to the side, you can see that bottle that has a syringe in it. That is just our ivermectin for mite prevention. It doesn't get injected. It is just put on topically on the back of their ear. But I will, I have another video where I talk about that and I will link the Los Angeles Guinea pig rescue video about that as well down below. But I just wanted to clarify I'm not injecting anything. So that is our main table area where we do health checks or anything else that we need to do with the pets. Just have a nice big table area. And I love having all the light from the window there. Moving on over to the girl's cage. Really quickly, just what is above it. Again, we have another security camera so we can see them. And then I just have these two cute little shelves here. They just have some photos and decor and a photo book that we have from the past. And then I have these signs that were custom made for me when the girls were little whom I used to have. This is the original tiny herd. It was Belle, Callie, Lily and Luna. My original four girls. The shop that I got these from is no longer in existence. But I'll see if I can find something similar and link it down below if you guys are interested in something like this. And then we have the girl's cage here. This is a custom DIY wooden cage that my dad built us. It is made out of melamine and plexiglass. I do have a video about it. I will link as well as some instructions on how to build this. But it is super nice, super sturdy. It has held up super well. So I'm really, really happy with it. It's about the equivalent of like a two and a half ish by seven, I believe. Or six or seven. But it's plenty big enough for the two girls that live in it. And it has a nice look to it. I really, really like how this cage has done for us and how it looks. And then this sign is also from Guinea Pigs Weekly. Her shop, like I said, will be linked down below. And then I wanted to show you guys the name plates for the girls, just because I think they look really cute where I hung them in their cage. So I did theirs pink and yellow. The area under the girls cage is just another area for the bunnies. So they have all their paper and boxes that they shred underneath there. And then Andy's actually laying against the air vent right now because it's a little bit hot today. So he's laying where the air conditioning is coming out. And then they also have their Ikea bed underneath there. Moving along under the girls cage. We have our mini fridge where we keep all the pet veggies and anything we need for the pets that needs to be refrigerated just for easy access. So we have the girls cage there. And then we have a divider. And then we have another table that we have attached here to have the little babies cage. I call them the little babies, but it is Johnny and June. They are no longer babies. They live in a roughly two by five as well. All of my pairs live in like a two by five size. So that is their cute little cage here. Underneath their cage, we just have some space there. And then our rubber made bin with our hay in it. We use the KMS hayloft bluegrass hay. And I've used it for years and I absolutely love it. And this tote here holds a 40 pound box of hay. So it is perfect for our pet room. Above Johnny and June's cage, I just have this cork board here that just has some miscellaneous cute things.  And then I wanted to show you guys Johnny's name tag. This one is my absolute favorite. I love how it came out. And I love that font. June doesn't have one yet because hers was the very first one I ever did. So it was kind of like a test one. So I'm redoing hers in the style that I've done the rest of them. So she will have one very soon as well. And then turning from Johnny and June's cage, we have our closet. So we've just taken the doors off of the closet of this room for easy access. So we have all of our fleece in here, all of our pet organization, hidey houses, microfiber rugs, everything is there. And then we have treats and toys and forage, the bunnies toy basket. We keep our shop back in here. And then there's just all kinds of storage in here. I have another video going over storage that I will link down below. But that is just where we keep pretty much everything cleaning supplies, bowls and dishes, hay bags, bits of fleece, our hay tunnel, everything is just kept nice and organized in our closet up above the closet. I just have this picture where I put a bunch of different pictures from Pasquini pigs. I have had this picture. I made it in my very first apartment five years ago when I just had two girls. And then I added pictures when I had the four. So that has been around for a very long time. And then next to our closet, we just have this little whiteboard where I just keep track of important things. Like right now we're doing mite treatment on a couple of the pets just to be safe. And then we do just have our trash can right here right inside the door.  And then we are back at the door. And then it's not actually in our pet room, but I did want to show you guys this is where we keep Snickers Mouse. Her bin cage is here in our front room.  And then in the same room as Snickers Mouse, this is the bunny's playroom essentially. So there is a lot of pet stuff in here, bunny's pirate ship, their tunnel and stuff. And they have another litter box out here. But then this is also where we have the rats. So they get some nice daylight as well. They are snoozing right now, but this is where I keep their cage in a lot of their organization. And I wanted to show you guys they also have a sign just to show you another option. The bunnies have one that is just one color. But this is another option for the sign. They're completely customizable. And I really, really, really love how the rat one came out. So again, this is available in my Etsy shop. I will link it down below. So that is our entire pet room. Let me know if you guys have any questions about anything down below in the comments. But I hope you guys enjoyed getting to see this look into our pet room. It's been a labor of love, but I am in here all the time doing stuff with the pets. So I absolutely love how it came out and how it's decorated. So I hope you guys enjoyed getting to see it. Let me know what you think down below. If you have any suggestions or questions, I would love to chat with you guys. And I will see you guys in our next video. Bye.


We had a secret panel of many, many judges out looking at your posters. They may have talked to you, you probably didn't know who they were. And anyway, we've come up with prizes for the top posters presented. And these are poster prizes sponsored by SPIE. So recognizing, outstanding work. Now, I want to make the point, we make it every single year and it absolutely is true it's a very difficult task because there are so many good posters, it's just impossible practically, but we did converge on a set of winners. And to do the honors of presenting the award, I'd like to invite Katharina Spanberg, past president of SPIE to come up and make the presentations and say a few words. Thank you so much. It's always for me a great, great pleasure to see all of you. And this year I know that you have been very eager students, you have been attending everything and you have fulfilled all the prerequisites for being very good students according to what we have heard here. I so much appreciate the possibility to be here, but I even more would like to point out the possibility for you to be here and to build this network. I am quite sure that during all your time as scientists, researchers, teachers, or whatever you will end up, you will remember the time you had here at ICTP. And I am sure that the network that you have been building up here will remain all your professional life. Wherever I go teaching students, meeting young people, I announce the possibility to go to ICTP and to look into the website, try to apply, and if you are successful, as you have all been here, you are accepted for this workshop. The good thing is also that the learned societies, they appreciate you so much. I represent SPIE. As you heard, my name is Katerina Swenberg. I was the president of this learning society during 2011 and was in the presidential chain a lot of years, and that's the reason why I now have the opportunity to be here. SPIE, as I said, is one of the learned societies supporting this school, and with the support also comes some interesting awards. So in my hand here, I have not less than six awards to the very, very brilliant students. And even if you don't get an award, I'm quite sure that your poster was very good because you are all good. When accepted here, you are judged very good. So, but not all of us can win the loiteries. So that's the reason why I only have six, but that's a lot of awards. And I am very, very happy to distribute them. And I will go through this in the reverse order. So I will start from the third prize. And when I ask people to come here, you come up to me and then they want to make a photo. So you stay here and we congratulate each other and I give you some certificate and also some more substantial thing which I have here in an envelope. So the first one I would like to call on the scene is Maya Sundukova. So Maya, if you are here, please come. I think Maya is... I don't have to help you, should we take pictures? Maya is active in Italy. As I understand. But you originate from Russia. Your name really tells us that. So congratulations. Thank you. Okay. Next person in row is Pega Asgari. Congratulations Asgari. So now you wonder if there are only ladies, only females who will get the prize. I am sure not. Okay, next one. Okay, I already see him. So it's a him and he is here. It's Mudo Bayer. Congratulations. I think we should also congratulate him because he's newly married I think. And he comes from Senegal. So he represents Africa. Okay, so the second one for second place is also a male. So all males listen carefully. The name is Swamnildi Gambar Mahayan. Okay. And he comes all the way from India. Okay. Now we come to the first place. And first person I would like to call is Alexandra Falamas. Alexandra represent Romania. And the last one is Angel Sergio Cifuentes Castro. Representing Mexico. All right, thanks very much, Catarina. Congratulations, winners. Congratulations everybody. It was really a delight to go through those posters for all of us. We're gonna move on to another part of the program now. And so that's the ICOICDP Galliano-Donardo Award honoring Galliano-Donardo for many years ran the optics program here at ICDP and passed away in 2007. So to start things out, I'd like to invite the director of ICDP, Professor Fernando Covedo, who you met on Monday to come up and say a few remarks and then he'll introduce Maria Calvo. Good job. Good afternoon to all of you. And it's great to see these activities moving so well and I've heard all the good things about it. And it was good to see also a lot of already known friends that have been here, coming here for several years. And I think it's an honor for ICDP to be hosting this activity for all these years and to have been able to keep it running for say more than 24 years or so. So also I have to confess I never met Professor Donardo and but whatever I've heard from him was only good things. Everybody has such a good memories about him and all the achievements as he's dedication to ICDP and his mission. And then in particular, this activity of the Winter College, the Sosa and then I think he deserves very much recognition and creating this prize in his honor. I think it's one way to recognize all the effort he dedicated to this field, to optics and to the mission of ICDP. So I think we have here several previous winners which I think is very good. I can see Fred is there, Murana and Murad also. Yes, Murad, yes. So it's great that since it's part of the community of ICDP and the Winter College and with all these collaborations with different optics societies. So for us for ICDP as I said, it's a great pleasure to continue doing this and I think well next year will be the 25th anniversary so this will be a great occasion so probably we can have something even more special. So I'm also very thankful to Joe because Professor Tenerdo passed away and we had to have a contact point at ICDP that can continue the tradition and Joe has been a perfect contact point so it's great that he continues also with us. Very good, so now let me call Maria who is here who will be the person introducing the winner of this prize and give us all the details and as you know before I call here, let me just read, this is about the ICO, ICDP, Galiano Tenerdo award is given annually to researchers younger than 40 years of age from a developing country who have made significant contributions to the field of optics and photonics. The recipient receives a certificate of $1,000 in invitation to participate in and deliver a lecture of other ICDP activity relevant to optics and today of course he will be given the lecture. So I will ask Maria to come and introduce the speaker. Thank you very much. Good afternoon everybody. It's really great to see all of you here attending this wonderful college. I think we've got quite amazing time and I'm sure that you will go back with more knowledge, more network, more friendship and ensure more motivation. This is very important. So now we are going to start with the award ceremony of the ICO, ICDP, Galiano Tenerdo award and as Professor Fernando Quevedo was informing, this is an award that was established earlier in 2000 by the ASAN agreement between the International Commission for Optics and the ICDP and it was by the time when Galiano Tenerdo, you are seeing his picture there. Professor Galiano Tenerdo was responsible of the optics, activities and optics programs at the ICDP and allow me to tell you that he was having a great commitment for having this experiment in optics that he considered was one of the best ways for training and for students just to appreciate the importance of optics. So it was starting in 2000 and in 2007 when we delayed Professor Galiano Tenerdo, we wanted to honor him and to remember his legacy and that's the reason why this award now is having the name ICO ICDP, Galiano Tenerdo award. So for the year 2017, let me explain you the chair of this committee is Professor Murad Skal from University of Cartwrights, Tunisia and the members of the committee are formed by Professor Anna Consortini from the University of Florence, Professor Minchodana I love from Eletra, Professor Joni Emela from ICDP and Professor Amadou Bague from University of Chantatoupe in Senegal. So I would like to thank all of you the committee for the work done and luckily we have a very, very good award this year. The award, the 2017 ICO ICDP Galiano Tenerdo award is awarded to Gautam Kumar Samantha and the citation reads, the award recognized Samantha's significant contribution to the field of non-linear optics, lasers and quantum optics, as well as his efforts in popularizing science among school students in India. So congratulations to Gautam Kumar Samantha and now I shall call him to come just to deliver the diploma and Joni Emela please. Or how are we going to proceed now? Let's get started. Okay, let's bring a, where are you? There you are. Okay, let's bring him, give him a warm welcome. I think besides the lecture he's looking forward to, he's looking forward to a couple other things. Ah, can I ask Fernando to come up and Maria to represent ICO, Fernando represent ICDP and we take a nice picture. Okay, that's all. Do you want a chair? Okay, I'll chair. Okay, I just got elected chair. So now we would like to ask our awardee to come up and deliver a lecture on what's been keeping you very busy these years. And also it's wonderful to recognize that somebody not only does outstanding research, but also is very involved in outreach in the schools and is involved in the society in that way. So I think that's a very good model for all of us. I mean included just to get out and get involved, trying to get that next generation coming in. So anyway, we always like to reward that those kind of efforts. First of all, I would like to thank ICO, ICDP, then at the, then at the award committee, chair by Professor Mauread Jagal for selecting me for this prize. I would also like to thank Professor Joe Naimela for inviting me for this conference here today and giving a talk on this, on my work. Special thanks to the organizing team of ICDP, especially Federica, who made my stay and travel such a comfortable one. Even though the topic I'm just attending here, it's not exactly my research topic, but attending these lectures by distinguished proficient here, and the experimental programs basically demonstrated. I really enjoyed a lot, and hopefully I will carry some of the experiments for my outreach activities in future. Okay, as you already know, my name is Gautam Kumar Samanta. Today I'll talk about nonlinear generation and interaction of structure coherent beam radiation. I am from Physical Research Laboratory, Ahmedabad, India. This is the state in western part of India. It's called Gujarat, and this state is famous for Mahatma Gandhi, the father of nation. And Ahmedabad is the biggest city in that state, and we have this Institute Physical Research Laboratory. It's a premier institute in India, where it's today's India Space Research Program, whatever you see, it's sending rockets to Mars or sending 104 rockets at a time. It's basically started from this research institute. And here we have many research programs, basically mostly the fundamental research we do. And I joined this institute in 2010 to start a new program on nonlinear optics. So, and then it took something three years for me to make a functional lab. This is the picture of my laboratory. I named it Fortnick Sciences Laboratory, by inspired by my PhD institute, where I did my PhD institute of Fortnick Sciences in Barcelona. And I named that Fortnick Science Laboratory. And as you all know and agree, success of a group basically depends upon in members. I am lucky to have a bunch of good PhD students and postdocs. Here is Adi and his oppur. Both of them has left the group for a postdoc position abroad. But some of you might have seen them last year in this winter college. And he got also a poster award. And some of you might also confuse me with this man who has a lot of similarity with me. And Jabir is a third year PhD student. Oppur Varun is second year. He is a permanent stop on Edwin. And I have a recent postdoc in my group, Srinivas and an M.Tech student. I'm also lucky to continue my collaboration with my former supervisor, Prof. Majid Ibrahim Jade from Institute of Fortnick Sciences Barcelona. And my good friend, Chaitanya, from the same institute. So I have been working on some of these topics here. It's a list of non-linear parametric processes, optical parametric oscillators in continuous or even ultra-first time regime. Basically, these are the two topics what I used to do during my PhD. And I'm still continuing on that one. However, I have started new programs, new projects. It's a structure beam, optical beams, and they are non-linear interaction, structure beam optical parametric oscillators, development of bright entangled photon sources for the quantum optics experiments, and generation of hybrid entanglement and control of special structure of entangled photons. And that is important for some of the quantum optics experiments. And then I'm just starting this new project. It's a generation of Terrahach and few cycle pulse structure beam sources in infrared radiation. So I'm just having the leisure now and I have to start on this one. However, in this today's talk, I'll be basically explaining some of the results we got in last three years from this laboratory. It's structure beam optical, structure optical beams, and then they are non-linear interaction and the structure beam optical parametric oscillators. So before going to the research topic, I want to explain something about my extra curriculum activity, what I do. And I'm passionate to do that one and it was also cited in my award introduction. So when I was doing PhD, that time I used to think why government is spending so much money of taxpayers' money for my research, what I am really passionate of. And sometimes the research what I'm just doing might or might not have direct impact or benefit to the society. And then I thought, okay, let's, if we can just enhance the quality of the human resources by explaining some of the science to the society, that will perhaps, you know, just justify some part of the expenses we are, perhaps this research will have impact in longer time. That's why I was also involved in this Outreach Activity, Outreach Activity during my PhD tenure in ICFO. That's a nice place to start new activities. And then joining a physical research laboratory, I started a hands-on experiment for the students. So I don't know, I have just lost the slide. Okay, so what do we do? We demonstrate some of these basic optics experiments what we see in daily life and through hands-on experiments. So far we have demonstrated or developed 50 experiments, not only concentrating on optics, but also for physics experiments. And some of the equipment also we have built that we carry to the students. So that experiments set up will be optical tweezers. So using some of the optical components for my lab, just build a optical tweezers where we can just trap micron-sized particles and then we demonstrate to the students. And also we have some other thing. So this is basically for the school children explaining some of these basic optics and then when we sit in the interview panels for the PhD students in my institute, I see most of the brilliant students want to do theoretical research. So that's really surprising. And then if you look back, if I look back, then I see the curriculum doesn't really in India but we have that doesn't really support for the experimental research. Wow, how? So we are supposed to do some of these experiments within that curriculum. And the experiments are, most of the cases, the equipment will not work. There will be no professor to explain the physics behind that. And most dangerously, your senior's lab book will be available in the corner and you can go and copy it. So to get marks, you have to complete. So you copy it and you get marks, pass and go to the next course, next semester and then continue. So as a result of this, we don't build the affection to the experiment. So then when we come to experimental research where most of the cases, there is no basic equipment. You have to build most of the cases. That means if you see the kind of research we do during PhD or postdoc or later on and the kind of training we get during the college, there is a big gap. So we tried to make a bridge between these two gaps and to take this concept to the undergraduate student. So we started a program called Physics, Training, and Talent Search. And that started, we started in 2006. It's this year, 2015 we started. And 2016 also we had that one. So we are just having every year in December, we have 15 days residential course where we select 50 students from different colleges in India. And with these two theory courses, one experimental course and I am involved in that experimental part. And for the experiment, so first day we allow the students to go to the lab and lab is empty. There is nothing. And then we ask them some questions, one line or two line questions, like design an experiment to measure the salt's concentration or sugar concentration. Or does interference, some of these questions are there. There are many other questions also for other mechanics problems. And they are given this problem and asked to design the experiment.  And they have to do the experiment. And interestingly, the equipment has to be within the budget of $5. So that is adding some more difficulties and just forcing them to think about the experiment. Initially, the students will not really appreciate. They will think that I am the villain, because whatever they propose, I will be just rejecting that. But at the end, they will really appreciate. And they will tell, OK, we have learned something. And without, so for the experiments, experimental research, not only you need that experiment, at the same time you use your brain to justify some other things. So that's what we do. At the same time, we promote also this, for the career development of our PhD students. So we started last year a conference. It's a student's conference on optics and photonics, where the theme of this conference is organized by student, participated by student. So we have some distinguished lecturer from abroad, sponsored by OSSA. And some Indian young faculties, those who will be just giving a few talks, are mostly it's by the students, given the students. So you can just see this is the picture. And my supervisor was last time as the giving a planetary talk. So in this way, we just promote. And in this conference, I have very little role. I just guide, and I arrange the money for this entire process. So with this, these are some of the activities what I do. But I'll tell about the science part what I do. But in my institute, I am famous for not for the science. I'm famous for the sports, because I love all kind of sports, and I do a lot of sports. So I represent my institute also in some of these tournaments, playing table tennis or tennis. I also play football. However, if I take time, then I go to the lab and do some research. So that's what I'm just going to present today. So here, this is a, in fact, after this hour when it was announced in my institute, then people started wondering, oh, you do also research. Then I say, yes. So this is the content of my talk. I'll talk about the basics of optical vortex. Some of the lectures we have already, some of the speakers already mentioned about the optical vortices. And then generation of optical vortex beams, perfect optical vortex beam and hollow Gaussian beam. And then I'll talk about the control transfer of OEM in an optical parametric oscillator. And a special kind of beam is called airy beam. And I have just shown you some of the results on airy beam optical parametric oscillators and then conclude. So like Gaussian beam, most of the cases, all this nonlinear interaction we study using Gaussian beam. So the Gaussian beam is having intensity distribution, maximum at the center, and falls according to the Gaussian formula. And the phase we'll be having, you can just control that phase, it's a plane or a spherical wave front, you can just make out of it. However, if you just change the spatial structure of the beam by some means, then the beam will carry a spiral phase variation. So with the propagation, the phase of the beam will vary in spiral. So if you take a snapshot anywhere and find out its phase, then there will be a phase variation from zero to two pi or something else. And if you take the intensity plot of that beam, it will show you a donut set intensity distribution where the no light at the center and light at the outer ring. So if you have this phase variation from zero to two pi, then the order is one. It's a vortex, these beams are characterized by their order or topological charge because this topological is being changed. And if you just have this phase variation, zero to four pi or zero to six pi, then this beam will have order two or three and so on. Interestingly, these beams is having optical vortex beam carries orbital angular momentum of image cross for photon. So once this orbital angular momentum associated with this beam was invented after that lot of very different, many different fields has started using this beam like in case of trapping, twizzing and quantum optics it's heavily used because you can just use this degree of freedom orbital angular momentum for hybrid entanglement and so on. In nature also we see such kind of structures like if you have a whirlpool where you can see this water whirls are across this vortex point, it's a singular point or it's a for black hole, tornado and galaxy also. So these are the some nature in nature we can see some of these vortices. In lab one can generate this vortex beam. So holographic technique you make a fork pattern of this and pass this Gaussian beam through it then that will give you a vortex beam. And that for confirmation like the holography we can just interfere this beam with a reference beam the same beam then you can just see that interference pattern depending upon the phase of this reference beam you can have a fork pattern or a spiral phase pattern. Additionally we can also generate this optical vortices taking a Gaussian beam and passing through a spiral phase plate. The phase plate is having thickness variation in transverse plane. So you can have the phase variation in this and if the light passes through that one this phase variation will be imprinted on that beam. So which will in turn result in an optical vortex beam like this, it's a donut shape beam. And you can have different spiral phase plates it's just an order two, three, four but it's very expensive and then technologically you cannot really just go beyond that order four or so and there are only one company which can generate this one for higher power operation. So if you have a vortex beam of power P and order M then the electric field is presented like this one. This is a constant term and you can see here it's a R to the power M, it's a Gaussian part and the spiral phase term here. So from here if you just plot that intensity then you can see here it's R to the power two M because R to the power some parameter is there and as M goes we can have that intensity pattern or dark core size of that beam increasing. So you will have a increasing dark core size of the vortex. So using this beam we started generating optical vortex vortices or perfect vortices and these are the results we have just recently demonstrated. So what do we have done? We have just generated and we have just studied the nonlinear interaction of this beam. So we have just make optical vortices of order one, three, six just for an example. These are the intensity pattern of fundamental beam at one zero six four and which is confirmed through the interference as I showed previously and then we generated a green beam at five 32 and recorded that intensity pattern you can see that intensity pattern is also having that do not say. So which is also confirmed through a new technique it's a tilted lens technique where if you pass this beam through a tilted lens due to the astigmatism in the lens, this beam will split it into characteristics lobes. So counting the number of lobes and reducing by one you can tell what is the order of that vortex. So if you have three number of lobes then it will be order two. You have 13 number of lobes it's order 12. So these processes all they satisfy three conservation law. It's like all nonlinear processes it's energy conservation and momentum conservation that we know. However in this case we realize that orbital angular momentum conservation is also there. So the orbital angular momentum of the input beam is equal to the orbital angular momentum of the output beam. So since it's a second harmonic generation two photons of this is converted into one photon. The OEM of these two photons will add it up to give you a two. So like that so we can see this is a orbital angular momentum conservation. However if you just measure the conversion efficiency of this beam then you see we can see that conversion efficiency is decreasing with the order. And if you go for higher order then it's not really an appreciable intensity useful for some of these applications or many of the applications. So that means with increasing order the conversion efficiency of the beam goes down and then why it's so. If you take the area of this beam with the order then we see that area of the beam is increasing. And since nonlinear interaction is a intensity dependent phenomena you can expect that one by F decrease. Because this area is increasing linearly so we'll have this exponential decay or one by area decay. But orbital angular momentum is also increasing with the increase in order. So we cannot really certainly say whether this decrease in this one has orbital angular momentum has any role in the decrease in this power or not. So for that we generated a new kind of beam it's called perfect vortex beam. So where the size of the beam doesn't change in the OEM or order. So you can see it's a normal vortices it's a increasing order the size is increasing and this is a perfect vortex. So where you can see the size remains unchanged even the order is increasing which is confirmed with this tilted lens technique. And then we did this experiment we take a fiber laser and then made that vortex in the pump and made the perfect vortex through axicon and Fourier transformation at the center of the crystal and generated the green beam. So you see these convert beams and confirm their order. And when we measure the conversion efficiency of these beams with order we can see the conversion efficiency remains almost constant even the order is increasing and a single bus conversion efficiency is 25%. It's a huge conversion efficiency for the structure beam. Normally Gaussian beam is having highest non-linear conversion efficiency and this is the first report where a structure beam is showing highest conversion efficiency of 25% in a single fast configuration. And these are the power scaling thing. So far in all these experiments I just explained let's say you have two photons adding and their OEM is adding because we are just having frequency of conversion. So we are just adding photons going to the lower wavelength and OEM is also added. So is it possible? Let's say we make some scheme where we annihilate or subtract the OEM of these beams. So this is the pictorial representation of the scheme what I am just saying. We take a optical vortex of order L in it's a rotating in clockwise and we take another one in minus sign it's rotating in anti-clockwise direction. So if you just interact these two beams in a non-linear crystal, then what it should be? Basically optical vortex is having a spiral winding. So if you just unwind it, then one can expect that it will be a Gaussian beam. That is a common understanding people maintain because you start with a Gaussian beam, imprint that spiral phase, you get a vortex.  That is what I say. Some reports are there, but here we show that one. We see some new beam where that intensity distribution of that beam is donut shape, but it's not having orbital angular momentum associated with it. It's called hollow Gaussian beam and that phase distribution of that beam is plain. So we did that experimentally. We started with a fiber laser again and then frequency double into green and then taking that green, we converted it into vortex of different orders using the spiral phase plates and we took that undepleted beam and made also into a vortex and took these two beam, did some frequency mixing in this crystal and generated UV radiation. As you can see, the size of these beams is having intensive distribution like this one and the size is increasing and that is these experimental results and theoretically we saw that one. It's matching with that experiment with theories also matching. So this is the interesting experiment. So all these processes is a frequency of conversion. We are just adding or subtracting. However, in parametric process, when you can just go for the down conversion, you can split one photon into two. So if you start with an OEM, can you just split that OEM among this interacting beam? That is what we thought that will be interesting. Then we will have a certain advantage on that one. So I'm just going to this topic. It's a control transfer of OEM or pump beam among the interacting beam in a parametric oscillator. So in case of parametric process, when you have a pump photon that goes first through the nonlinear crystal due to this nonlinear interaction of that beam that converts into two photons of lower energy, is one of them is historically called signal which is having higher wavelength and another one is called idler. And these processes basically follows all three conservation law. You say energy conservation. So you can just split that energies in anything you can adjust as long as you have this conservation law. The energy of pump is equals to the energy of these two photons. Then you have to also for efficient conversion, you should have a momentum conservation. All this momentum of this beam should match so that you can just transport that energy from the pump to the generated photons. And as we explained previously, the OEM conservation, that means OEM of the pump has to be equal to the OEM of this beam. And if you put this process in a cavity, then it becomes an optical parametric oscillator. It's a single pass and then you can just put that on the oscillator cavity, you make it the optical parametric oscillator. So now the question is, since OEM cannot be divisible, so if you start with an OEM in the pump beam and try to find out, check that what is the OEM of this generated beam. And you can see, we start with the vortex of order one, then we can have two conditions. Condition one, idler can get a Gaussian beam, no OEM, and signal get a vortex beam. Or the idler get the vortex, signal doesn't. So these two processes are equally possible, but is there any favor or does the system favor one of these processes or they support both the processes? So for that, we did the experiment, did this experiment in an OPO. We started, this result is recently accepted in Optica and it will come in the next issue. So we start with a fiber laser, frequency double into green, and took that beam, converted into vortex, and pump that OPO, which is designed in this, it's a two curve mirror and plane mirrors, and we divided that signal and idler into two different arms so that we can individually control these two beams. And when we are having this, and then we monitor the signal and idler along with the pump. So when we have a pump beam in Gaussian intensity distribution, as you can see, which is line intensity, interference pattern is also showing line, there is no phase singularity, idler and signal is also having the same intensity distribution or means it's a Gaussian. However, if you take that input beam as a vortex of order one, then in that case, we get signal as a vortex, idler is Gaussian. That's very interesting. And why it is happening so, that is a question that's stuck. Why the pump is only transferred to the signal, not to the idler one? So for that, we started solving the dynamical equations. These are the formulas, it's nicely written in this paper. And I don't want to go into the details, perhaps you will board with that. So I go to this two conclusions, this condition one, where pump OM is transferred to the signal and idler is having a Gaussian. So in that case, we calculate the threshold condition, you get this formula and do the other way, pump transferred to the idler signal is in Gaussian. So we find out that threshold condition. So if you compare these two conditions, you can see all the parameters are same except these parameters. These are the losses for the signal and the idler. So if the signal loss is high, then this threshold will start and vice versa. So we can conclude here, if the signal loss is more than the idler, the vortex will be transferred to the idler and signal gets that Gaussian beam. If the loss for the signal is low compared to the idler, then we get that vortex transferred to the signal. So that is what theoretically we found. Then experimentally we study. So we measure the transmission of these mirrors and we found that for this red line is losses for the transmission for the idler and this one is the signal. So as you can see here, it's clearly the loss for the signal is lower than the idler. So in that case, when we are pumping with the vortex, we see the signal is always a vortex, idler is always Gaussian. So that means we are just favoring the transfer always to the signal. However, if we just change the loss of this signal using an output coupler, then we can see the signal which was the vortex, now it's giving a Gaussian beam and idler is getting a vortex. That means you can just control the loss of the system and you can transfer selectively which of these beams can take the OM, you have that control. And another important thing is also, let's say you can see we are generating vortex beam from 960 nanometer to 200 nanometer. It's a wide durability, no system is there that can produce over such a long spectral range with higher power. So basically we are incorporating the advantages of optical parametric oscillator to generate a new structure beam, not new, it's a structure beam instead of the Gaussian beam. So normally people work with the Gaussian beam, I'm just trying to do that one of the vortex. And here we have this when you are pumping with one, you can have one plus zero or zero plus one, two cases. So that is what I show. What will happen if you have two? So that's the case. So two can be written two plus zero, zero plus two, one plus one. So three conditions you can just find. So in that case, when you are pumping with order two, then you can see the signal and idler, both of them are getting vertices. Both of them have optical vertices of order one. And if we just reduce the signal loss as compared to idler, then we see signal is having order two and idler is zero and that is confirmed. So we couldn't really just realize the other case because these opiates are continuous wave opiates. And those who have worked in this work with opiates, they might appreciate that it's very difficult to align when you are just incorporating some losses. And for this experiment, it took more than six months for my student to realize. And so if I can just summarize this particular experiment, I can have a table like this. So I have a control parameter with me and I can just transfer this input OM into the signal idler generating an output state. And if I can just modulate this loss very fast, then I can get a modulation in the output state. So that is useful for OM communication. So communication, in case of communication, one can use this rapid switching of OM modes. So that is, so I have just explained some of this thing. In case you are interested, you can just can stay tuned for this paper to come. So with this, I'll just explain all the optical vertices. So I'll just go to the last topic of my talk. It's air beam optical parametric oscillators. This beam is having some fascinating features and I'll explain. So normally when we talk about a laser beam, you can see it's a, in near field, that intensity distribution is a beam size is small and then in the far field the beam will diverge according to the divergence of the beam. However, most of us those who are working here, they will be very happy if I have a beam like this. So the beam doesn't really diverge. So you stay there as it is. This feature is called non-refraction, means beam maintaining its constant size over the propagation distance. It will be also interesting, if you have a feature like this, the beam bends away. So if you have an obstacle, the beam bends away and avoid that obstacle. So it's called self-acceleration or propagation in curve trajectory. And additionally, on top of these two features, if you have another feature, let's say you abstract some part of the beam, but the beam reappears itself. So it heals itself, like biological cell, it heals. It's a reappearance of the structure, we call it self-healing. So if you have all these features, that will be interesting for many applications. And unfortunately the standard Gaussian beam doesn't have, doesn't do not have all these properties. And these features are widely used. Somehow these fascinating experiments, like you generate curve plasma channel or in micro-particle manipulation, you can just sort depending on the size of the beam. It can be, size of the particle, it can be sorted in different ports. And also people use this kind of beam for let's say light-seat microscope. And interestingly, the self-healing property, self-healing property of the beam helps to see the, can look deeper into the human tissues. So that is what these are the features. And this beam was first demonstrated in 2007. When people saw that one, the airy beam, if you take a Fourier transform of airy beam, that gives you a phase variation of cubic phase variation. Okay, this is the cubic phase variation. However, these beams are infinitely extended and in laboratory you cannot do. So for that, you have to put some exponential decay function to accommodate in your laboratory equipment, size of the equipment. So if you have a truncation parameter, still that beam, so if A is equal to zero, it's an ideal airy beam, maintaining all the features over infinite distance. However, if you truncate that beam with some exponential decay function, then still these beams can maintain its properties over a limited distance. So if you take that interference pattern of that beam, it looks like this, and phase profile of this beam is like this one. So typically, if you make this kind of diffraction grating of cubic phase variation, and you eliminate that with a Gaussian beam and do the Fourier transformation, then that will give you an airy beam. It's a two-dimensional airy beam or it's just a one-dimensional airy beam. So we try to use these airy beams because it's having interesting features. And then we try to add whether we can add all the benefits of OPO within that beam. So for that, we have just started this. So this is a pictorial representation of that scheme, which has earned us also a post-deadline paper in 2005, Cleo post-deadline paper, and some of this recent paper in scientific reports. So the scheme is something like this. We have an OPO, it's a continuous wave, and femtosecond anything you want. And you just put a diffracting optical element.  That is really challenging until and unless you have proper understanding about the loss mechanism inside the cavity, and especially for the continuous wave regime. So we put a spiral cubic phase mask here, and then in the first diffracted order, we'll have a cubic phase modulated Gaussian beam. And if you take that Fourier transformation of that, it will give you an airy beam. So then once we generated that beam, we try to study whether that characteristic features are maintained or not. So here, this plot is showing the beam. So we recorded that beam intensity profile at Fourier plane with z equals to zero. And then we let that beam to propagate over distance with different z values. As you can see, the beam is curving either. So if you cannot really appreciate that one, then you can perhaps see this one. So we start with the airy beam and the Gaussian beam as a reference. And as you can see, the beam remains, the center of this beam remains, Gaussian beam remains unchanged, whereas it's becoming diverging because of its nature. Whereas this beam started from some point and it's moving across this point, cross section of this x and y plane. So you are just seeing that propagation of that beam along this line. So it's curving away from its electric linear propagation. Then we also measure its line profile. So we just measure the line profile of this beam over the propagation distance. As you can see here, the size of the beam remains unchanged. Even you have just propagate over two meter distance. So over two meter, the beam is perfectly maintaining its features. Then we also studied its cell-willing property. And we just block the beam, central lobe of that beam here. So we have blocked at a Fourier plane and we let that beam to allow, allow that beam to propagate. And as you can see here that after 40 centimeter propagation, that beam, some of the intensities are coming here and here and then it has a full healing. So it's returning, it's coming back to its original shape. And this below one is a theoretical image. It's also supported by the experimental one. So with this, I just come to the conclusion and for the best interest of time, I'll not read all these conclusions. And I hope I have just convinced you that this structure beam is, we can just produce from non-linear interactions and optical parametric oscillators. With this, thank you very much for your attention. I just turned off the microphone. Yeah, you can use this. Okay. I'll use this one over here, this works. Well, thank you very much. It was a very delightful talk. I'm also glad you mentioned at the beginning of your talk some of the outreach things you're doing. And it was a really interesting, I noticed that the director of ICTV was taking note about that $5 experience. Joe. No, that's really very exciting. And then we are just continuing it. No, that's actually really interesting. Is this working? Oh, now it's working. Okay. So the talk is open for questions. While they're thinking about a question, so we, oh, we have a question. Ah, okay. So can you back convert the IRB beam to a Gaussian beam? No, once this beam is, you know, you fabricate it, it cannot be a, because you just lose some of this. So if you can transport it like this and then back convert it. I just forgot to mention that one. So this beam will have some shape with propagation. Since it's a truncated air beam, this features will be over a particular distance. After that, that beam will be a Gaussian beam. So in far field, so if you allow that propagating over long distance, not the ideal one, so truncated one, the one we do in experiment. So in far field, there are some reports, and we also observe. So you just propagate for five meters. You will see that entire beam is collapsing to a Gaussian intensitation, let's say one patch. Yeah, you can. Okay. These are non-defracting beams. Now, is this very similar to what was called a number of years ago, Bessel beams? No, this one, Bessel beam is a different one. It's a, you can just make that Bessel beam with a center one with high density and then it's having rings. But this one is a different one, so it's having different structure. It's just having airy, airy, airy beam. It's a, I think in, I think Berry demonstrated that one in quantum mechanics, that airy function, and airy, airy, airy way packets, which is having all these features. And in optics, because this Hamilton, sorry, Helmholtz equation is having similarity, that's why people started doing the same thing for optics. In 2007, this is the first time anybody has reported for generation, yeah. Maybe I am wrong. I understood that you change the beam to a phase filter. So there are many techniques. You can just imprint that phase. Because the beam propagation is basically, you can just consider that these beams are interfering with each other while propagating, that propagation. So if you just, in case of Gaussian beam, all of them are having the same phase, so they maintain their Gaussian safe distribution and then no different. But if you just imprint some phase in different points of that beam, then they will no longer be Gaussian. So because that interference pattern will change. That is what we do. Either by a holographic technique, so you just say fork pattern, so that phase variation is there in the transverse plane of the beam. Or you have a spiral phase plane, which is having a thickness variation in the transverse plane. So different part of that beam, Gaussian beam, is seeing different phase. So they generate a new structure. It's a completely different structure. Now, by computer, you can just, SLM or the special light modulators are there. You can just put that phase structure in that one. But this spiral, this special light modulators are low intensity devices. So it can handle only 10 milliwatts or 20 milliwatts. I'm just talking about this nonlinear interaction, where you need to handle, let's say, 40 watts, 50 watts, or four watts in that range, because it's a pulse or CW. So in that case, this SLM will not work, especially. So we have to go for this spiral phase plate, which has higher demonstration because it's made of a glass and they cut it into different shapes with a thickness variation, precise thickness variation. And there is one company in Israel who is expert for this one and that they make, and then fortunately, we get that one also from them to do these experiments. Another question. Okay, this is how I do my exercise. Thank you. So when you use two helical beams with the same value of the topological charge but opposite signs through nonlinear medium, you obtain hollow Gaussian beam. Yeah, yeah. So that's dark core. Does it remain dark in the near and far field or during the long propagation difference? If you just, in the near field, it will be always mentoring that one. Some people said that one, it will be a Gaussian beam, but normally that beam doesn't really bring its intensity back to the center. But if you focus that beam, do the Fourier transform, just bringing that far field to the focal plane, then you can see these beams, the Fourier transform of this beam will give you a Lagrory polynomial with radial index, not azimuthal index. So you will see a bright spot with circular rings. So that is what we can maximum get. Means you cannot really get back to the Gaussian. It will maintain its shape over propagation. Yeah. In fact, we have another experiment where we use this hollow Gaussian beam and study the frequency doubling property of that beam. And then if we allow that beam to propagate, the frequency double beam is also hollow Gaussian beam and it maintains its spatial shape over the distance, propagation distance. Yeah. Okay. Congratulations for a nice talk. Just for curiosity, you said that you could use several years to build your lab. Yes. And can you give us an idea of the cost of equipment to see if it can be done in other countries and developing countries? Okay. Roughly. For my experimental one, I should be honest, okay? So I was very lucky because this institute falls under the Department of Space. So Department of Space, this Indian Space Research Organization is coming under the same. And we are also the part of that Department of Space. And according to the budget we have, we have annually we project some budget. That budget is lower than the cleaning budget of all other institutes, okay? So that's why when we ask, I need this. They say, okay, please. You don't need to present. Take that money and go. So, and when I joined, I got a huge amount of money, fortunately, and then started. So it's a, I don't know how much it will be in dollars or euros, but I can tell that one in Indian currency, some Indian currency because it's in crores or, I think it's a few hundred thousand euros or more. So I think it's a two, three millions of that. My own experimental group is having that kind of budget. Yeah. Any other questions? I think the advice is join a space institute. Well, don't go anywhere. I've got a couple of very important announcements, but let's thank our award winner, Dr. Samantha, for the wonderful time. Congratulations.


All right. Hello, KubeCon. Welcome to my session, Kubernetes Running Manufacturing Systems, a perfect match. About me, I'm Moritz Kruger. I'm a scientist for the Chair for Laser Technology in Aachen, Germany. I'm focusing in my research work, especially on microstructuring and metal-suitable printing. And my personal research topic are normally data infrastructure for manufacturing, cloud-based manufacturing systems, and integration of data science into laser manufacturing. So especially regarding the IT infrastructure behind current manufacturing systems and beyond. And normally, if I'm not doing some cloud-based laser manufacturing stuff, I'm going tightsurfing somewhere in the Netherlands or as you can see here on Sicily. But if you know any other good spots in Europe, please let me know. Today I brought the following agenda. First of all, I'm going to talk a little bit about the Internet of Production, the project I've been working for for the last two years. Also, why do we need Kubernetes for laser manufacturing systems? Also, I'm going to talk a little bit about our current lab setup. And last but not least, I'm going to talk about the experience we made with this lab setup. So it's a good, the bad end of the algorithm. So the Internet of Production, what is it? The Internet of Production is one of Germany's largest research projects in the area of manufacturing and digitalization. We have a funding of around about 50 million and 200 involved scientists. And therefore are one of the largest projects in Germany in the area of manufacturing and maybe even in the world. The idea of the Internet of Production is the idea of the creation of digital shadows. So the main vision here is that you have the virtual world and the physical world down here. So you have, for example, the development phase of a product where you draw something or where you plan how to produce something or you plan, for example, a factory and normally use tools for that and these tools produce data. And then the product you want to produce goes into production. And of course, you have machines that also produce data. And later, these products are getting used and the usage also produces data. And the idea of the Internet of Production is that we bundle all of this data together into digital shadows so that we can later use them. That, for example, a drawing engineer in his development phase has access to some kind of algorithm that analyzes the usage data of previous products, for example. Or that's an operator operating a laser machine has access to algorithms that's analyzing the state of its current laser machine. The Internet of Production focuses on the following infrastructure map. It looks a little bit scary, but let me explain it really quick. We have our data infrastructure down here. So basically all of our product data, CAD data, simulation data, machine data, customer feedback data.  That still is the work in progress, of course. And that binds or combines all of these different data streams into smart data. So here we can run different algorithms and different analytic models to actually make sense of what we are gathering at the raw data level, basically. And all of that, these algorithms can then be fed into the smart expert systems which can help different people in different design phases or in different phases of a product lifecycle. For example, during the development cycle, the production cycle or the user cycle. Of course, we're not doing that alone. We typically have partners in these projects. And this is a short overview of our partners. Not only consisting of, I would say, typically manufacturers like BMW or Airbus, but also digitalizers like Siemens and Bosch and also AWS, for example, as a cloud provider. Well, I'm not here to talk about the internet production. I'm here to talk about why do we need Kubernetes for laser manufacturing systems or manufacturing systems in general. So first of all, what is our laser manufacturing system? I'm typically working with ultra-short pulse manufacturing systems. These look typically in an abstracted way a little bit like that. We have some kind of laser source that shoots from the side in a scanner system. And this scanner systems basically consists of two little mirrors that can be moved for example, an FPGA system to then locate or to place the laser light exactly on some kind of substrate or metal plate. And then where the laser hits, the metal gets vaporized. Normally, you do this with really, really short pulses. So you just vaporize a little bit each time. And the idea here is to vaporize it so fast that the whole plate doesn't get hot. And with the mirrors, you can basically move the laser beam really fast in a predicted pass. And by that, you can create really fancy structures. As you can see here on the right side, for example, you can see, for example, filtration holes that you can shoot into metal surface or also a laser surface that got shot on a metal surface. And as you can imagine, because the beam is moving so fast, a lot of stuff can go wrong. So we typically include sensor systems into that process. For example, video observation systems to observe the process status. One quick example would be the filtration system here on the right.  And you can pretty easily write an algorithm which analyzes video data, which actually detects if the hole is not through. And by that, of course, you can gain access or you can gain more knowledge about the process itself and how well it was done and so on. And you can make quality predictions during the process. The problem we ran into when you want to basically connect so many sensors onto systems like that is that we have way too much data. The laser beam of the scanner system typically moves around about three to four meters per second. So you need really high frequent data acquisition systems to actually keep track with that. A typical camera system is around about 1,000 pictures per second, up to 15,000 pictures per second. And that's just way, way, way too much for... It's barely enough that one system can handle that. So what you end up with is the following setup is this is from our lab that you have multiple laptops, multiple machines connected to one laser system here. So you can see here one of these laser systems and the laser beam getting guided in here through this fiber. Then you have a camera system here, you have another camera system up here, you have a microphone here, and then you have all these different computers connected to these different sensors and to the scanner system and to the laser, which are responsible for aggregating the data and controlling the system. And normally the problem we run into, of course, is how do you handle that kind of workflow? What we started with was a workflow where we ran around in the lab and were shouting at each other, something like, okay, I just turned on the camera and then the next one said, oh yeah, I turned on the microphone.  That's basically the scientific work we did, which of course was pretty error prone because a lot of stuff can go wrong. Somebody can accidentally not start the camera system or accidentally name it differently and so on. So it was really hard to handle that data and to set up a reliable experiment with that. So the idea was now, okay, we need some kind of system which bundles all of that together and had some ideas and then we thought, okay, let's try microservices because first of all, they are distributed anyways and second of all, we can go completely on a network system, we can rely on a network and make it really, really plug and play basically. So the most critical problems we wanted to focus on were in the first hand, how can we actually integrate industrially communication protocols like Modbus or VCUA into a microservice-based architecture? Also, how can I actually store all my sensor data automatically because that was one of our biggest pain points? It was just eating so much time that we had to handle the data manually and last but not least, we wanted to make the whole thing as extensible. So the idea here is, how can I add more actuators or sensors later on without influencing the system too much? Yeah, so that's pretty much the motivation of our system. That's where we come from. Now, a little bit about the architecture and the current lab setup, we have at the moment. We started with a really, really general architecture. So we said, okay, cool, we have now all these different services. We want these different services. We want one service that constructs a scanner. We want one that does the sensor and we want, for example, also something that analyzes our sensor data. As I said, for example, the example was shooting a hole in a metal plate. We want to make sure that this hole is actually shot through. So we need some kind of analytic service which takes a picture, takes a look at the picture and then tells us, okay, where are the holes in the picture and do we maybe run or need to rerun the process or the laser beam on that specific point? So the idea here was, okay, we kind of like put the analytic service in its own bubble in its own container and therefore we can basically move it out of the system and then we have some kind of job controller in the middle right here which connects all of these different parts and has the complete execution logic bundled inside of it. And of course, when you need some kind of job controller, you need a job spawner and some kind of user interface to actually handle all of that. If you now map that to our laser system again to answer the question of how do we integrate different protocols is we came up with our three first container-based images with a movement service, a camera, service and a scanner service and all these different services can talk to different, can talk different APIs. So the movement service, for example, can talk Modbus, but doesn't really matter anymore because we are using GRPC to control the movement. So we have a standardized way of talking to hardware which then gets translated into another protocol. We also have, for example, the camera service which talks some kind of USB, API, shenanigans and then we have a scanner service which we can also control via GRPC which connects to our FPGA system and then tells basically the mirrors and the laser beam what to do. And this works really good because we have now our scanner services. We designed them stateless. So when they come up, we know that they are already configured, they are already honed, they are already basically ready to go and the user of that system doesn't need to worry about it anymore. You just sense a signal like move from point A to point B to the movement system and the movement system does that. Same for the laser system. You just send the laser system basically a drawing, for example, to shoot a square and you just give it basically the vector list of that square and the laser service or the scanner service will make sure that this square will just be shot onto the surface. And the job controller is then just basically shifting around all of that different information between all of these different services. So that was basically part one. How can we manage different hardware protocols? Well, basically we introduced a new layer of abstraction by using, for example, GFPC. Of course, REST could work as well, but we wanted a protocol which is binary because of the high throughput we had. So we decided on GFPC for that. The next question we had is how can we actually store our data automatically? For that we need to take a look a little bit deeper into the services that we created. So we're going to focus, for example, on one of these hardware controllers now. And we came up with the following structure. So the idea was, okay, we have our hardware adapter, basically, which controls our hardware. So we have some kind of scanner system from one vendor, and we make a GFPC interface right in front of that so that we can control this system directly via a network hole. And we put the whole thing in a Docker container. And we then introduced the so-called service controller, which basically proxies the incoming client call to the hardware adapter. So what happens is a user connects to our scanner service and says, hey, scanner, please shoot one point. And the service controller takes this request, sends it down to the hardware controller, the hardware controller shoots one point, and then goes to the service controller and says, hey, okay, I just did that. And the service controller will then save the call and the answer of the hardware into a database and make it basically lock itself. So it's basically a really simple logging mechanism. Of course, this is pretty boring for actuators, but for sensors, it gets very, very interesting because you can say something like, hey, camera, please take a picture. Then the picture gets taken and then you save it into your database and you just hand over the URL back to the client and say, hey, I just took that picture for you. If you want to take a look on it, just get it whenever you want, and whenever you want to get it. So the nice part about that is that everything you do is getting locked and saved. And since we put everything in containers, so we have one container for our service DB, we have one container for our service controller, we have one container for our hardware adapter, we can put or use config maps to configure that and we have some kind of automatic configuration management, which can, of course, which Kubernetes luckily already provides. So we don't need to worry about how to handle configuration in that system anymore. So well, what we ended up with in the end was basically a Kubernetes cluster which spends not only from into a data center on the shop floor, but also spends onto the edge directly next to the machine. So what we can see here is that our edge is basically the computer or the server sitting or directly controlling the laser beam or directly controlling, for example, the camera system. Of course, since we are in a manufacturing environment, we can go pretty, we can buy pretty large systems here. So these are normally not, I don't know, Jetsons or Raspberry Pis, but we buy real server-grade stuff because we have enough internet connection and we can also provide enough energy because our data system already needs energy so we can just leverage that. But we can also use or connect it directly via Kubernetes with our data center where we have multiple servers running. And the nice part now is that the picture I just showed you, because of Kubernetes, we can shift all of these containers around. So we can say, okay, cool, I have a camera system which produces 15,000 pictures per second. I probably need the database pretty close to the manufacturing system in order to even be able to save that into a database. While with other services, you can decide, okay, maybe it's not that important. Maybe I don't want the hassle of actually having that kind of database right next to that. I can put it into the cloud, for example. And that is really nice about Kubernetes that it gives us the flexibility of shifting all of that around and see what actually is happening and design your system that you can very flexible change depending on the data stream you're using. So you can plug in a new camera system which produces a lot more data. And then you say, ah, cool, I just need a database right next to it. Damn, it's there. So that's really, really nice. And later when your process, for example, is not running, you can then decide, okay, maybe I migrate now my database from the edge nodes, for example, into the data center. But then it's not time critical anymore. You can take longer. Okay, coming to the good, the bad and the ugly. Well, the good is we have a CI form manufacturing system that's really, really nice because we went full container on that so we can now just build, deploy, and push all of our stuff directly onto the manufacturing system. We have automatic sensor data acquisition with high throughput, which is also really, really nice to have because before that we had to handle that by hand basically. Because of Kubernetes, we have a single point of truth for configuration because we use config maps for everything. And that is really nice, especially from a scientific point of view because we know what's going on. We can roll back. If somebody changes some kind of, I don't know, frame rate or the, I don't know, acceleration of the movement service, we see that. And we can use Git to versionize it. By the use of GRPC, we actually prevented vendor login. So the system I just showed you works on, I think right now, three or four different movement manufacturers and also on two different scanner laser manufacturers. And it's also scalable to probably a few thousand of nodes so you could run your complete shop for all of that. And you also get remote control, which wasn't a thing till now at our institute, which brings me directly to the back. Well, you get remote control. Of course, since we are now completely network based, we open up for hackers and so on. But yeah, Kubernetes is, I think, a very nice system to handle that. It gives you a lot more overview of what is actually going on. But still, we are running a laser system in the network. So yeah, we have a little bit of risk here. And this is especially a problem when you take in consideration user management and safety stuff. If anybody knows of some kind of way of authorizing, of some kind of way of proximity based authorization, please give me a call. I'm really, really interested in that. And of course, one of the larger problems we have is that we have now a distributed state management, which makes stuff a lot more complicated. Normally, we had one machine connected to multiple things. That is way, way, way easier to handle than multiple machines in the network, which is running unreliable. Okay, the ugly. Well, you run into a lot of concurrency problems with micro-services that you don't have to handle before when you're not using micro-services.  It's just crazy how complicated industrial protocols is. Also, most of our hardware is still windows-based. We are currently picking a lot of Linux stuff, but a lot of that is still windows-based. I see the whole industry is a little bit shifting, but it's still a lot of windows, which isn't that good for humanities. And we have finally automated testing so we can test our machines automatically pretty easily. Summary. Yeah, micro-services for manufacturing are really, really cool. It makes a lot of fun programming your manufacturing machines with that kind of architecture. It's very, very scalable, and the management of your manufacturing machine parts become quite easily. And it also gives you the possibilities that developers can hook into that system. Yeah, that would be all from my side. Thanks for listening. If you have more questions, please send me an email or ask them directly in the questions and answers directly after that. Also, I would really, really like the DFG for sponsoring this scientific research via the Internet of Production. Without that, I wouldn't probably be here today, so thank you very much for that. And see you in the comments.