I love lithofanes and color lithofanes are my absolute favorite. Today I'm going to show you how to take this and turn it into color super easy on your bamboo lab printer. My name's Jim and this is the Edge of Tech. So like I said, I absolutely love lithofanes in general, but I really love making color lithofanes. And with the bamboo lab printers and the AMS, you can do this easier than it's ever been. It literally takes the bamboo lab CMYK kit and a few minutes of time to come out with just some amazing color lithofanes like this one right here. It's crazy easy to do and I'm going to walk you through step by step how to do it right now. First thing we're going to do is head on over to lithofanemakers.com. There is a link in the description below to take you right to the color lithofane page, but just note that this can do all sorts of crazy lithofanes if you want it to. We're going to stick with the color ones today, so head over to lithofanemakers.com. Then you want to choose the button to upload the picture that you're going to be making today. Now you can size it to pretty much any size you want, but today we're actually going to make it the size that fits in the bamboo lab frame that they have the free files for online. So what we're going to do is jump in and crop the lithofane in the top left. You want to check that little box to crop it. And then what we want to do is choose the size of 144 width and 108 height. Also you need to set the first layer to 0.15 and from there you can use the X and Y shift adjustment to move the crop box around and choose the part of the picture that you want to crop in on. It's super easy to do. Once you do it once, you'll know how to do it very quickly. Right below that we want to make sure that if we are using the bamboo lab CMYK kit, we use the number one default option for the colors of the lithofane. So just leave it right there as long as it's on number one default, you're good to go. Then you want to plug in your email address on the left side. Once you do that, you can hit the show expected image button and that will show you about what the image is going to look like. It's not exact, but it's a pretty good replica of what it's going to print. From there, you want to hit the create STL file on the left side and that will download the zip file with all the files needed to do this project. Once the file unzips and it usually doesn't take that long, we want to extract it. On a Windows machine, we'll do that by right clicking and choose extract button. On a Mac you should, I believe, right click it and extract it as well or unzip it. And inside that folder, we're going to see five, yes, five different STLs and then one text file. This is the point where you want to open your bamboo slicer or in my case, I'm going to use orca slicer because I pretty much swapped over to that now. And you want to just take these five files, the five color files, not the text one and drag them right in to your bamboo studio or orca slicer. It's going to pop up and ask you if you want to import these all as one object and you want to choose yes to this option. Now we need to make sure that all four of your CMYK colors are loaded in the AMS of the bamboo lab printer. Don't forget, there is a link in the description below if you want to pick up the filaments and the other stuff we show in the video as well. When you have your filaments loaded in the AMS, as long as it recognizes them, you're good. To make sure it's going to recognize them, you want to go over to the device tab in your slicer, whether it's bamboo lab or orca. Choose the printer that you're going to be printing with. In my case, it's Morpheus. And on the right side, you should see all four of the colors and what slots of the AMS they're in. As long as you see that and they're correct, you're good to go to the prepare tab. If not, you want to go and edit each of those colors and make sure that they're the correct ones in the AMS. You can actually re-sync it because they do have the little infrared tags on them that will read the filament when you load it. Then you want to go back to the prepare tab and to the left of the printer that you're choosing. There's this little button here. You want to click that and it will sync your AMS colors with this prepare tab. It might ask you to re-sync or sync. Just click the re-sync button or sync button, whatever it shows you. And now it'll show all four colors right in the prepare tab. As far as settings go, I'm going to be using a .2 nozzle because that gives us the best results. You can use the .4 nozzle. Just use a very small like .08 layer height. But in my case, we're going to use a .2 nozzle. Then we're going to go down and select the first layer height and change that to .15. Then we're going to go over to the strength tab and make sure that our top and our bottom layers are set to 3 each. Then we want to change our infill to 100% and it'll throw this warning saying, hey, warning, if we do that, it has to go to rectilinear and that is perfectly fine. Just hit OK and we're going to keep moving. Now I like to use my cool plate when it comes to lithofanes because I like to have that smooth back on the bottom. But you want to make sure you jump up to the top of the printer and choose your plate. So if you're using the textured PEI, that's totally OK. Just make sure it's chosen. In my case, we're going to use the cool plate. Now what we need to do is click that objects tab and that will show us a list of the parts that we can color. And we just need to make sure we assign the right color to the right part. So you will see two whites, so make sure they are both white and make sure that you just go through and choose each layer to the color that matches the AMS slot you put that color in. Oh yeah, and it actually says the name of the color right in the file. So if it's a cyan or yellow or white, all you need to do is click on the part number and with your keypad or your number pad, press the number one through four that corresponds with the right color that are loaded in your AMS one through four going right to left. Once we have all the parts colored correctly, all you have to do is hit that slice button. Once it's sliced, now it's the most exciting part. It's time to print the file.  Like I said, in my case, we're going to use Morpheus. So it's time to send it over and let's see this bad boy print. And just like that, when it's done, it looks like this, like a regular old lithofane. If you turn it a little bit, you can kind of see the color. From the back, you can see a whole bunch of colors as well. But this thing turns out so awesome. And when the magic happens is when you actually take it and you put light behind it. So it just lights these things up so good. You can see all the scenes, the different colored lightsabers. And this was a free wallpaper on Google, just in case anybody's wondering. But this is so cool. I love how it looks and it just makes these things come alive. I love all the different colors you get with that CMYK kit. And from there, you can actually print the frame if you want. And this is a free print and a free model from Bamboo Lab as well. And the link is in the description below. But it looks like a picture frame. And on the back, it has this, like, picture frame thing here. And everything just kind of slides into it. Let's check that out now. So I just talked about the frame, but we need to check that out because they actually have a pretty cool little setup where they actually sent me this LED USB-C light panel. This light panel is pretty dang awesome. And it all fits into the frame. You can print these frames in pretty much any color you want as long as you have that fill in it. So it's cool because all you do is take your frame here and you take the light panel, which is now available on the Bamboo Lab website individually. You can buy these individually. I think they're $9.99. They have just a ton of LEDs on them. And as you've seen earlier, it looks really cool. I'll lit up in the frame. But basically, you take your LED panel. You slide it into the back of the frame. So here's the back. And it slots in like that. And there's a little piece right here for your USB-C to stick out. So that slides in like that. Now we have our LED panel in. You print a diffuser, which is this piece right here in white. They also have the model for that free. And it's all in the Bamboo Lab link below the frame, the diffuser. And in another link, you'll see the panel for the lights. But you check your diffuser and you push that in right there. So it all slides into the bottom here into slots. Now we have what looks like basically a frame with a white background. Then you can take any one of the lithophanes you just created and pop that in right in the front. Oops, I'm upside down. There we go. So then you can take any of the lithophanes you just created and pop them in right in the front. And they're super easy to take out and put other ones in if you just want to rotate them, if you want to try new ones. But that's what it looks like there. Then we can take our USB-C cable. I have this quick power bank to show you what it looks like. We plug that in the back. And boom, we got light. Let me show you what that looks like a little closer. And now you have the full scene in a really cool frame. God, I love how those lightsabers pop and the stars and then all the faces. It's so cool to see that. So that is the frame in a nutshell. And you can use just a quick wall plug with the USB-C cable. And these can set anywhere. I love how this looks. Again, there's links in the description below for the actual instructions on how to do this while you're following along. That'll give you the frame, the diffuser, and that. And also the link for the LED panel that they do sell now for $9.99, which is an awesome deal for this. Overall, I love color lithofanes. I have loved them ever since I saw my very first ones at Burf 2019 when Jason Proust brought them there. And he is the color lithofane master. So if you haven't checked out his work, check it out. I'll put a link in the description below too for his stuff. And now you can make them so fast and easy with the bamboo lab printer, with the AMS, and their CMYK kit. Also, like I said earlier, don't forget, you can use lithofanemakers.com to make all sorts of really cool lithofanes. They don't all have to be color. I'm talking everything from regular old flat lithofanes to round lamp shades. It's off the wall. So check out lithofanemakers.com and let's see all the cool stuff you do. And tag me below if you use lithofanemakers.com and how you liked it. I'm just going to swap this out to the Hogwarts one. But smash that like button if you liked the video. Hit that subscribe button if you haven't already done that. I'm on my way to 100,000 subscribers and every single one of you guys matters. I really appreciate it. Also, don't forget to check out that video right there.


