Okay, so I'm Armin Rigo and I'm here to to let Romain speak. Hi. So it's the biggest crowd I've ever spoken in front of, so sorry. So yes, you can find me on the internet. I've done Pipe I Work and also a bit of Scython work. I tried to make Scython and Pipe I Work together and the approach was wrong, but it was interesting to see because now we know it's wrong. And I've worked on Python 3 and NumPy support mostly. So yes, last year we didn't give a Pipe I Talk and then people asked us if Pipe I was dead. So no, it's fine. Don't worry. Yes, well, we would have made 10 years of Euro-Python in a row, but we broke the streak. So yes, what is Pipe I? Pipe I is built on top of the R-Python tool chain, which is a subset of Python on which you can write dynamic languages. So the main advantage over C or C++ is that you get the JIT for free, basically. And also a good garbage collector. So on top of R-Python, the main interpreter we've built is Pipe I, which is the fastest Python interpreter around.  So if you're interested in games or low latency, it's better than previously. Fast JSON as well. So if you're doing web stuff, this can be useful. And yes, NumPy and faster JIT and stuff like that. We also have UwisGIS support, thanks to the CAPI for embedding with it. So this is not the same API as the C-Python CAPI, but you can use it to embed Pipe I. So yes, R-Python is a framework, so we have also multiple languages on top, so we have a re-implementation we've built called Topaz and Hippie, which is PHP VM. So yes, to do stuff faster, we need money. And so Python 3, I mean, we managed to do a lot of stuff with not a lot of money, I think. So Python 3 support is 50% done, and we've done 80% of the work, probably. And as well, STM, we made a second call for donation to have a more production-ready STM. So hopefully, if you have too much money, I mean, and then, well, if you've donated before then, thank you. So yes, we also have done commercial support for Pipe I, so if you're a big company and are afraid to use something that you don't know how to hack, then, well, you can hire us. And also, if you have performance issues, if you're open source, usually will help you for free, but if you're closed source, then, well, sorry. So yes, if you have Python code, I mean, we're very compatible. I mean, aside from implementation-specific stuff, it just works. And C code, well, we've worked a lot on being able to communicate with C. So we have CPYX, which is the compatibility layer for the C extension API. Well, the thing is, the C extension API is hard to do if you're not C Python, basically. So we've built also CFFI, which is as fast as the C API, but a lot faster on Pipe I. And so we also have the embedding API, as I said, and we can also talk with C++. Psycho-PG to CFFI is like the best database driver on Pipe I, for example. And we've also built CFFI-based LXML and Pygame. And also we have, we're slowly but steadily improving non-pycable. So yes, PyPy, I mean, it's just fast. And this is a lot of benchmarks that we have that represent real-world usage. Some of those benchmarks were contributed by an lading swallow. So we didn't write them, so we did not make right benchmark to show how fast we are. We wrote them to help us get faster. Well, we didn't write them, but we used them. And so ARM, thanks to the Raspberry Pi Foundation, we have production-level ARM support. It's faster. The speed difference between C Python and Pipe I on ARM is bigger than on X86 because the ARM CPU is not as smart and Pipe I just produces very nice code for ARM. And well, C Python doesn't. And so it's in the standard distribution ship with the Raspberry Pi, so that's quite cool. Non-py support is in progress. We have, we passed that much test, but it doesn't mean much. But it shows that, well, we've done stuff. And well, it's a hit and miss right now, so if you can just try it and tell us what you need, then we'll work on that before working on something else. And we don't have C Python support yet, but we have an idea on how to make it work, so hopefully this will pan out. And no, we won't rewrite C Python from scratch. Pipe 3K, so we've released 3.2 not so long ago, and we started the 3.3 branch. If you're working, if you want to get started into Pipe I, this is the moment to get started because once we've catched up with C Python, then there won't be any entry-level task lift, so you can find us at the sprint, and Pipe 3K is a good way of getting started in Pipe I. There's also a few missing optimizations on Python 3, but we are working on bringing them back. So yes, CFFI is a way of interfacing with C. It works on the API as well as the API level, so unlike C types, it's more type safe.  Unlike the C API in Python, it runs on Pipe I, which is good, and it's super fast on Pipe I. I mean, it's almost as fast as just calling C from C. And STM, well, the GIL is kind of a very whole problem, but the advantage of the GIL is that it doesn't, well, it hides a lot of concurrency problem, so software transactional memory allows us to have the same GIL semantics without being, well, without the GIL, so you can run on multiple threads. And it's also a mechanism for same concurrency, so threads and locks are horrible, so hopefully this will be better. And yes, we have released a Pipe I STM with a JIT, so you can find it on the Pipe I blog. It wasn't released so long ago, so you can try that. And that's why, and then now we're talking about having a production-ready Pipe I STM, maybe. And if you're more interested in removing the GIL, then you can see our talks tomorrow morning. So yes, you can find us on IRC and our blog on Pipe I, and well, if you have any questions, then you can ask on IRC or right now. Did you bring smart Pipe I compared to Swift? So the question was about Swift and how much Python sucks compared to Swift, according to Apple, and well, if you can look at Alex Gaynor's Twitter, he wrote the same algorithm Apple used for their benchmark, and he got a very good performance improvement on Pipe I, so I don't think, I think it was just marketing stuff, basically. Yeah, of course. Hey, coming back to maybe mobile, as for example, Swift, my experience in Python was that quote per quote arm would be about 10 times slower than x86 in my Python C-Pyton code, which I put down to very small or no cache and all of this view, which makes sense because cache takes a lot of power. How much is this penalty for Pipe I? Is it less of an impact or more of an impact or is it about the same? So the question was about arm and well, Python and arm and C-Pyton compared to Pipe I, so I think the main performance difference is in branch projection and Pipe I does better because it's a tracing jit, so generate just one linear trace, so basically we Do you think it's more due to code or data modeling? Code, I would say. And finally, a quick one, what do you think of Pipe I becoming possibly in the ideal world a defect of programming environment for Android? So Pipe I on Android and I don't know, I mean Google owns the platform, so ask Google. Yes. Why don't you skip 3.3 support and go straight to 3.4 support? So why aren't we going straight from 3.2 to 3.4? Well, 3.3 is a subset of 3.4, so if we do 3.3, then we get part of 3.4. I don't think there are any language changes in 3.4, it's just library. Well, then we will get 3.4 for free. Okay, so Pipe I support. We want to embed C Python, basically. And then you can pass the, well, the way we've written Pipe I, we use the same storage, like the storage is done in the same way. So you can just pass stuff around. I mean, you can pass around stuff between C Python instances, so you can do the same with Pipe I and you can use that. And Pipe is, well, it's tons of C, which Pipe I won't get any faster, so there's no part in that. Yes. So creating .exe files, right? Stand-alone exe files? We don't have really anything planned on this, but if you can use the embedding API, you can probably, well, you will probably have to write the compiler thing to make it into one binary, but there's the embedding API, so I think it would be potentially doable. How well can you currently constrain resources used by the JIT? I know that's the JIT maximum memory usage or things like this. Can you basically say I only want to have 50 or 80 megabytes used by the JIT X file is going to actually keep to it? So the question was about resource management in the JIT, so you can have, you can limit the size of your traces, that sort of stuff, so you can, yes, restrict memory. Yes, you can as well, I think. No, you can't. Yes.  So, yes, what's not done in NumPy, basically, it's a lot of very small problems and, yes, more testing, more things like interfacing with C libraries, like for doing FFT, that sort of stuff. So we're working on that, and it's also a good way to get started if you're interested. Well, for example, the bridge between C libraries and PyPy, you can do it in pure Python, you don't have to learn R Python, so it's a great way to get started. I think. It is between the standard C Python and the PyPy, you can write a program and runs okay in this implementation of Python, and in the other, it will run without any change. So the question was about differences between PyPy and C Python. So the garbage collector is different. So your objects aren't guaranteed to be cleared as soon as they go out of scope. So if you rely on your destructors to free resources, it can cause problems. For example, file descriptors. So if you open a lot of files in a loop and you don't close them, then you will run out of file descriptors. That's one of the most, well, that's one of the main differences, I would say. Yes. Is the version number related to PyPy? No, it's not, well, it's the number on my chart related to PyPy. No, it's related to Python. How so? As a question about garbage collector, what is about weak ref products? So the question is about weak refs on PyPy. Do you know any differences? No, no differences. Well, I mean probably you wrote the garbage collector, right? So he knows best. So PyPy used to have quite a large memory footprint when it was running, it was very increasingly improved. Where does it stand now relative to a significant implementation of a real world system? How strong is it? So the question is about memory consumption. So it depends on your system. I would say PyPy, well, it depends on your amount of code related to your amount of data. If you have small code but a lot of data, then the difference won't be that big. If you have a lot of code that you run very often and you have a small, and you don't have that much data, then it will take more memory. And we've also fixed a bug in where file descriptors weren't, well, we fixed a memory basically, so it can be better as well. Is there a threshold that you can set on the garbage collector? No, I was just repeating your question. Are there processes in the system in terms of how frequently it is being run? I don't think so. Yes, we're not sure. But you have various thresholds that you can set, like running the garbage collector more often, that sort of things. So you can do that.  We can just free some objects that... Is it then a fixed percentage overhead that is kept as garbage? No, I think it depends. It depends on how big your heap is. Yes? So how is the code generated by the JIT shared? So yes, it's shared by... Well, it's shared between threads but not between processes. What goes into PyCache in PyFi? What goes into PyCache? Well, CFFI based extensions? No, no, you can't have traces. Well, you can't write them to disk. Traces have memory addresses, hard written in them. So if you reload them, then your entire memory space is different and you can't choose them. Yes? So, you don't make a strong argument or something that says strong argument for type annotations in Python as a way to increase performance and support. Is PyPy going to make it irrelevant or is PyPy going to use those in fancy ways? What's the plan? So type annotations for PyPy? PyPy doesn't care. Yes, it will make no difference. I mean, you can use them for checking your code or whatever, but PyPy is built for dynamic languages. So, I mean, by making the language less dynamic, you don't get that much.  Yes? So, are Python as a general purpose language? Well, we don't recommend people who use, well, you shouldn't use Python as a regular language. If you're writing VMs, I think it's a great language, but if you're writing general purpose applications, I think it's horrible. You can do it, but it's your own problem. So, the question was about implementing statically typed languages using PyPy. I don't think you would get more. I think you should use other languages. I mean, LLVM is just about code generation. You still have to write tons of stuff to target LLVM, but I don't know. At some point, PyPy is also just a VM. So, if you target LLVM for your language, then that's wrong. I mean, a lot of languages are targeted to LLVM, for example. Yes. So, I know, for example, so the question was about other languages targeting PyPy. So, the other question was about static languages, statically typed languages. I mean, I don't think you can get as much performance as you could, but I know that, um, Hi, the Pythonic Lisp that runs, that compares to Python by code, and it runs pretty well on PyPy. So, it's a dynamic language. Yes. Back on the subject of RAM, as a while ago, it seemed to report a blog post talking about having a more efficient representation of homogenous types in lists. So, rather than storing the higher effects of the story from later time, can you say a bit about what that by is and what's the data type? Okay. So, the question is about storing homogenous types in lists and how that affects memory usage and performance. So, we'll have a thing called list strategies and dig strategies and set strategies. Yes. So, it works on basic types, basically integers, strings, floating numbers. And, for example, in a list, you just store unboxed ints, so you get just an array of integers like you would get in C. And you can do optimizations based on that. I mean, if you pass an array of integers to a loop and the loop is jitted, then the loop will assume that you always pass, well, the jits specialized on the fact that the loop is only integers. And so, you don't need to spend time unboxing the integer, for example. And if you put it back into the list, then, well, you don't get the boxing unboxing part, so it's also good for performance. So, what happens if you make it a non-homogenous list? So, you turn it back to a regular list of objects and then, well, if you pass that list to the code, then it will use compile a different path. Python 3 version of pipeline, are you still able to unbox integers because the integer is now arbitrary size? So, Python 3 integers, how are they optimized? So, that's one of the optimizations we removed, but we want to reintroduce it. I don't know if it has been already. Yes, it may have been already done. So, yes. I remember a very old look that was introduced in the software transaction and then, say, the initial implementation used a pure software information. And in the future, then, new Intel processors are introducing hardware support to accelerate it. So, the question is about STM versus HTM mostly. So, while right now we are having a pure STM, it would be possible to have a hardware-assisted STM, but right now, I don't think the CPUs are ready. The Haswell CPU has HTM support, but the limits are too big for us to use it. So, can we use the PyPyG to generate a binary? No. I don't think so. Well, the PyPyG generates linear traces. So, it uses types it sees to generate the traces. And so, if you wanted to compile it statically, then you would need to compile for every types possible in your program, which is, I don't know, I mean, which is something similar to what HipHop did for PHP and they ended up with a 10-gig binary, I think. So, we don't want that. Yes. So, C++ support. So, I think the project has moved from using GCC to using Clang, which is much nicer to have. Well, it's easier to write plugins. So, now it's using Clang for that. Yes. I didn't hear your question. Yes. We're going to embed, yes, Cpython inside PyPy. At least that's the approach we're working on. Yes, you could move potentially objects between... Yes, I mean, it uses CFFI, so you can do what you want. It uses the Python CAPI. So, basically, you can embed whatever you want. And, well, I think it would be possible, maybe. I have to try. I would like to try to embed Python 3 inside Python 2 or something. That could be fun. What's the biggest installation of PyPy in production? I didn't have the authorization to say it publicly, so if you see me outside, then I'll tell you if you don't repeat anyone. So, yes, I can't repeat that, but it seems that someone is using it for something complicated and interesting. So, another round of applause.


Okay, can you guys hear a sound now? And I'll run by everything that they just said. I need a sound check. Can you guys hear? Yes. Okay. So Erica and Whitney, Whitney has taken Rhonda's class before about a year ago, and she has her own business, which is. So my own beach finish that we're about to do for me, it hits home because it's very similar to the water that I just, for me, sells like people how to do it. And this is one of the finishes that's most popular for art, and a lot of times we're countercops. She does floors with oceans, not touching a floor, but. Just because you guys didn't hear before, we're over at Rhonda's, Rhonda Da Coolis's place at RK3 Designs. I have to always push that out to make sure I say it right. Da Coolis. The coolest, yes. And she's in the middle of teaching her epoxy pro class, and we're on day two of the marathon class, which check it out if you are taking the resin really serious and about to bring it into your business. It is a, it is must. So, do oceans because water's transparent, and keep it really easily, and it gives awesome depth. It's not mine for real. Up on the stairs. That one wasn't mine. I think you can't do that. I think you try it after I left, who's like, I really like a deep color. Excuse me. But, you know, it all depends on what you're going for. So Erica has, you know, hers is a little more transparent than mine, or lighter color, so she put less dye, put less drops. You just play with it until you get to the point where, you know, the color that you want. The colors are buildable. There are tints from color session. You can add as little or as much as you want. It's not going to change the chemistry of the resin, and it will never be opaque. You're just deepening the color. I use a couple drops for my like shoreline, and then I'll add a couple more into this as we get deeper, because it'll change the color. On this piece, we're using turquoise seas for the, I call this a shoreline color because it's kind of more green as it rolls up onto the beach. They're tints. They're tints. They're not water games. I don't know what science is in them. I know that they will eat a fish. You know, I put some blue dye on the beach, but hey, you can put a turtle there. That is true. And a red. I know that she's going to these instead of the old school droppers. I mean, I like them. It's easier for me to ship. I have a little water. I'm going to put a turtle here and just pretend it didn't happen. What happened? I don't know what you're talking about. It's just a shadow. Shadow. It's a shadow of the water that used to be. Can somebody hand us some more paper towels? Somebody spilled their Gatorade there on the beach. Someone was going to put a turtle on the beach. I don't know what you're talking about. I don't know what you're talking about. I don't know what you're talking about. There, on the beach. Someone was digging for sand. It's a paste. I don't know if Rhonda's gone over the difference in paste, tints, dyes, micas, all of that. Loosely, but not specifically yet. So paste is a pigment that's made for resin. It's got a binder in it. That is also some kind of science that I don't know. But it makes it into resin really easily. A lot of people like to use acrylics to color their resin in the art world. I don't recommend that, but it's possible. Because you shouldn't use ink in water days because it's going to break down the durability of your resin. And just as a side note, that 10% thing is very, very critical if you do decide to go into acrylic paints because you get the wrong percentage, it sets up real fast. And you'll get that marshmallow fluff thing in no time. And the colors aren't nearly as rich. Nearly. So this is super opaque. It's kind of like the aluminum light guys, but it's heavier. So it'll be better at getting the cells out. Whitney's going to use color session. You may have to get that one to keep going to open it. Never mind. She's got games. I secretly tried to open it earlier. It was really tough, so I loosened it earlier. Peter. Whitney, you're not supposed to say that. You know, you go with the bang there. I'm honest, I can't help it. So you guys didn't hear, oops, sorry. Y'all didn't hear before we're using just resin, diamond coat resin. Yeah. There's a lot of resin in that. Go ahead. Yeah. And so if you only use a little bit, it gives just an elegant, slight sparkle. Yeah. It's like, it's opal. I don't have like some keyless or what. It's not my favorite. So while she's doing that, I'm going to get started on this. I'm going to let you guys try it out. So Whitney, prep this board for me. Thanks. Do you want to talk about the board since we have like, it was actually a board that was poured by Rhonda's, I think class last time. And so what we did was I took a sand color and I sprayed the beach and then I, right over top of it, while it was even still wet, I took the stone. What is it called with the brand of the stone spray? Rustling and stone spray. Rustling and stone spray. I like the lightest color that you can get with that. We have variations of colors. But I like to go right over top of that because it gives you a really cool beach sand finish. For this one, I used a different brand. So you can see the black in that. And then what I did was I just faded my ocean colors from light to dark. You can pick whatever variation of colors that you like. Every time you do that, it gives you a completely different beach look. So very mine. There's no wrong combination because everybody's beach looks different depending on the minerals and deposits and such. Exactly. So clear right here to figure out my shoreline. And this is also going to separate my whites from my blues so I don't end up with a light blue way.  Now Erica can I ask you something? Sure. When I do this, I do them for tables, countertops, things that you're doing all over. Yeah. So normally... But I learned something yesterday from Cornhubboards, I guess.  It's leveled up. So you don't have to do a flood coat. You do. So that's what gives you this flat surface. Okay. So does anybody have questions about that?  So I'm going to clear this whole stand and then I might wave in. I think you're going to... So she's going to end her wave here and have stands exposed. Yeah. And then again later you can do a flood coat if you want to make it into a flat surface. What I would do is do the matte top coat where the stand is because the reason as an artist I don't... I do counter tops in Google's but my bread and butter is artwork. Right. And mine is table tops and everything else.  But I believe you can do it this way and still flood a little bit. Yeah. I would just tape up the sides so that... Because if you just do a flood without taking the sides you'll see that ridge because it'll self level you. Not pretty. Put any glitter in this layer because I usually add glitter into my... Or whatever you use. Glitter, abalone, halo. I love halo. I would put it in my flood coat or if I'm going to do a second color coat I'll put it in that. So I'm not too worried about it. This coat is really just about getting your design and color done. So but if I wanted to do this for a table I would probably open a top coat here. To keep the sand matte. I use real sand in my work from... Well in Dallas we don't have...  Sorry. If I did use just because the color is not going to change all the sand that I've ever used I would use a synthetic sand because this is going to be that color. True. Alright. Erica you need to speak up apparently. Having trouble... Oh apparently in Whitney too. Yes we are live. Hey guys. Yeah look who's in the house. If you speak up I'm going to put you on. You know that. So Whitney when you do... Oops sorry. When you do your sand how do you add sand to your board? Everybody kind of does it a little bit different.  Okay so we can actually add just a little bit of resin to it enough to give it... it would be more textured. I see it for you. I'm sorry. No no that's... But I mean is it like a peanut butter? Is it loose or like a honey kind of thing? It's like a thick cold honey. Okay. Yeah that helps. So if I do this that means go louder. Add a little bit of pigment every once in a while to give a little bit of variation in my color. But I'm still only using the same three colors. Right so I pretty much only use two colors as well and then I use the base coat of the spray paint as my like first layer of depth. So I'll use... sometimes I'll even use five different blues to get my fade from like to dark then using the two colors of resin you still get variations of shading because of the undercoat of spray paint. How about us working the color together? I do from dark to light so I can bring up some of the deep shade. Officer. I bring the dark into the light color. Yeah I try to blend the two together. I mean when do you guys see the ocean and it's not you know it's all the blue right here and it's all the blue here. Light blue here? No it's all different variations right? You want it to be... I only can't see nothing. I want alien beach. I think you're using the wrong colors though. I've done alien beach. I've done all colors. You've done the unicorn beach. Are you gonna do high heat and runoff? Do we need coasters?  I'm not using tape again. Okay. Very much. No, we're gonna use different attachments to kind of show the differences in what they do. I'm gonna use what I call plastic attachment I think it's called a diffuser. Mine's a tape and grown-up term and I think that one's called a concentrator and grown-up term. Is it? Yeah.  We got a maybe on that one. That was a nice night. That was so much fun. Okay. So I'm applying my white where it touches because I want it to be underneath of this book. But Whitney is going to be resin on resin. Yes. So you'll see the difference. I guess for a smooth white you don't have to work with something else. So... I'll show you guys something. So I did not mix my deep blue or whatever deep turquoise in there enough. You can actually see the streaks of the dye in my eyes. I did that too, but... I like it. I do that on purpose sometimes. Same. I liked how it came out because it gives it... There's little... I don't know if you can see the little streaks. But usually I do try to mix because I can always pick some of the steep blue up and run it through my lighter turquoise and mix them like that. But it looks kind of... It looks kind of cool. I also sprinkle a little bit like diamond dust and then move it around with my hands. Yeah. Yeah. Can't blame it on Bowie this time. And it's an extra $200. Okay, the reason why it's so important to make sure there's no floaters before you do this is because I'm going to stretch this wave and if it catches on something it's going to split your wave and finally do it. I said nobody likes a floater. So... I'm going to put... Y'all know how many with degrees. I don't know how many degrees this is, but that's the degrees I'm going to do. Two. Two degrees. Also that... Oh no! Uh-oh. Floater. Oh! He's a floater. He's a stucker. He's stuck. He's a goner. Oh, he did. He can't. Oh, he did. He can't come back from that. He did. He's a turtle. Keep him? He's been pre-bugged. That's his torture.  You're not going to take him out. I was going to eat him. I'm going to pre-heat a section and then push the wave and then move on. Okay. I'm going to have quarts run because I don't have time to wait around for like this piece then... Thing? It says Miss Muscles that open the jar easily. Guys, it's a super long table. I can only get so close. You need a selfie stick next. You're so out of time. Do you want to explain it? How the cells form. How do you... What makes the cells form? Oh, if you want to get science, you can go for it. Oh. Because that's grown up. I'm not 100% sure. Sorry, I was just saying that. I do have top cell and base cell payment. I wouldn't do this design. See all that mess up? Both of these face they're using are considered top cell, where you want them to be on top of all the colors to have reactions. You just whispered in Rhonda's ear and she's like, yeah. Now go for it. I'm just edging out my wave. Okay. We have a full coat of resin on our board, even over our sand. You guys have seen Erica do this a thousand times, but I haven't seen Whitney do it. So I'm just going to focus in on Whitney. Oh, God, not too close. No, I'm on the board. Okay. Start with my beach wave first. And then I... Depending on how big your piece is or what you're working on, sometimes I do tiny posters that I get my substrates from Erica. They're awesome. They're plexiglass. And what's great about it is that they come with this peel back on them or top of hand back. And when you're done pouring you have the drip. You can just rip that back off and you don't have to worry about sanding or anything. Once it's cured. When I'm working on a small substrate like that, I will go ahead and pour just one wave because it's the white wave. You don't want it to be overpowering on something so small. Something bigger like this, I'll pour my one beach wave like that, and then I'll probably do one more thin wave through my blues and then blow them out. Yeah. So that's what we're going to do.  You notice we always start pouring our lines off the substrate so we don't get that initial blow off. Right. You want to start off and pour all the way off. So I'm going to just go back and add a little bit of a thicker. Because to me, a thicker foamier wave by the beach is more natural. It makes sense with it hitting all the resistance too. Yeah. I don't even know. Is it? Yeah, it makes me it's heavier than, no. You may want to put that one in. Which one? Oh, I just did just resin. This line was just resin. You put your foot here and then you pick up this one. So this one was just resin. Uh-oh. So this line, you can tell the whites are a little bit different. Cool. Let's see what happens. What's happening?  Apparently she was trying to dry Erica's hair. I don't know. I was trying to dye her hair. So you're almost at a 45-degree angle, aren't you? Yeah. It'll throw white droplets across your teeth. See how he crippled that? But you can always just take it out with your finger or blend it in. That is the cake attachment that she's got on there. It's also one of the highlights that heat in the air flow. Erica has them on her website. If you want to order those. That sounds like experience. So my colored epoxy into my second wave a little bit because it tends to look like it's a wave that's an undertow wave.  First on the internet, that's probably a good point. I'll get in close so you guys can see details when they're done. There's so many people around here are being tricky. Nothing else just telling them I'll get in closer later. From her regularly these are her no louder. A lot of different ones.  Turtles, there's all kind of dolphins. I think she has porpoises. So her name's Mermaid Trash and I think she's in Boca. So I get them on her website. They're really great.   Just like this to give it one more layer of depth. It makes it look really real. And then a final flood coat I'll do that especially if it's I always do a flood coat just to give it extra protection. It also adds extra depth too I think especially with an art piece something really nice high-end gives it a little extra depth. Exactly. So it gives it that it looks like you're on the boat looking down at the bottom of the ocean. It's really cool. So I'm just going to sink this little guy in kind of right here because I want him and I want him under the wave. Okay. Are you worried about tapping resin on top of him or just making sure it I will just to feel more comfortable if you want to if you have extra resin you can just pour some over it but you want to be careful because if you're going to pour more resin on your piece it's going to you're going to get movement. It'll move your waves around and make it look not so good. I'm going to leave him because tomorrow I'm going to do another coat and also just cut sticky ones on it and prick it and just put them under your first layer. Okay. Like just black or gray? What are you going to do? Well usually just get your airbrush in. Well not all of us have a Jeff. Everyone needs you. Have a shark. Make it sharky. On a table you don't use the YouTube thing. I just was trying this but no one was starting. Sorry. Chop chop. The ultimate top coat? Always. I don't even give my customers an option for flood for not a top coat anymore. Okay. Yeah. So you do this conversation yesterday?  And depending on what you see your customer chooses now that we have the option they turn out great. I'm going to give them I'm going to go back and talk to them and give them the option I bring a sample board and give them the option to upgrade or to change to the gloss because the gloss to me I feel it's more natural for the ocean. Right? Is it just shiny? Yes. Yeah. I would just take off your wave be the match where the sand is and then gloss where the question is can it be more efficient? Yeah. I would be able to talk about that. So then what you're saying is like right here if I did this for the customer this area take off do not finish for the sand and then do the gloss for the ocean and then that line right there isn't it going to be compromised ever? Um, no. I'm going to have to have to have to have to have to have to have to have to have to have to have to have to have to have to have to have to have to have to actually have to have to have to be physically able and specifically will That was easy, I was all my questions. And the top coat's fairly clear. It's not gonna interrupt a plate sliding. Tara, the mermaid bond will be in your one, in your piece. Yeah, but what about her? She's got a shark. Oh, I want to be with her, there's no printer. There's no such thing, right?