Today I got back some of the most epic pulls we've ever had on the channel from PSA and we're gonna see what grade they got What's up guys rocks and 34 back with another? PSA return this one is not one card. It's not two cards. We actually have more than 10 cards We have 11 cards So this one actually might be a little bit longer Usually we have been having like one card because PSA is taking so long to get orders back only express orders are coming back This is actually my voucher order from my PSA some membership So they actually don't aren't doing right now because they're so backed up So this is 11 cards some cards you guys have been asking about like where's the ghost or rainbow dragon? It's in here. You said what it was the other one. I don't know somebody's been asking me about a bunch of these cards I'm like well, I graded them. It's just taken a really long time. So the giveaway for this video is snow on light of dark world. We've got a Graffa the dragon lord of dark world and an Amazonas Swordswoman All you have to do is like the video be subscribed and let me know your favorite card from this PSA return Also, I do has to I finally got some sleeves in the mail, but they're still in my car So I forgot to get about good thing. We don't really need them. Well, we do have this We're gonna open up this circuit break special edition just because the video will be kind of short also, we can pull some pretty cool stuff in here the Sphere mode raw is in here as well as evenly matched, which is still a really expensive card So we could pull that we're gonna go ahead and do that and then we're gonna open up this PSA return Also guys for the giveaways a lot of you guys have been asking they are announced on the community tab I haven't really powdered into you guys brain much recently. Oh, it looks like we got it the wing dragon of raw Sphere mode I think that's a few dollars even as the super rare. So that's a pretty cool promo You get that thing already. We can't sleep it up because all the sleeves are in my car So what is that later? So I got a nice promo there We got three packs The community tab is on my YouTube channel page So all you have to do is I'll pop it up on the screen and that'll show you guys how you can see the giveaways I usually do about once a month I know it's kind of slow But I get way behind and then I have to do a bunch at once and that's send them all out Yeah, it's just it's a lot. It's a lot when you do one every single day But I try to keep up with it. All right circuit break. Let's get into it Also, if you guys want to support me you can use my TCG player and eBay affiliate links below a lot of you guys have been using them Which is really cool. So I appreciate you guys doing that and supporting the channel gateway dragon These are guaranteed super rare. So nothing too crazy than that one Two more packs. We got circuit break. I've not opened much of this since I opened a full special edition box And I think I got more low dragon and I got a few sphere mode. So it was it was an okay box Metaphis executor twinned This is the original twin triangle dragon guys. Oh My goodness by the way There are some insane cards in here guys. It's gonna be really awesome. I can't wait to get these I've been missing these cards for a long time and I've been like, please can we send these back? I want the cards back. Oh Ultra guys Marionette or we got an ultra rare. We did get an ultra. Okay. Oh ling ling. I remember him Okay, so nothing too crazy in there. We did get the winged dragon for a sphere mode Which is cool. That was from the mystery box that I opened yesterday I'll pop it up there if you guys didn't see it and tomorrow will be the next 10 We're gonna be opening up a buster blader 2003 10 it's gonna be awesome. By the way, I know my voice a little raspy. It just kind of is right now But let's get into it. Set that down. Here we go You guys ready for this it's gonna be epic Let's start off with wait. What is that? Is it cracked? Wait? What's the deal here? What is that? There's just something in the case. What is up with people doing that recently Becca was doing that I saw in poke revs video and now PSA check this card out cyber dragon infinity. I got this in a collection I bought I think incredibly nice-looking card. It is the 20th anniversary. You can see that right there really cool Cyber dragon infinity. It's like a it's like a starlight, but it's Japanese. They got a nine, so Not that good really cool card got a midnight. It was just kind of sad. I don't really know why Wait, what wait wait wait wait wait? Are we gonna do this again with the stuff on the back? Tell me or not. Oh look at these dots. Why? Why is that in there? Oh? No Okay, I'm trying to see if there's anything wrong with this card that I can see besides them putting a dot in my card Which is kind of annoying and all this junk see what is all this junk? All right, so I don't know what to deal with that is hopefully that's not on any other cards Praying okay. Let's see if we can do this right. Okay. Here we go. Toon black luster soldier This was pulled in that super long case opening with vintage Yuya I think this was in the one on my channel, but then we also did another case on his channel So it could have been on that one. I'm not sure but Pulled we split this up and this one was mine to black luster soldier collectors rare first edition Pretty good. I mean like a really good condition to tune chaos had pretty bad print quality, so Ooh, two black luster soldier collector rare that we pulled got it in We it was pretty nice to get a good one and we did get a 10 on this one just super cool The sintering was a bit off This way but not too terrible But this one snuck out the gym meant 10 which is pretty cool always nice to see that so we've got 110 We've got one night Next next card. Oh Yes, you guys remember this if you guys been here a while I think this was a long time ago when I did this collection. I bought this guardian Iatos in a collection Like I'm thinking I had like a thousand or two thousand subscribers when I did this video and Every single card in this collection minus this card in a first edition ultimate rare forbidden chalice was absolutely destroyed I'm not talking about heavy play.  So it was super weird. The best two cards were in great condition So this guy was super nice. I was like, alright, we're gonna try this out at the time when I sent it Which was forever ago. I think it was August 1st when they received it So I'll probably send it like July 1st. It was pop zero one did grade like last week as a gym intense So it's pop one guardian Iatos PSA 10. I kind of got that split somebody told me that I'm too now Somebody told me the pop update and this one is pop two Guardian Iatos First edition Stardust overdrive. Why is this card so so important or expensive? It's from Stardust overdrive. No first edition booster boxes in the United States I think there were a few European first edition boxes, but there were no None in the United States so you could only get them from the tins or you could get it from the pre-release pack So very hard to find first edition Stardust overdrive You can also get them in the the things that you give all those opens those little special editions So you can get them there as well occasionally not every time So this card is super hard to find the first one that was pop one sold for $2,750. Yeah, that's right $2,750 so this one I think is gonna be up for sale So I'm gonna be looking to sell sell it around that that price So if you're interested hit me up I'm gonna sell this one and probably be looking to get something else for the channel So good for you guys, but first edition Guardian Iatos. That's really cool. So we've got two PSA 10s. That's a good start Next one we have Mask hero dark law. This is an ultimate rare from OTS. What one? Yeah. Oh, yeah, OTS one of course Super super nice card Ultimate rare check this thing out Okay, maybe is there a little got a little ultimate rare back there I mean not much at all this thing is beautiful this thing is super nice the corners look good on it. Let's see Yeah, I corners look super nice. I mean just a super nice dark law got a nine. We're gonna crack down dark law from OTS one Why did it get a nine Honestly, not sure. Is there a print line in there or something? Maybe there's a print line. I Don't know though. I don't know this thing looks pretty nice. How's the sin ring on it? Sinnering looks pretty good I'm a little bit puzzled by this one. Maybe this does have a whitening up here Shoot, that's a pretty nice card. I don't know if you guys see anything on this dark law Let me know because this guy this guy's looking like a strong candidate for a 10. Maybe we'll crack it I don't know about that one. I don't know about the infinity either to be honest I'm not sure what the deal was. Okay next card. We've got another ultimate rare. This is an elemental hero Stratos from OTS nine Super nice ultimate rare. Let's check it out It's like the ultimate rare does show through a little bit on this one Little bit. Yeah, you can definitely see the line on this one. Oh Okay, it's not that big of a card, but Stratos ultimate rare got a 10 so I'll take that But yeah, this one has a gym in 10. So Yeah, there you go I'm not sure what I'm not sure what the difference is here I think this card even though the ultimate shows through the back that really shouldn't count against the card Because it's not damage. It's just that's just how it is So if you're gonna count off for that then a lot of ultimates couldn't get it and also looks like they got more junk in My card look at that white. Don't know what that is and that okay, that one's on okay That one's on there. That's fine. So that's super weird, but that one got that one got a 10 Okay, a little confused about that one Here is the dark magician girl the dragon night that was pulled on the 10,000 subscriber every pack opening We pulled this guy out of dragons of light. Well girl. I guess dragons of legend first edition Pretty awesome card. Let's see the sin ring looks pretty good The back okay, we got we got junk on there. I mean they got a little bit of junk in all the cards Which is kind of annoying. What is this? How's the how's the corners look? I mean you could say there's a little bit of extra card there. We're not too bad I definitely should have cut my fingernails for this all this close up on my fingers the dark magician girl dragon I got a nine. This guy's not happy. There's something going on here But overall nice card it don't I don't know he got a nine. I don't know I'm not sure what the deal is to be honest. I don't see anything wrong with it either But it's really hard to tell what the case sometimes you can miss stuff So am I gonna say they're completely wrong or anything guys The one and only Cyber dark dragon if you guys remember if you guys are a very very long time subscriber I pulled this one when I have like 200 or 300 subs I then graded it with my first ever PSA submission like that was that I sent myself I had sent a couple through other people my first server through myself and it got a nine So I was like man That's a bummer and I left it sealed as a nine for a year then I decided you know what that thing deserved a 10 I'm cracking it. I cracked it Send it back in As you can see it does have this foil shift So I'm thinking maybe that was part of the reason it got a nine before because if they're thinking maybe that you know There's something wrong with this card, but really it's just foil shift So it shouldn't count the front of this card is immaculate the centering is really good on it And let's see the back. I think the back has a absolutely tiny Blemish you see that right there. It has a tiny blemish right there It's just a little little tiny thing slight line from the ultimate rare, which is you know normal for alternate rares But in PSA Jim it's in they say you can have one blemish. So That's why I was like, okay that you know if that is it right there See I can show it that is it it should have a chance at a 10 you see that very slight It's on the back and it's a slight blemish. It's not on the front. It's not on the artwork It's like this thing has a chance Every great a 10 Yes, one of my favorite cards ever one of my definitely one of my favorite pulls on the channel And it's back as a tin and it's awesome. I mean, I'm gonna keep this card anyway because One of my just one of my favorite cards to pull that I pulled check out the artwork ultimate rare just an incredible card Incredible addition to the collection. It was a nine already and I loved it now I like it even more because it's a 10. All right Next another resub ultimate rare Elemental heroes shining player wingman. This guy was also a nine. I cracked it. I'm like this thing is really nice Here was the problems with it. Here we go. You guys see that whitening right there I'm pretty sure that that was not that bad when I sent it to be honest pretty bit I mean, it's pretty significant right there Then we have another whitening spot and Then let's see if we can see the rest of the card the rest of the card the surface is incredible incredible super nice the back Oh You can see the ulti stamp. I I bet the ulti stamp was not Not a good because it looks like damage. You see that you see how it has lines right there line line line That looks kind of like it the card got like been to damage. We're really it's just his wings I Got a negative grade so I bet that factored in to a near-mintament eight I bet that's what happened Because you see his wings right there and then you see it back here. You see that that's his wings showing through So I bet that had something to do with this regrading an eight It went down really the only blemish on this card are these two corners. They're they are obviously are not perfect, so Probably not 10 worthy. Maybe I'll send this to like Beckett and I don't know if those would get an 8.5 corners or not Maybe they could get nine corners because the surface on this guy is great other than the imprint of the back stamps We got an eight. That was an extremely sad, but I said you guys will see my reaction I said I'd rather have an eight in a 10 regrade than two nines because the nines would have been a waste of my time The 10 on the other hand is awesome. I mean, that's a huge card. I think it's over $3,000. So it's really nice Here it is the ghost rare blue eyes wide-drying This is the one that was also pulled on the 10k special when I looked at it I was like man, there are no print print lines on this thing now. I'm seeing this I'm not sure if that's on the case or the cart. No, not that was on the case. Okay Look at the look at the foil on this thing Is that not like beautiful? That looks really nice. Now. We got it. You gotta flash all these different ways like TCA gaming But to me, I'm not seeing any anything there How's the centering the centering is pretty good Something in this car looks really good. This thing has a chance the back looks Really nice. The corners are cut oddly. I'll give it that they are cut a little weird Eight point five Someone tell me how this is an eight point five Like even a nine. I'm thinking why is it a nine? I'm thinking why in the world is this an eight point five? I have no idea. I legitimately have no idea where this grade came from that foil is insanely clean I don't know. I really have no idea. So we got to make a fourth pile. I don't know what happened with that one I'm so confused Okay, two more cards We've got another ghost or ancient fairy dragon guys. I'm telling you this card was beautiful So beautiful like the foil on it was so nice Here is the thing I'm seeing right now the centering on the top versus the bottom is not too good So that could definitely dock it and then it's the same on the back. Oh What is this a Nick on the top left corner.  I don't know that they did or not I mean that because of my video of my ancient fairy dragon this one that got a 10 I was looking at it and it's possible the corners were already like that So I can't blame them also. I heard that it's very it's pretty normal for ancient fairy dragons to have that damage So maybe it was already like that Man, but this card surface was incredible The ancient fairy got a nine. That card was perfect.  They got a little crap on it Yeah, I got a nine So I think the reason is this centering was not great and then I don't remember that being there But it's possible was there so that combined with the centering got it a nine So I'm seeing it now. I was thinking man. This car was perfect, but I guess it was only nine worthy. Oh well And the final card the card we've all been waiting for for like months Rainbow dragon first edition ghost rare Oh, yeah. Oh, yeah Big time The one we pulled from taxable evolution the seventh pack out of a hundred that I bought and by the By the way, the same seller that I bought all those glass packs from and everyone told me they were scaled because the seller scaled them Same same seller right here. This seller that sold me a ghost rare in a pack. So just saying Incredible this card looks so good. I've missed this card Yeah, so the front on it's pretty good The centering is slightly off and then here's the problem with this card. Okay, first of all This crap that they keep getting in my my cards is not a fan of it But you can't see in this is a thing about PSA when you grade them You can't see the back surfaces super well.  Which one rainbow dragon it had scratches on the back I think this thing was okay, but it had some surface scratches.  So I'm not mad because here's the thing. It's like When you send something into PSA You can't just say it deserves a 10 or whatever Like if it doesn't deserve a 10 doesn't deserve a 10 because that's what some people were saying like when I got a Nine on my shining dragon that it was like PSA screwed you or whatever It's like really didn't because I think that's a nine worthy card I think borderline maybe on a the best day ever it could get a 10 But I can't be mad when they give me a fair grade if I'm mad about fair grades Then I can't be mad when I get like a 10 when something didn't deserve it I just you got to be happy with what you get. So I am happy with this mid nine rainbow dragon ghost rare I mean this card's amazing. This card's really awesome. I'm so glad it's back Slabbed up so I don't have to worry about it getting damaged or anything Epic memory of when we pulled out probably I'll probably show the replay You know it used to be in the outro for like months and now it's finally back Maybe we'll play the outro with the rainbow dragon just to uh, you know respect it All right. Yeah, I probably cut all that part out of me taking the thumbnail shot But yeah, I hope you guys did enjoy the video. I appreciate you guys always supporting me It's pretty awesome. We've got an epic 10 opening of buster blade the first one ever on this channel Tomorrow it's gonna be really good I think Sunday we're gonna be opening some of the packs from that mystery box probably some of the gx packs So it's gonna be a lot of fun and yeah, I'll see you guys later. Thanks for watching Peace