So, let me first introduce my topic. It's about Geek Girls in the Philippines, Meet Dupal. So actually it's more about the female world. But men are welcome to attend this session because we're also giving credit to male people who have also initiated the IT industry and the IT community, especially in the Philippines. So, let me first introduce myself. Okay, all right. Thank you, Miss Donna. Actually I would like to thank the Linux Australia for supporting me and sponsoring my scholarship for this Drupalcon event. This is my first time to ever attend the Drupalcon. At last, it was a dream come true. Thank God and thank the Drupal Association for helping me achieve this goal. So, thank you very much for that. Well, to introduce myself, I humbly introduce myself as just a freelance Drupal developer and I am just one year and a half in the Drupal development. I have not yet contributed any module development in the Drupal core but I am somewhat initiating an event in the Drupal Philippines in Manila. So, I'm also heading the first of Philippine Geek Girls where we founded only last year 2012 which is composed only of five to ten females for a while. You might be asking why ten females? Really, in the Philippines, we have so many female working in different industries. Even in Australia, let me ask you this. How many of us here are developers? Designers? Businessmen? Marketers? Sales? Okay, so many of us. But the pure Drupal developer just like Joris said to his talk is rarely found, right? But it is not impossible for us to evolve into that kind of development someday. I guess that the community really matters. That's what I'm really here. That's why I'm really here because I wanted to encourage, especially the female, the female to have the active involvement in the community like this. Especially in the Philippines because we have a very rare female involvement in the Drupal community, especially in the IT community. We have in the Philippines, I guess we have a total of twenty groups. We have Philippine web designers. We have OS developers a lot. We have Drupal developers group. But rarely you can find females involving themselves in the activities of the community. So that's what main problem that I see nowadays on how we can empower these women and encourage them on how to participate in this kind of activities. So as the main organizer of the Philippine Drupal Philippines, okay about me, first let me say something about me. My interest was I love dogs. Okay, there is a saying that you can test your patience by taking care of a pet. If you want to develop your patience, try to grab some pet or a dog and learn your patience by taking care of it. You will see how patient you are. After one, we kept taking care of a dog, after it poo and then it will give some headache on you. After you will feed the dog, then you have to give the food every now and then. So it will test your patience. So that's why the first main reason why I need a pet is because I need patience. So dog is the number one test for me. So number two, I love twilight. Who doesn't like twilight? You don't like twilight. You tell me why you don't like twilight. Cheesy, right? Okay, but we have our own likes and dislikes and we respect that. But for me, I can see that even though you find it cheesy, for me I find it one more thing with the character of Bella. I see some strong willpower woman inside her. The way that she display her character in the movie, the way she fight for Edward in the movie, really it inspires me that oh, someday if I became a vampire, I will really fight for that. And if ever I have the chance to be a wife of Edward, of course, right? So who doesn't want to fight for Edward? Next is who is crazy of Starbucks? Coffee, yeah, coffee. So you have Starbucks, right? We have Starbucks, right? So anyone that is addicted to Starbucks when you smell the aroma of that coffee or even not Starbucks, you tend to be craving for that aroma. You tend to, where's that coffee? I want to really sip at least one cup this morning. So at least it can suit your satisfaction. Okay, number four. I like this pizza a lot and we have that in Manila. So it's a 65 inch pizza. So if you're going to be traveling to Manila, you're going to try that pizza nero. So it will be a customized pizza of 65 inch. I don't know if you can handle that 65 inch. And you'll be alone eating that the whole day and you'll be stuffed. So, but as a programmer or a developer, if you are doing coding, most of the time when I'm at home, stuck at home, I cannot stand on my chair. It's like my husband is just feeding me some food on the door and just get the food out of there. And I'm just okay. What else? Is there lunch? So I'm just continuing coding. So that's how my life is before, until that I met Drupal. Okay, for just a short history about the Philippines, you might not be shocked about this picture, but okay. So it sounds so boring. It looks so boring actually. Maybe you have asked me if that is my grandmother. No, it's not. It's the women during the 18th century in the Philippines. So I just want to give you a fresh back or outlook about how women dressed up during those times and how are we doing our role in the Philippines during those 18th century. Those years we are bound to take care of our kids. So we are just designed to primarily take care of our husbands, children's needs. So we are just stuck at home during those previous times. So that's our main role in the Philippines before. So you might be agreeing with this, right? Can you tell me something in Australia? Can you share something about your women's history here? Because I've never done some research about women in Australia and the basic task or main role that you have. Yeah, that was from the fifties, late fifties, right? So those are the main role of women sometimes that we are designed to clean the houses and just washing the dishes and ironing the clothes of our husbands until on the old days when women started to be active in the community in the 19th century in the Philippines. So during those times, you know that Philippines have been concurred by Spaniards and Americans and different countries have all over concurred Philippines and Manila. So during those times we have now the access for education. So those times women evolve themselves and try to be curious about education. So during those times women are asking what can I do to improve myself other than just washing the clothes, staying at home, taking care of the baby. What else can I do? So those are the times that women became curious. Until today, on the 20th century era, as you may see in the Philippines, we have now different League of Women, women who are highly involved in the artillery, auxiliary group and women in the Magna Carta and women in the sports field and even in the IT industry. So this one as you can see is Eileen Apollo which is she became one of the marketing representative from Google Philippines and she highly represented Philippines for Google during those times. But I guess the latest news now is she has been replaced by a man named Nersi Soraya already in Google. So okay, this is a case-to-case study. What I want you to do is for every part of this word, I would like to ask for your suggestion, your opinions regarding this because Australianist has a different situation, right? Basically, these are some reasons that I've seen why there is a small population of women in the IT community. Number one is the lifestyle. Depends on the country, depends on the culture. For example, in the Philippines, mostly our Philippine women are basically designed to just primarily care for their children for just designed for the household task, right? So in Australia, women are being educated by the government. So it is different, it is a case-to-case study already. So in your country, if you have other countries, if you have other culture, you may raise your opinion to me and give a suggestion on what you can say about this idea. Depends on the lifestyle. Do you have any suggestion? Okay, other than that, do you have any opinion with the lifestyle? What about your own personal lifestyle? How did you get into Drupal yourself? You and yourself, how did you get interested in Drupal? Okay, that's so boring. Yeah, I agree with you because women are more sociable and that's how there's some misconception regarding to programming. Sometimes they view this as negatively that programming is just a non-sociable work somehow because you're just going to stay at home and coding all the day of your lives and you're not going to do anything. So we're just thankful that we have the Drupal Con Association and we have the Drupal Community or the different IT organization in the different countries because we were able to mingle with other developers and from our boring life of programming and coding from our house, we tend to express our stress or we have the stress relief to express our self in the society and become more friendly, right? So we became friendly by doing activities in the community. So... Yes. I exactly agree with you and the second factor is the interest of women. Women are so vain, right? We are all vain. Admit it. I don't know with guys. Are you guys in vain with your looks, with your... Because in some area, there are guys that are vain, right? You know, yesterday, I was with some Australian friends also. They don't like hair. Hairy thing or what do you call that? Yeah. So women are really vain with their looks. So we tend to really exert an effort to feel more beautiful, to look more beautiful, right? So the interest has something to do with the interest also in the IT industry. Because men are... They are critical thinking, critical thinker, right? So in terms of women, we can also excel with men in terms of mathematical, but they are born with that kind of attitude that it has something to do with the brain hemisper, do you think so? Does it has something to do with the brain hemisphere when we are born? Do you believe in that? Yeah. What about the interest? For us female, when we see the coding or the development in Drupal? Yes. All right. Do you have any other opinions? Okay. Is she also interested in the IT thing or IT stuff? Especially girls. That was a nice opinion. Okay. As we are talking about environment, all right. Unfriendly environment. Because sometimes in Philippines, female used to view the computer, IT world as unfriendly for them. They tend to see it as hard and difficult and how can they be able to adapt to the environment. Because the system itself, I have some question with the system itself because even myself and I first start learning the IT because I'm not a programming, I don't have a programming background. I have some adjustment to make in order to learn a coding. First in the CSS, HTML. So at first when you don't have a programming background for a female like me, it will be very difficult, right? So it's like you're learning from scratch. So in itself, you need to have an environment where you will feel more comfortable, more comfortable with learning. Like the community of Drupal if it gives you training or access to training, mentorship, then that will give inspiration to female to learn more. I guess that's the suitable environment for female to be encouraged in order to involve themselves in the community. More mentorship and more training for them. Since we are females, we need more, we need to be taken care with handily, what do you call this? We need to be handily taken care of. Because we are fragile, right? So females should be taken care of very carefully. So we have the upbringing background also. So in Australia, you have a very good upbringing, right? With in terms of your family, with your kids. So in Philippines, we have some good upbringing backgrounds also. But sometimes it depends on the culture or on the situation of the family. What about for example, a child grew up from a rural area or suburban place wherein your parents do not really graduate from college or you are not really educated. Your parents don't really have the access for education and you are not fortunate. So those female that grew up from that kind of upbringing tend to negatively view the IT world as different. It's something to do with upbringing of parents because if your parents are both programmers, yes, you have the tendency to be like them. So you have the influence of both parents. But what about those children that are born with less fortunate parents? So they have additional insights about this. Did you experience that kind of situation here where children have very small access or low access to the capability to learn the IT world or the IT... Let's consider also the other third world country that are just beginning to grow with their economic stability, especially Africa. Those countries that are not yet being rich by high technology right now a day. And specifically in Philippines part of Philippines are really indigenous. So up to now they're still trying to grasp technology. It sounds so funny sometimes because even in our public elementary school our teachers there were more than 50 years working in the public sector. But whenever you introduce them how to use a laptop they're gonna be scared because they're expecting that the laptop will explode or something that if they push the bottom of the laptop it will pop out from it. So that's another sad thing about the reality happening in the Philippines sometimes. And there are also some schools in the Philippines that are nowadays are not being equipped by technology. Still need to develop more. Like that's why the community is here is for us to help the government and for us to help the society to be aware of this kind of activities. In the Philippine Drupal users group we have this so called road show which is also we have a road show where we do trainings and seminars to different universities. So we go travel different places, provinces to introduce Drupal to them where the geek girls we are included by the geek girls. And then we introduce to them the basic fundamentals of Drupal. First is you need to understand the meaning of Drupal. Of course you cannot learn Drupal until you know the meaning of it and how it has been established by the community leaders. Because there is something with Drupal that has a very valuable thing the community culture of Drupal. And I guess it has something to do with the attitude of the developers. So we need to introduce them that the Drupal community is a community of people working together not working as first for myself alone. So we need to encourage them to be involved in the community. And we need to start on the early stage. Because at the early stage we can still change their points of view. Because if they are their old for example excuse me for those people I guess it is much easier to access the younger people because they are a bit easy to to approach with the system because they tend to ask questions like what is Drupal? I want to learn Drupal. Some of the students that we thought in the Philippines at different universities they were asking is Drupal because they see a drop of water they thought that is it a drop of water or something like that or a symbol of water in your country. No, it's a CMS where we use for building websites so it's a very powerful tool that's how we introduce them. And you need to learn it in an easy way. So we don't teach them yet the local version it's a very long process so we need to show them we use first the webenable.com if you know that so it's much easier for them to point and click for a while and then later on learn the hard way. But there is a in Philippine Drupal users group we have 30 out of the it's 50 out of the 750 but those 750 in the Facebook page are Drupal developers they're just trying to join the group so the total developers that are really attending the session more over on the last event of Drupal developers they are 100 so we have a Drupal camp on February 16 which is we're expecting 250 people but this time it's going to be big so we are happy that Drupal Camp Manila will be near to come and also experience Manila so that will be great so this is also a case-to-case study with women are less confident because it has something to do also with environment in your house for example your family your family upbringing your influence of your father and mother to is very strong and you have developed already self-confident at an early stage so it should not be less confident because the community starts with our family sector so no one just evolved no one just papped out from the community without the parent so the parent are always involved in the development of a person so it should always start with the family sector so why are there so many female that are less confident in doing this kind of development thing so that is the main question so if you have any any insights about this because this is a case-to-case study you can raise your hand and suggest anything do you have any insights about women that are less confident or do you believe that we are less confident alright yeah that's sure yeah I agree with that it has something to do with the negotiation even me sometimes when I'm negotiating with the client I still consult my husband sometimes because the development thing with the project is I don't really know yet the whole information of the project so as a female I should be consulting first my husband in order for me to contract and push it on the client because the negotiation is something to do with your firm firm decision so female he's an IT so I'm also thankful that he mentored me for this so I was able to adopt in the Drupal world so fewer opportunities for mentoring okay do you see that there's also some problem with less opportunities of mentorship in the female industry for example in the IT world why do we see that there's small population of female involving in the IT industry yeah that upbringing factor is one main big factor that affects the female because you know there's some short history about my childhood I was not like this before I'm a very antisocial person I don't grow up in a community where I was accepted I'm not a happy goer I don't go out from the house because my father is a military man so I'm somewhat restricted to go out from the house just study and clean the house that's all my task for the whole day I became curious about the world because it depends on the person actually even if your parents are bringing you like that negatively it depends on you when you grow up we have all the choices in our lives it's either you choose to be bad or you choose to be good so it's not I don't believe in the saying that I don't have a choice I always heard the saying I don't have a choice I was mentally black from the real world because my father was very strict and I don't have friends imagine that how did I evolve here in the community I just thank God because my husband was a very friendly person and he's very alive and active in the community doing advocacy in the Drupal world so that's why you need one mentor at least in your household at least one positive person because if everyone in the household are all negative how come will the child be developed into a positive one? so at least there will be one positive person evolving around you or either you choose your friends you choose where you will be for example you are going out with people who influence you badly so I'd rather choose this good people because this will return me some benefits later on not only the benefits of becoming more social and more friendly but also the development inside myself the confidence so we always have a choice well the upbringing has something to do but you have something to do with yourself also it matters on the person also because we all have the choice number one is when we are discouraged at an early age I'm talking about the Philippine factor this is about the Philippine culture not on the Australian one because in our Philippine culture when we were young parents tend to say during those time when we say something in front of them they tend to shut us up like don't talk if we are talking so female in during those time are very quiet we are very naive only nowadays that we are able to be very very talkative and we are very alive in the community as you can see there are lots of rally going in the Philippines and most of that are active females you can see them in the streets wrong perceptions about computing okay I have so many friends in the Philippines when I tend to introduce to them the Drupal thing they tend to say what's that? it's hard hey you've never tried it you've already said hard why don't you try it first before you say no because you will not say something unless you get there so try it first before you say something no so another thing is that their perception regarding the IT community because the female in the Philippines before when we were not yet very active during those time they tend to see the IT community as being dominated by male oh male again here we go here's the male factor again and then the female out there in the back just listening to the male speaker hey you you you you listen to me this is the coding this is the programming that's how we do it but until some female geek ladies in the Philippines spearheaded the community there are some women being inspired and became active in the community and participated already and I also did some encouragement for this female especially in the Drupal which is really really hard to encourage some female to be active because you know the main reason why female are bounded in the household task we are bounded by the household task we have task in the house so we need to do and then the other factor is that most of us are moms mothers so as mothers we have our designated task for our children left it like that like we cannot leave the task alone with our husband because we are the main person to handle it right because if you are especially giving birth to your child for example you have given birth to your child you'll be the one to nurse your baby it's not going to be your husband of course he doesn't have a breast milk right so should be us if only sometimes I am joking my husband I'm trying to joke him only the breast milk will be transferred to you I will give it to you because I want it to work and sometimes there is a factor between those salary thing that if the husband's salary is much higher than the female sometimes when the child gets sick the mother is already bounded to take care of the child so that's one main reason why why female female are found in the community because they have so many responsibilities don't we have all right so who are parents you already female mothers who are mothers are you all single okay I'm a mother so I have three kids and I'm trying to balance my time and everything in my family it's also sometimes heartbreaking if you left the job for your husband for example you are going to attend a community event then you will leave your child to your nani it's very hard because you cannot entrust your child to someone who is not very trusted right so as a mother you have the heart to always think of your children for their welfare so it's not always like that next is okay lack of female role models that's it in the Philippines situation we seldom find female role models we want to like I've met Angie Byron she's really a rock star for me but in the Philippines we have so many community leaders but we want someone who will really mentor us and give us encouragement like we want someone really a rock star behind us that will really show us that they are really leading the community so that is one factor that is lack nowadays next is the games classes aimed toward men do you agree I have some question about the gaming gaming factor between do you play world of warcraft or who play games here because you know why are those gamers designers or the game designers used to create female versions in the game wearing very big breast and it's so horrible that you can see your character is really wearing nothing but just the underwear right so I was trying to play Dota before but my character is just like is this really the character that I'm having here with a big breast and big butt that's what they view us maybe men are viewing us sexy but yeah so if ever we would be able to see some day some female role models in the game that we are also doing some character I just want to ask that question because some of the females were also looking for something that we will be viewed as not on the body but more on the brain men would see us in here not here right typically that's what I'm looking for also in the gaming industry importance of life balancing okay so this is something to do with as parents or even if you are single and you are the breadwinner of the family you also have responsibilities so if there is a social event that you need to attend to sometimes you have family activities you have to go so we can't be able to attend the session because you need to go there and sometimes your mom is sick you need to attend your mom and go attend the session for dupal con but family matters comes first so we females are really very passionate with our families and with the way we balance our life so sometimes there are also men I know I believe that there are also men who are also taking care of their families but most of our females most of us are also more passionate on doing these things because we are already in it so ever since the world began we are the first one to create the family like we're giving birth we're doing the reproductive thing so that's how we do it so just like what I said it's important that we build a community to encourage more females to be active just like now I was asking with Donna would be anyone or would anyone be interested to attend the session because it's more on geek girls so my idea with that is that as a community we should support one another especially if there is a female speaker as female developers or female community members or female speakers we should support them to show our passion for the community work together as one so when the next time around you'll be the one to talk here we also support you so that's how we work in the Drupal Philippines as a community we help each other we support one another and we tend to collaborate with other groups so how do we collaborate in these settings we have python, we have ruby, we have php there are lots of programming languages but we collaborate with them how we collaborate is that by meetups so is there something to do with the fight of the programming language do you fight with each other for example here in Australia they have that kind of issue for example if you're Drupal and he's ruby I don't know you when you attend a conference and he's Drupal and this is ruby sometimes the community leaders are I am more hard coded than you there's something to do with that I guess that would not be necessary for us to do that because as community we should be helping one another and especially we are open source we're open source community so other than that do I have more time to wrap up I just want to show you some pictures okay so to give us inspiration about this influential women I can see that they are very influential because she's the founder of Slycher Rashmi Sinha you know her already and Angie Byron of Drupal Chicks and Marisa Mayer of Google and Kalia Hamlin OpenID community so those are some of the women that I've included in the Philippines here are the geek leaders Eileen Apollo of Google and Tan Paulman of Python users group me as myself for Philippine Drupal and Cherry and Domingo of PHP and the developers connect Florida Artist okay I've already discussed that and here are some of the pictures that we have with our female female geek girls that are already included in the Drupal community so we've encouraged them already we've already trained them and mentored them to learn Drupal as well they're also doing Drupal now yeah okay let me pass that so these are some geek female events that are included here okay as you can see there are some women already participating in Drupal we have last year our Drupal inauguration day which we already acknowledge the volunteers so yearly we have this what we call acknowledging volunteers for the community because you know it's important that we acknowledge every volunteers so that we they have something to cherish and not only that Drupal Camp Manila Drupal certification we have already if we have yeah sure yeah yeah that's that will be great and yeah we have in order to help them also we we included them sorry for this we included them in the Toastmasters International for female because you know females sometimes na even shy so we try to develop their public speaking skills by involving them in the Toastmasters club so at least they can experience talking in front of the stage and that's not only the program that we have for this future coming events we have more training for the females and not only for the females but for the community volunteers that's how we encourage our volunteers in the Drupal community and this is our logo for the Drupalicon Philippine Drupal users group and Philippine Geek Girls and alright I think that's all my topic all about today so if you have any more question you can raise it up or if you don't have any more that will be fine for the first time that would be great I will not answer your question he was raising his hand yeah Charity so what what do you mean you want to establish a group or a meet up for women with you because he said you want more female really you're not doing anything bad to women it's just like at the reception of some women over this IT thing and we just need some mentorship and clarification with you guys sometimes also it has to do with some snappy people industry especially the executives so women are you know women are emotional right so when we at the first impression when we tend to be ignored sometimes we are sometimes discouraged already so somehow the first impression of a person you should be accessible at first to women and accommodating should be so other than okay well for me I believe that it has something to do with the community leaders because when I was not yet in Drupal I will not say any particular group when I attended one community in there's you know people are people you can change them right even if we are Drupal people and we are open source we have our own attitudes we cannot change that so for me it has something to do with the accessibility of or the availability of leaders to those weak because in the community there are groups of weak people or those people that are less what do you call them they are tend to tend to be aloof or somehow isolating themselves from the other groups so in order to not them do that we should be the one to approach them because we should be more aware as a leader may I learn to be aware of me when I felt something bad happening in my community I am the one first approaching the volunteers well that's in the Philippines I had to agree with her and somehow in our group what we do in the volunteers meeting we have new members in the community this is a long process of task actually we are doing a background check for this person because we wanted to not really the background or the more deeper back but just the family background so we know how to adapt with her emotional tantrums you know sometimes volunteers tend to not appear sometimes so that you know what's going on so you will not be you don't look like to be so dictator with them because sometimes you will be misinterpreted as dictating something for them so it has to be always a request for the volunteer okay thank you very much guys thank you for attending yeah I hope this will not be my last for Drupalcon so I hope next time I will be able to get more audiences for women and I'm glad that you all participated because that's the purpose of this presentation is to be able to heard your voice and your suggestion and ideas because that's how our community right so since it is a community topic we need to get out our ideas so thank you for attending yeah I got an email yeah because we have extended family I told you we have a different culture oh it's easy to invite one of the powerful, one of the powerful brutal women over and get in the newspaper and get program to come and have a look because it's a raw model thing thank you