Conditioned reinforcers. Conditioned reinforcers are stimuli that have acquired their reinforcing properties by pairing the neutral stimulus or a neutral stimulus with another stimulus that is reinforcing. For example, the clicker training stuff from Karen Pryor. We could pair that sound with food. Treat. Treat. And that will eventually produce that sound as being a reinforcer. We would then call it a conditioned reinforcer simply because we had to develop that reinforcer. It was not natural.


So the very reason why we take people into the mountains is to make them experience the mystical dimension of the Himalayas. We are not a tourist company. If you go there by yourself, the enormity of the mountains, the natural beauty of the mountains is so overwhelming that you will just be gaping at every rock and every peak because it's much more than your eye skin grasp. It's very difficult for you to understand what's Himalayas even physically. Right from my childhood I had seen many, many photographs of Himalayas. I had seen many documentaries about Himalayas. I had a huge picture of Himalayas in my mind. But the first time I went there, everything that I had in my mind was shrunk. What is actually there is far bigger than that. It's very difficult even to take it all into your mind. So if you go there, generally the physical Himalaya itself is too overwhelming. It puts you down to your size.   But the mystical dimension will be missed because you'll go about gaping at the beauty of Himalayas. So the very purpose of taking people on a trek like that is so that they can have an experience of a completely different dimension. If I go into these things it'll go endlessly. Your question? Let me try to bring a little experience to you. This was many years ago. At that time I used to travel alone in Himalayas. But now traveling alone is impossible if I go. I have a full ten busloads of people with me. So I went to Kedar, beyond Kedar there's a place called Kanthisarovar. Anybody been to Kedar? Nobody? Okay, that's good. Beyond Kedar there's a place called Kanthisarovar. The legend goes like this, that Shiva and Parvati lived on the banks of Kanthisarovar. The sages lived in Kedar. So sometimes they came down visiting. That's how the legend goes. So I wanted to see this Kanthisarovar, I just went there. And I just went and sat on a particular rock. See, me as a person I have always avoided learning Sanskrit language. Though I had an immense liking towards the language, I avoided learning it when I had the opportunities to learn. Because the moment you learn Sanskrit, you will end up reading the scriptures. My own vision has never failed me even for a moment in my life. I didn't want to clutter myself with traditions and scriptures and other things. Right now everything that I do is simply, purely from the source, not cluttered with any tradition, any scripture, any teaching, simply looking at life. So I didn't want to read scriptures. I consciously avoided Sanskrit language. And that day I was sitting there alone. It's… In terms of visual beauty, it's the most incredible place that you can think of. You know, snorkeled mountain peaks, completely snorkeled everything and there is a… you know, like a lake which is about two kilometers, two square kilometers kind of lake, absolutely still reflecting the mountains. It's… you know, not even a blade of grass anywhere, everything is white and this patch of water reflecting the mountains, it's indescribable really, even visually I'm saying. So I was just sitting there, my eyes opened and suddenly everything in my experience, my physical body, the rock on which I'm sitting, the mountains, the lake, everything became sound. What was all form became everything into sound. Now that sounds crazy. When everything becomes sound, we call such a state as Ritambara Prajna. When you're in a Ritambara state, everything becomes sound. It's based on this Nathaprama. And in my own voice, this song is going on like full volume. I can clearly feel that my mouth is shut. I'm not singing, but it's my voice in full volume. The song is just going on.


So, I see that everybody was here already for the overview talk, which is quite nice, because then I can skip the first part of my presentation, which will be about how to collaborate in the opens with the build service. And the general content will be, what do I mean with collaborate? How does the build service allow me to do that? And in the end, show you some examples how people are doing it right now. So first, what part? As Adrian nicely explained, the build service is just, if you never heard of it, it's something and I'm pretty sure for somebody that never heard of it, it's total chaos. You get projects and packages and builds and repositories and there are maintainers and command line clients, blah, blah, blah. So, I just want to make clear what the build service really is. The build service is a maintainer, creates a project which contains a package or more packages. The package contains sources and spec files which then get built and the result is a repository containing binary packages. So, that's the part where the end users are, that's the part where the developers are. So, with that cleared up, let's have a look at how the build service supports me in collaboration with others. So there are two hooks you have to collaborate in the build service, two easy hooks. The one is based on the project level which, as we can recall, is just some place that contains one or more packages. The other one is as a package level, that means I can do a contribution purely on a package level. So, if I have more than one package in my repository, I can collaborate with Adrian on one but not the other. So, first is how do I collaborate on a project level? It's fairly easy. You can either in the web client, you can either click add user and I can, for my project, add Adrian as another maintainer and be done with it. So, Adrian has all the same rights that I have. You can add packages, delete packages, submit other code or submit patches, everything. So I can do it in the web client with a simple click or I can do it in a command line client. Like I've shown here, which is just not a good font, so it wandered down, but it's just adding one line to some XML file. So I have my project, I'm the maintainer of that project and I added just another user as maintainer, in this case, Derek's. So this is collaboration on the project level. So now me, Hennel and Derek's can do everything in that project. Like I told you before, I can have another easy hook to collaborate, which is the package. And surprisingly enough, it is totally the same. We have just another XML file and I can just add another line and collaborate on the package. The same way on the web client, I can just add user as maintainer. So in this case, I have rights to do something to that package, like adding another patch, updating it, whatever, changing configure lines, whatever. And I just granted Derek's the same rights. So this is the second easy hook to do collaboration. And then there is the usual practice we have in the open source world that people are just saying, oh, no problem, just submit me a patch. And this is the usual case because nobody wants others to mess with his own system. So if I don't want people to add packages to my project, remove packages from my project, if I don't want to have people, other people than me to have the ability to change one single package, I can always say, OK, come on, submit me a patch. So there is tooling for that in the open source build service. I mean, it's always easy to just do that. I mean, come up to someone and say, dude, I've updated your package to 1.1. I made you a patch, and that's easy, but we have tooling around that process. So the same as this you can do with an OC command, which means obviously if I updated Pascal's package, then I had a look at the package, I grabbed it from somewhere, I gone over it, did my changes, now I have them compiled in the patch, and I say to Pascal, oh, come on, I submit it to you. So the same as just here as tooling in the open source build service means I just get Pascal's package from somewhere, which is OC branch. So I branch it from Pascal's project. This will create a copy of that package in a project of mine, which is under my home in the open source build service, which is I then can check out. So I have the actual files on my system can do my changes and can do the telling Pascal that I have updated his foo to 1.1 and telling him that I mailed him a patch. I can do that with a command too. I can just do OC submit request, create, and then create a patch from my project, which I updated to his version, which is not updated, and Pascal gets a mail and we'll see that there is a submit request for his package foo. So from Pascal's side, this looks like, OK, there is a submit request. If there's more than one, you can list them on his project and you can look at what I did with the tool, which is submit back show. So either Pascal knows, oh, I like that, then he commits it to his tree, or you can say, no, it's nice that you've done that and I can take 90% of it, but there is stuff that I won't take. So he can either accept these or not accept these. And if he not accept these, I get a mail again and he can tell me in that mail, OK, you updated to version 1.1, but you changed this one config, which I don't like, I want to have it otherwise, and stuff like that. So the whole process of two people talking to each other is like automated in the tool, which makes it easy to scale it up. So I mean, if me and Pascal talk, it's probably better if we do it on some IRC channel than to me branching his package and blah, blah, blah, blah. But if you have more than two users involved, it really gets easy to get mixed up in that. So tooling around this process is really nice. So what I want to show you is now some examples of how people do stuff and collaborate in the build service today. As you can imagine, this tooling I just showed you, you can use it in all kinds of ways. For instance, we have a new repository in the OpenSuser project, which is called Contrip, which is kind of a universal third-party package repository, where people that are not directly contributing to the OpenSuser factory have some place to put packages in. So with the tooling we have for OpenSuser factory Contrip, which is the development branch, we do it like this. For new packages, if you want to submit your package that didn't exist before in factory Contrip, you have to do a submit request, which means you have to do this, oh, I have this new package, I sent you a patch that adds it to your repository. Then there are people more than, I mean, there's a whole team behind that that just reviews the submit request that come in for new packages. Once you are granted access to that package, to the repository, you are the package maintainer.  You cannot add another one, you cannot remove other packages, you cannot do anything to the repository, you can only do stuff to your own package. This means process-wise, if you update a package, you just work on it and check in and stuff like that. If you don't want to maintain it anymore in that repository, if you say, okay, maybe I maintain KDE 2 in it and now KDE 4 is there, so I want to get rid of it because everybody has moved on to KDE 4 anyway, I can just drop it, for instance. So I can do whatever I want to my package but not to the repository. Then there's kind of an extra repository for every released version of OpenSUSE. So for instance, with 11.2, we will have 11.2 Contrib where the tooling and the process is completely different. So new packages are simply not allowed. The project maintainers means that can do stuff to the project like deleting packages and stuff like that or having it built for some other distribution or whatever are still the Contrib team. In this case, for the individual packages, the maintainers are also the Contrib team which means if you had your package in factory Contrib, you could do everything. If it wandered to 11.2 Contrib, you can't do anything. For everything you do to that package, you have to submit a patch again. So you can see in that example that we are trying to follow the general factory rule we have at the moment. This is unreadable, so I can explain it a little bit. This is actually the usual OpenSUSE development model. On the upper line you have the factory stream which is just like in your SVN, your head branch or whatever, always the newest stuff. Then somewhere at some point in time we start the development of 11.2, then do something, release alphas, bethas and then gold masters and then somewhere in time the development for 11.2 stops and we branch away 11.2 and have the same here. So this is the general OpenSUSE development model which is kind of reflected here.  So this is how we today in OpenSUSE Contrib use the tooling around the OpenSUSE build service to just have a repository that follows the general OpenSUSE development model. So how do we do it today for factory which is the OpenSUSE development distribution? At the moment we have for each package in the distribution we have someone directly responsible as maintainer which means it's kind of easy to set tooling up around that because if you want to submit something to the VIM package of OpenSUSE factory you have to go to the VIM maintainer and tell him I have changed this and that and that and can send you a patch. So the idea at the moment is that you just do a submit request to the OpenSUSE factory VIM package and the VIM maintainer takes care of all the OpenSUSE factory VIM submit requests. This is how we are doing it now which kind of scales badly because for every package you need someone directly responsible which means if we have like today somewhat 3,000 packages you have like either you add more people that care for factory if you add more packages or the package count for individual developers goes up and what we see at the moment in the OpenSUSE build services that factory cannot really keep up anymore because you need to find other methods than having someone directly responsible for a package and this is kind of the state we are at now and where we are trying to come up with solutions and one of the things we thought of in the moment is to have some kind of review team like the OpenSUSE account team that is not directly responsible for one package but where people reviewing just simple patches and stuff like that and that's the way we currently think we can do it but there we are in discussions and that is because for factory there are a lot of restrictions for instance factory gets used to build a lot of other packages so if you submit something to factory it gets immediately used for building other stuff and a lot of stuff like the whole build service. I mean every project in the build service at least every OpenSUSE project has an OpenSUSE factory branch where they build against factory so that's one restriction we have that there has to be some review otherwise you can't do it and then there has to be some scheduling because I mean if all of you have one after the other great ideas for the G-Lib C package and you submit and submit and submit and submit nothing will ever get built because if G-Lib C changes like the whole system changes and gets rebuilt so if you check something into G-Lib C and then you and then you nothing gets ever built that's another thing we need to do with factory scheduling and as you can see there are a lot of restrictions but I think the tooling around the OpenSUSE build service is actually equipped to handle that so that's the current state of collaboration in the OpenSUSE build service if you need me to show you stuff we can go down to the booth and I can show you how to set up your project to handle the different roles of maintainers and stuff like that or I can show you how submit request really looks like and not on a slide but in real life and stuff like that and if you have other questions you can ask them too so are there any questions now you would like me to answer yeah yeah you talk about branching and I have two questions related to that when you branch a package if the original package it's changed do you get a notification of that no no not really you could get a notification but it actually it's not needed because the branching works with the sourcing mechanism that means that you are in your branch project has a reference to the original one still and when you change something the build service is storing your change so when the other guy is what you link to is changing also the system automatically tries to merge both changes and it's still working of course there can be the situation that stuff is conflicting and there we still have a problem that the merge handling is not nice enough this is something that we need to work on at the moment but in theory you can that's also a good thing when there are for example five submit requests to one package and now you accept the first one and then you see okay the other four three of them are still applying but one one is not anymore so you can decline please adapt it again and the other three we can see okay from then I take I take that one and then you can see if the other bows are still working so it's as long as as emerges are the changes are not conflicting it's really easy to see if they have an influence to each other and to merge them together just the manual merge conflict solving tool is not there where it should be that's something we what we need to improve my question was more on the like if I branch your package and I want I want to maintain that branch not that you want to merge my patch on yours like I have my patch and every time you do a new version I will get my my branch revealed so that's the same as the sourcing mechanism I mean that's the example with the corner you have the corner and you want the multimedia patch but the kernel developers don't want it because it reduces the speed of the Oracle database then you can perfectly easily set up your branch project this is sourcing and this is what happens in the end with the branch command at your patch and as long as your patch applies you will all the time get the latest package plus your patch compiled so if the other guy is changing something some source your package gets compiled also again so to to to make that quick this OC branch command does nothing else than creating another project underneath your home project and linking the sources can you close can you close a branch sorry can you close a branch like you open a branch and you maintain that branch but when it's merged to the original you just delete the project you delete the project okay and then you said you talk about the country the country team who is the country team is a suzia employees you mean no what I mean I mean there are Susan employees I for instance and I'm in the country team but there are others as well that are not employed by Susie or anything so but what's the difference I mean how someone gets in the country team you said you can we initially started just doing a call and who wants to because it means work I mean you you have to review patches from all over the place and you have to review full packages and in the end if we have a released contract like for 11.2 you will have to review security patches and stuff like that so it means work so initially we just ask who wants to do it and those guys who said yes I know the country team so there was no there was no formal decision-making process or anything we just asked and be done with it yes if you if you yourself want to be maintainer of the country you can just come to the mailing list and say okay I want to help out but in the end we will probably clean up this team every once in a while and throw out people that are not contributing anymore and why do you have to have people I mean when people in the factory country has to be not the same on that on the country team sorry I mean you have people that would be in the factory country and people on the country why it's not just the same people no we have you have two repositories and you have one contract team that is caring for in factory contract only for new package submits so if a package that wasn't there before gets submitted to contrip here this this team has to take care of reviewing their package you are you are the package maintainer of the factory content let's for example I do a package and I ask for this package to be in the factory country and I'm the package maintainer then when this gets to country you mean when this gets to yeah I mean I could still be the package maintainer why it has to be a different person I can explain to you're not the package maintainer anymore because otherwise you could change whatever you want in a released state of the repository that means for the end users that use your packages they have a moving target all the time so we want to have quality packages in open user contrip so we follow the same rules as we have with factory which means for instance no new packages on in released repositories no version updates or only sparse version updates for security problems or we say okay we're not changing the way the the whole thing is built too often so we don't get rebuilt too often and stuff like that so that's why package maintainers individual package maintainers cannot maintain their own stuff in a release state of the country repository anymore that's the stuff the contract team will care for which does not mean you're not responsible anymore or do you're not you're not able to help anymore it's just not you cannot check in every time you want to yeah but I mean if you want to have a package that works with factory and you don't want to maintain that package you just have your home projects but if you want a package to be in the country I think you should be the one to to maintain that package there are probably some cases where the original maintainer is also in the country and he's then of course also maintaining his own package in the is not that in the in the moment that you joined in the moment you join the contract team you're no longer allowed to maintain your own package that's not the problem but if you're maintaining it for the contract team you have a different set of standards to obey to no version updates no oh that's a funny feature I enable it now no you can do that in factory but don't do that in the in the stable contract in there it's basically the same like we work at at Susie when we package I'm sometimes I would like to do a version update for a released version but it's very hard you need very good arguments to be able to do that what you need to keep in mind is that we want to have really lots of people using cron-tip and we want to have as much trust into this repository as possible what's important here is it's a visible service always the thing stuff gets build it automatically and people who have added this repository get directly affected so it's way more risky than with just an SVN where people can review it or usually any standard user but a package which gets installed is it gets installed as route and so the so there is some risk that it damages the system and especially for an unstable system like an open to the 11.2 there must be some review in our opinion to have to keep the trust and as you maybe can hear from the from the comments from Stefan and Adrian it's kind of my evil hidden plan to form factory contract after factory so in the end we can just merge them back together and have contributions to to factory directly and but first we need to resolve this this review step somehow because I mean factory contract will have a lot of users but factory has really a lot of users and you don't want to change stuff in there that breaks people's system or that opens root holes or whatever so there has to be a review and that's my personal evil plan how I designed factory contract to to adhere to the same standards as factory because in the end we will just merge them back together but that's stuff for the future and this is what we have now so any more questions okay then I'm finished early


So here for peers is a youth run program where we train high school students in grade 10 to 12 to go into grade six and seven classes and teach them about mental health. They deliver workshops in teams of three and they have students from the parent high school go into the catchment elementary school and connect with the kids who will be coming up to their school in the following year. So the Vancouver Police Foundation have been funding it for the last five years and the Vancouver Police Department have been administering the programs. Kids learn calming skills, have access to resources, understand mental health and reduce stigma so that by the time they were entering into their teenage years they have some of those baseline skills.