In this video, I want to introduce to the students the notion of a permutation, a permutation from a mathematical point of view, algebraic. This is the same thing, of course, in combinatorics as well. For any set X, so we have a set X right here. We probably should say it's a non-empty set, but we won't necessarily rule that out. But in particular, X could be a finite set or an infinite set, not a problem whatsoever. A bijective function of the form Pi goes from X to X. So it's a bijective map from a set into itself. We call this a permutation. So it's a bijection from a set inside of itself. And so that's kind of what permutation means in this context. When you permute something, it typically means you move around the order of some collection, right? And so that's what a bijection is going to do here, a bijection from X to X. This means we have some one-to-one correspondence from X to X again. But things could be shuffled around, hence this permutation. The set of permutations on the set X we will denote as S sub X. And so this is the set of permutations there. In particular, if X is the set 1, 2, 3, 4, 5 up to N. So this is just a subset of the natural numbers there. In that special context where X is just the numbers 1 through N, we denote S of X instead of just as S sub N, S N for short. It turns out that we're going to see that when it comes to these permutations, the exact elements themselves don't really matter. It's just the distinction between them. So the cardinality of set X matters more than the actual elements of the set. So S N turns out, we'll be talking about that a lot. But in general, S of X, S sub X there is the set of permutations there. Now, one thing we should know about... Well, let's first talk about working with permutations. Let's suppose it's a finite set. So we can list all the elements in the domain there. One convention that people use to describe permutations is to use the following two-row tableau as you see down here. And so the first row of that tableau right here is going to represent the domain of the function. So this right here is our input values. So we start with those. And then the second row of this tableau here, this is going to represent the images of the associated... The associated images of the functions here. So this is the output of our permutation. And so you read this off like you would a table. And so when you look at something like this, you're like, okay, pi of one, what is that? You come and you look for the one column, and then you look at the number you see right down here. Let's see, if you wanted to do pi of two, well, then you come along the table, you find two, and then you look at the number down here, that's pi of two, whatever that turns out to be. And so this can help us recognize the values very, very quickly. So as an example of such a thing, we might have like a permutation in S4. One, two, three, four, something like that. And so we could have like two, three, one, and four. This could be the tableau. And so let's say this is the permutation pi here. So this would tell us that pi of one equals two, pi of two equals three, pi of three equals one, and then pi of four equals four. It's possible that an element could map to itself. That's perfectly acceptable. And so we see that these permutations, this tableau right here is basically just a tabular way of expressing who maps to who. And since the function's bijective, you're going to see that you're going to have the exact same number of things on top and bottom. It's just the bottom row might be scrambled up the domain a little bit. Great. Just so you're aware, some people like to represent permutations by only representing the bottom row. So you might just say something like two, three, one, and four. So that itself could be a permutation. The way you're supposed to read is the first number goes to one, the second number goes to three, the third number goes to one, and the fourth number goes to four. This works great as long as you don't get into multiple digits. Even still, you can do okay. You can always put a comment there if you really need to. But typically people don't write permutations with commas. And it's very common to see the two rows instead of just the one row. But again, this is an acceptable notation that some people use when describing permutations. So what I want to do first is actually describe the set in play here. Let X be a finite non-empty set. Then the cardinality of S of X, so S of X, remember, is the set of permutations on the set X there. Then the size of SX will actually be the size of the original set X factorial. Remember like in factorial here would be in times n minus one times n minus two all the way down to three times two times one, right? So that's what we mean by in factorial, or in this case, X factorial. So how do we prove this? This right here is a counting type argument. And so what we're going to do is we're trying to count how many things are in this set. For simplicity's sake, we're just going to assume X is the set one, two, three, four up to n. In which case then the size of X is just the number n. So without the loss of generality, we can just say our permutation set is just S in as opposed to SX. You're going to see this language in proof writing all the time, the loss of generality. What does that actually mean? Or I should say without the loss of generality. What that means is we're going to add an extra assumption to the assumptions given because the only thing we know about X is that X is finite and not empty. So there's something inside of it, but there's not an infinite number of things in there. So what we're going to do is when someone says without the loss of generality, we're going to add an extra assumption to the assumptions we're given, but that extra assumption doesn't fundamentally change the problem. It's more of just a convenience for the proof writer and the proof reader, but logically there's no loss there. Because after all, if I have a permutation on something like X, Y, Z, and then that becomes Y, X, and Z, like so. So this is a permutation pi. This would be a permutation on the set X, Y, Z. But on the other hand, I could come up with a permutation one, two, three, and it goes two, one, three. I could also call this pi and notice that I'm just going to make a connection between X and one, right? A connection between Y and two, and then a connection between Z and three. If you relabel the set, this is the exact same permutation. So the name of the labels seems to have no significant bearing on this proof at hand. So that's why without any loss of generality, our extra assumption doesn't remove anything for us, we can assume that X is the numbers one through N right here, okay? So next, take an arbitrary permutation. It's going to be a bijective map from X to X. Well, how could one construct this thing if we think of pi in terms of our tableau here? We have one, we have two, we have three, all the way up to N. And since it's a bijection, it turns out every number one through N has to show up on the second row, and it has to show up exactly once. So if we're making some decisions here, what can one map to? Well, it turns out you can map it to anything you want, any of the N letters, so we're going to get N choices for the first one. For the second one though, as we decide what pi of two is going to be, whatever we chose from pi of one, we can't map to that one, but we have to map to exactly one of, everything else, right? So that leaves N minus one options there. And then for the third one, right, we've exhausted one of the choices for one, one of the choices for two, because we can never repeat, we can never repeat an element, right? Well, that's going to give us N minus two for the next one. And if you keep on going down, eventually we get to N, there's only going to be one choice left, you just get one there. And so our choices get restricted each time we make a decision for this thing. And so we think about all the choices we had, we had N choices for the first option. As the second option then is chosen independently, we get N minus one for the next, we get N minus two for the next, and this proceeds down until we get one. And so this is exactly in factorial. And since this describes every possible permutation, every permutation can be described by this two row tableau, this gives us all the possible permutations there is. So a very nice counting argument gives us that the size of the permutation set will equal the factorial of the cardinality here. Let's look at some specific examples here. I've drawn a few couple of examples, but let's just kind of look some more. Suppose we have a set which contains three elements, one, two, and three. And so then we might want to describe the set S3, the permutations on this set X right here. One example of a permutation, X to X, we'll call it pi, it sends one to two, two to one, and three to three. Following the tableau convention we saw before, it would look something like this. One goes to two, two goes to one, and three goes to three. That is an example of a permutation on S3. Now from the previous theorem, we saw that S3, its cardinality is going to be three factorial, which is three times two times one, which is six. So if this is one of the permutations, we'll have four of the other five possibilities. And so we see the following. One option is the identity map. The identity function is always a permutation. It doesn't move anything around, but it is a permutation. One goes to one, two goes to two, three goes to three. Another one is one goes to one, so it stays, so when an element is moved by a permutation, we say that it's fixed. It doesn't move around a fixed point. One goes to one, two goes to three, three goes to two. For the next one, one goes to two, two goes to three, three goes to one. The element pi that we had talked about before is actually in this list as well. One goes to two, two goes to three, sorry. One goes to two, two goes to one, three goes to three, three is fixed. We have another one where one goes to three, two goes to two, three goes to one, so two is fixed. And then finally, one goes to three, two goes to one, and three goes to two. These are the six possible permutations on three letters, one, two, and three. Now, the next thing I want to mention when it comes to permutations, it turns out we can compose them because they are functions, so the idea of function composition comes into play. If we have two permutations, let's say that one of them is rho, it goes from x to x, and we have another permutation, sigma, which goes from x to x, then because the, because the, let's see, make sure I say the right one, because the co-domain of rho equals the domain of sigma, we can then take the composition, sigma composed with rho, and that would be a permutation on sx. So we can compose two permutations, we can compose two permutations and form a new permutation. And it turns out using the Tableau approach actually leads itself very naturally to way of describing the composite. So let's say we have two permutations on s3, so we'll take the permutation, one goes to two, two goes to one, three is fixed, and we'll take the permutation, one goes to three, two is fixed, and three goes to one. If we compose these together, what we can do is we can build a three-row Tableau where the first two rows, the first two rows are gonna be identical to the permutation on the right. The reason we use the one on the right is the one on the right is gonna affect the element first. With functions, the one on the right is the innermost function, it'll apply first to the element. So you see just copying on the first row, it's just the domain. Then the permutation scrambles up the domain, so we get two, one, three. So then what we're gonna do for the second two rows, right, what we're gonna do is we're gonna take this right here, two, and put inside this function, two goes to two, and so we record that right here. One goes to three, like so, and then three goes to one, which we get right here. So you just copy where the two things go from there.  And what you're left with is then the composition of the two functions.  So the composition of a permutation, of two permutations, is itself a permutation. So we see this property right here. Now permutations are also invertible functions because they're bijective by definition. And since they're bijective, they have an inverse. What would be the inverse function to a permutation? Well, the permutation is just gonna switch the things. We're gonna switch the order of things. We're gonna do it backwards. So if you take a permutation like this one, let's say this is pi, it's inverse, pi inverse. You're gonna take the permutation and turn it upside down. The second row goes on top, and then the first row goes on the bottom. And that's the inverse permutation. You switch the order. Now, typically we like to put the domain in descending order. So this, I should say ascending order. So the first row, first column, we probably would move to the front, and we were to record this something like one, two, three. One goes to three, two goes to one, and three goes to two. So that would be the example of taking the inverse of this permutation right here. As another example, if you take the permutation like this right here, so this is the inverse, this right here is the inverse of the permutation, one, two, three, two, one, three. So this was pi this time. Then we have pi inverse right here. So you flip the thing upside down. So two goes to one, one goes to two, three goes to three. And then I would probably switch the order of the first and second column. This isn't actually required. It just makes it easier to read. And so then you get the thing right here. I'm not sure why I call that pi. That's kind of bad notation there. This is the inverse. This is just the pi that we were referring to up here. My mistake there. But if we take the inverse of this function, we'll get this one over here. So inverses of permutations just flip the table upside down and reorder it if necessary. Composition of two permutations, just make a three row tableau and then remove the middle row when you're done. Honestly though, if you wanted to, you could do these function compositions in the following way. What happens to one? One goes to two, two goes to two. And so then we would record something like one goes to two. Great. Then the next one, if you want to know two goes to one, one goes to three. And so you're going to say that two goes to three. Great. And then lastly, three goes to three, three goes to one. In which case three goes to one. You can do that as well. If you don't want to write the larger tableau, you can kind of build it in line. Same thing with these inverses here. If you wanted to, you know, find the inverse of this matrix right here, of this tableau right here, it's like, okay, one goes to two. So we get one, two. Two goes to one. So we get two, one. And then three goes to three. We can get this thing without having to worry about scrambling it up. If we want to scramb, if we want to search through it first and record them in the right order, that's an acceptable option as well. And so that'll then bring us to the end of our lecture here, lecture three, which we've talked about invertible functions with a special emphasis here on permutations. Permutations are going to be good friends for us as we study abstract algebra here. So if you liked what you saw, if you feel like you learned something, by all means click the like button. If you want to learn some more and new videos, subscribe to the channel, check out other videos and learn much more. And as always, if you have any questions while you're watching these videos, please, please, please post your questions in the comments below. I'll be happy to answer them so we can all learn math a little bit better together. See you next time. Bye.


Hello and welcome to the session. In this session we are going to discuss the following question and the question says that, Find dimension of kinetic energy. We know dimensions are physical properties or quantities which can be measured. Some of the basic dimensions are length, mass and time. The symbol of length is L in square brackets, the symbol of mass is M in square brackets and the symbol of time is T in square brackets. There are some quantities which are derived from basic dimensions. Like area, volume and speed, the dimension of area is L square, the dimension of volume is LQ and the dimension of speed is LT raised to power minus 1. With this key idea let us proceed with the solution. We have to find the dimension of kinetic energy and we know that kinetic energy is equal to half MV square. Where M is mass and V is speed. From the two tables we know dimension of mass is M and the dimension of speed is LT raised to power minus 1. So in the dimension of kinetic energy we will have the dimension of mass and the dimension of speed. So dimension of kinetic energy is equal to dimension of mass into dimension of speed whole square. Therefore dimension of kinetic energy is equal to M into LT raised to power minus 1 whole square. This is equal to M into L square T raised to power minus 2 which is equal to ML square T raised to power minus 2. This is the required answer. This completes our session. Hope you enjoyed this session.


like I don't know it just looks really cool outside right now.  It's too early. Okay so you guys have seen me take this magic mind shot a couple times now because I genuinely love this product so much. It's all that I ever wanted. Like I'm not just saying that because they're sponsoring this video but I'm genuinely saying that because it's actually helped me so much and that's why I'm so excited to be working with them. So personally before I go to the gym in the mornings I always kind of feel like I need a boost to get through my workout because I am the type of person that has very low energy if I wake up at eight or before eight. So even if I get enough sleep, okay it's just a thing. So that's my problem is like especially if I want to gym in the morning I just don't have that energy in me and by taking these magic mind shots oh my goodness like right after I take it like give it about five, 10 minutes to kick in I feel like I can conquer my morning and that no one but nobody can stop me. Like my gym workouts are always so good and I just feel more alive and awake and in tune after I take this in the morning and it's just also so good. Like I love the taste of it and matcha has so many health benefits and this also has adaptogens in it. So I personally like taking magic mind because it gives me such good energy in the morning. It helps me get through my workouts and I just feel so mentally clear and I never crash. It gives me such sustainable energy. Just after like three days of taking the magic mind shot in the morning I felt so much more clear throughout the day I haven't really had any brain fog either which I noticed and I haven't been as lazy. After this I swear it just has made me more productive and want to do exercise and want to get movement in and want to get my work done. Usually when I have coffee it kind of gives me a bit of stress slash anxiety sometimes if I have too much but taking this I swear to you it is just such a clean source of energy that I don't feel that type of anxiousness that I do with coffee. So one of the ingredients that this is made with is Lyne's Mane and Cordyceps. So Lyne's Mane and Cordyceps boost your clarity and your focus like after taking this I can actually crush the day and get everything done like by noon then it feels like I have the rest of the day off because I got so much accomplished like at the beginning half of the day you know and on top of that it's also so aesthetic. Like look at this. Look at the packaging it's so cute. Like are you kidding me? Here's the box that it comes in. It says get into flow stay and if you guys know me that's literally right up my alley and I just have this in my fridge laying like this so that I can just grab one in the morning and it makes it so easy for me. So if you guys want to shop Magic Mind and get a case for yourself you can use the code MAKEILA20 and you can get an exclusive 28% off your order. So the link will be down below on everything that you need. So go check that out. And with that being said let's do this. Let's take the shot. Okay so a couple things I forgot to mention Magic Mind actually contains new tropics which can boost brain performance and they also have a 100% money back guaranteed. And just like that we're ready to work out.  Like I am actually thinking if I should make this a regular routine because it is 9.30 and I've done like everything that I need to do to get ready for the day. I just feel so amazing and I feel energized. I don't even feel an inch of tiredness right now I feel so good. Anyways so I thought that I would just quickly run you guys through what I've been doing for my everyday makeup routine just showing you products quickly. I have been using the CC cream by A Cosmetics. It has 50 SPF and it's very builtable so I put on a really thin layer. Kind of just use it as like a tinted moisturizer because if you put on a thin layer it doesn't give you that much coverage but it still like evens everything out. So I do a very very light coverage of this for my base. And then I go in with this Rare Beauty Concealer and I literally just put it like right here, right here and then on my chin just like highlight a little bit. I don't put any product really under my eyes just because I don't like the creasiness and I don't really have eye bags that I need to cover up. I'm lucky with that. This is in the shade 130N and yeah just use this to pretty much like highlight my face. And then I go in with the Mario Badescu Contour Stick. I just take it on a brush and then just do a very light bronze but I really like using the cream bronzer. And then I'll go in with the Milk Makeup Blush. This is underrated I feel like. It is so good. The formula is so good and creamy. This is in the shade Work and it's a, oh it's a cheek. It's a lip and cheek. I never knew that. So you can put this on your lips too I guess. But it is so good. I feel like people are sleeping on this. I do a layer of this and then I go on top of it with the Rare Beauty Blush in this shade Bliss. I really want to try this blush and this shade Happy but it's literally all sold out. So anyways, I love this one too. It's like such a nice light pink and I kind of mix them just depending on what I'm feeling. And then just to set everything I go in with the Charlotte Tilbury Powder. I just set very lightly. I don't like putting this all over my face because I want it to be very natural. So I just set on the places where I get oily just a very thin layer. I love this stuff. It looks so natural and it gives such a nice finish. Then I use this Merritt Beauty Highlighter. I just take a tiny bit on my finger and then dab it on my cheeks. I love it so much. This is slept on as well. It's in the shade Cava. It's so freaking good. And then I go in with the Merritt Beauty Eyebrow Palmade. I love this stuff so much. Like you don't even know. This is my go-to brow product and it makes it so easy. And then the Charlotte Tilbury Setting Spray just to lock everything in. I almost forgot. So the most important part is adding a lip liner. Okay, people have been asking me, are you gonna have lip injections? Have you gotten lip injections? No, it's literally just the lip liner. So the trick is to get a lip liner that's really close to your lip color. And basically just overline it a tiny bit and it just makes your lips pop. And it's very effortless. You barely could tell that you have anything on because it's so close to your lip color. I just can't go without my lip liner anymore. I bring it everywhere. I wear it every single day. This is just a random one. I think my mom passed this one down to me because I didn't buy it myself. But lip liner is the way to go. If you guys have never tried it, it is a game changer and now I can't go without it. It is so good. So I saw somebody do this, I think on TikTok where they took their bronzer. I'm gonna try this with you guys. They took their bronzer and then they just kind of put it down their neck like this. And apparently that gives you like a defined jawline or whatever cheekbone. So let's try that and see if you guys know this or anything because I've been wanting to try this but I've just been forgetting. Oh my God, I see in the viewfinder there's just an outline of bronzer. Like does that look weird? You just gotta blend it in. Like does that work or does it look really weird? I don't know. I don't know. Oh my God, I almost forgot. I also use this Tweezerman eyelash curler. Tweezerman, if you're watching this, please sponsor me because you have the best best eyelash curler on the market. I used to have this other eyelash curler. No shade to the other brands but nothing works as good as this Tweezerman.  This actually curls my eyelashes unlike the other ones that I tried. So you can get it at like the drugstore or Walmart, I'm pretty sure. You guys, I feel so on top of it today. Like it's actually insane.  I cleaned. I went to the like, it's 10, 20. 10, 20. Like I think I would just be getting back from the gym now or something. My mind is blown. Like I am not even tired. I am not even thinking about going to sleep right now because I have so much energy. So I think I'm gonna go to the grocery store soon but I'm just gonna work right now for a bit before I go. I feel so productive. What can I get for you? Can I get the Grande Oat Shake and Espresso? Can I get it hot? Can I please get a Grande Brown Sugar Oat Shake and Espresso please? Ice please. For sure. 2013, that's a good one though. Thank you. Thank you. What do I say about 30? I have a free drink. So we're going grocery shopping but I was like, we have to stop at Starbucks because we're just feeling the chill Starbucks vibes today. Just make us be happy, okay? Okay, just to find something while we're grocery shopping. I gotta put on my Starbucks glasses. So win, win, what a look.  These are, I love these sunglasses because they hide my face when I don't want to be seen. Come on. Thank you. Thank you. I love gay men. Like I love them. They're just, I don't mean to stereotype but like I've never met a gay man that I didn't like. They're just so pleasant. Yes. Oh ho ho. We're in a Tesla sandwich right now. You guys, we're gonna park beside too. And Joel's just saying how he wants to get a Tesla. I said I wanted that exact Tesla. Yeah, and we just parked between two Teslas. I also said I was gonna get a compliment on my strap and I literally did two minutes later. We love that. Okay, grocery shopping, I have so much energy right now and I just took in one sip of the coffee. I don't, six a.m., maybe that's the time I should be waking up. The plan for tonight for dinner is I want to make Toskana soup. If you guys have never heard of it, it's like basically potatoes, kale, sausage, and it is so good. Oh my goodness, they sell it at the Olive Garden. And I just searched up Toskana soup recipe and it is my favorite soup of all time and it's so easy to make. So that's why we plan grocery shopping so I can make the soup and then we just needed a couple round things. So here's a quick overview of grocery haul. We just got some tomato sauce. This is a vodka one. Really excited to try it, it looks so good. Just got a block of butter. I got some yellow potatoes for the soup, chicken broth for the soup, sausage for the soup, and then bread to have with the soup, kale for the soup, and then this pasta to have with the pasta sauce for a dinner. So that's good. And then just some sourdough, some vegan butter because I run out and I've been using regular butter which I don't like doing. So yeah, that's just a mini little grocery haul. I also got this vegan oat creamer. This is specifically made to use for cooking and if you guys try to stay away from dairy I would totally suggest this if there's a recipe that calls for cream or milk even. This is a really good alternative because it's plain. Like it has like no really odor almond taste and it's really good. It's super creamy and it works perfectly. You can't even tell you substituted this for a real cream and I love it so much. Okay, so this is called Toscana soup. Like I said before, I will have the recipe linked down below for you guys. I just substituted the butter and the cream for non-dairy options. But yeah, it's so freaking good. I cannot wait. Okay, so I second forgot to do an outro but I actually really did enjoy waking up at 6 a.m. I actually got a lot accomplished and I had pretty good energy throughout the day. I was really impressed. So yeah, thank you guys so much for watching. Do not forget to check out Magic Mind down below in the description and I'll have a discount there as well for you guys.