Hi everybody it's Sam at Mixed Up Craft. Thank you for watching my tutorial today.  So if you have any of I guess the most common the standard size then this is going to be you know perfect for those.  Now of course you don't have to use it for that you could put something completely different in here but I have made storage for 6x6 paper pads, 8x8 paper pads and other things as well. So if you click on the playlist up here you'll get lots of inspiration because they all kind of look the same. So if you haven't seen any of these and you think actually I want to make those then you could make everything matching. Mine are all odd so but I don't mind that at all. They're using papers that I love and this one here again some of you might recognise it. I love this cat paper it's the retro cat from the Dress My Craft Little Miracle and I'll show you that in a moment but I wanted something to use it on that I was going to keep and see myself and to be honest this is going to be probably the most used piece of storage in my craft room because I use my dies and these plates every single day. So it's very easy to do very straightforward doesn't take too long either it's using gray board or chipboard so it's nice and thick it's a solid piece the base as well. Literally this is not going to fall apart so let me show you how to make it. This is the paper pad The Little Miracle by Dress My Craft really really nice I have done a flip through of this when I shared it in one of my what did I get videos I think it was. No it was an actual Dress My Craft video that I done but I'm just trying to show you the other cat one because I'm sure there it is. Let me just bring it out there you can see it's just so cute so yeah so that's the one I use there I'll share all the links below. Now for today's I'm using the Hydrangea Lawns by Dress My Craft but unfortunately I don't know where the top she is I've looked everywhere and I cannot see it and I'm pretty sure I never got rid of it but it's gorgeous I did make the circular hinged gift bag using this and it's just I love the hydrangeas I think they look lovely you've got all these pretty fonts as well but look at all this it's just so nice and it's very thick it's 240 gsm cardstocks this isn't paper this is a card which is great for when you're making gift boxes and bags so the one I'm making today I'm actually making for my mum so I've cut into one of these gorgeous papers because I thought she's worth it so I don't mind but I've got those pieces there it's all deconstructed so that's all of that which I'll go through in a moment but I do just quickly want to show you how I cut my greyboard because many people do ask me this is my Fisker's Trimmer and I basically when the blades go blunt and they don't cut your paper anymore and I I mean by when it goes like fluffy and just starts to catch and buckle it just doesn't look very nice pop a little marker on it anything I just got black marker pen on this so I know that they're no good for paper but they're perfect for greyboard so don't throw them away because they will still work with this so I need to cut this is going to be my base I'll talk you through the measurements for that in a moment but this needs to be cut to three and a half by ten and a half so I'm just going to line it up there and this is a two mil greyboard from Every Crafts a Pound it's my standard greyboard that I always use so what you'll find you need to do is just run it over a couple of times on the top and then you could now just snap that but you it's best if you just flip it over and then go again on the other side and now already it's nice and wobbly and it just comes away okay so I need to cut that down to ten and a half I'll do that way so just a little bit needs to come off so again over the top a few times and then that way okay so that's how I cut my greyboard so the size is for everything so that was the base that I told you so that's three and a half by ten and a half you need two pieces for your sides which are two and a half by four and then these two here are for your front and back the sides and these are nine and a half by four so two pieces and then to cover everything so to cover the sides you want two pieces that are four and a half by six okay so I've got that lovely like script it's just a no it's like a nice joined up handwriting that's that one there and then I've got these two pieces here which are nine and a half by six and that's to cover again the front and back and then this is to cover the base and this is 12 by five and a half okay so first of all you want your two side pieces and your two side pieces of chipboard I'm going to pop my base to one side and we will work on those pieces later so okay so I'm going to be using the Kalau book binding glue since using this now I don't need to add any double-sided tape or anything so like when I was making mini albums I would cover this in double-sided tape then some liquid glue and then stick it all down but since using the kalau I'm just not even needing to it's so strong it's got such a strong grip and again I mean it's book binding glue so you know it's going to be good so all you want to do first of all is I'm just going to add some glue onto the back of this make sure it's all covered and you want to stick it in the center as close to the center as you can get it don't worry if it's a little bit off you don't you certainly don't need to be measuring it and then you want to stick this one down as well so while that's just grabbing I'm going to go back to this one flip it over and just make sure it's all stuck okay and then what you want to do is just go and fold the sides just like you would any mini albums you've seen me do this a lot in my tutorials and because this is a two mil chipboard it's got you know obviously it's got that depth to it I'm just going to burnish the sides there and then come up the bottom ones there as well you just want to start to kind of get it into its shape like so and then again with this one okay so next you want to get your front and your back the main ones don't worry about the decorative paper for now and these are now going to start to act as hinges okay so what we want to do pick one side it doesn't matter I'm going to go with this one here and we're going to stick it just glue on this bit here and stick this in here but you want to make sure that you give yourself a gap that is the depth of your grayboard and a little bit more so this is two mil so I'm basically I'm probably ending up giving that probably a gap of about one eighth of an inch and the way to test it is lift it up bring it up and you want it to be able to join perfectly there okay without it putting any tension you would be able to feel it if it was so I'm going to pop some glue just you know along the the height of the grayboard so just in that section there okay I'm just going to spread that out a little bit like so and then I'm just going to lay that down you can always bring that up just to check and then lay it down and you know that's where you want it to be the key part here is making sure that this is all lined up and straight so if I line it up with my mat there you can see I've got everything nice and straight so while that's kind of gripping I'm going to get my next one here and you want to do the same so you want to just pop this is very thick glue I need it to kind of stay upside down actually because it takes a while for it to work its way down there we go and again I'm just going to spread that out just spend a bit of time making sure that you've got it where you want it and it's completely stuck okay so both of those now can come up you can you see I've got a really nice join inside then we want to do the same on this end here so I'm going to grab my glue okay and then this one is now going to stick on there so you can see what we will have is our case like this okay so I'm going to add some glue on this one here I'm kind of sitting that one actually I'm just going to trim that little bit there just a few little random bits there but you can sit it on top of the greyboard there because this one you don't need to worry about the gap because that's it now it's in place it's in its 3d form that's how it's going to be okay so that's now where you should be then it's up to you how you want to do the next bit I like to stick these over like so because they will now fit that area and be the same height as these papers underneath or you can trim and cut into these pieces now before we do the next bit like I said I think it's better to stick this on stick all of this onto the tops of this and then cut it so you haven't got these like loose so it's up to you but I'm now going to add glue on the strips all the way down and then on all of this and then make sure you've got your paper up the right way and then I'm just going to lay that down and then flip it over I'm just going to hold it there for a minute just to kind of let everything get all in again for that glue to grip okay and then flip it over again making sure you've got it all up the right way and you want to stick the other one down exactly the same way okay so now you should have something like this I'm now going to leave mine to one side because it is still drying and then you want to bring in your base and we're now going to do pretty much the same thing again so flip that over you're going to add glue all onto this and stick it in the middle just like we did with the sides okay and you would have just seen me there just go around the sides again like you did before it just helps when you do go to fold them all over now we're going to just basically cover this so all you need to do now is just bring in your corners so you get a nice right angle okay and you get that triangle shape just fold them all over you're going to add glue underneath this is just how I cover all my mini mini mini all my mini albums I just prefer doing it this way and then you can obviously cover them with your metal corner protectors I am actually waiting for some more to come I go through them so quickly I'll just show you again here once we stick this piece all down then you'll add these ones but yeah once they come then I can add them on at a later date so now you just want to pop some glue all in that triangle section okay and then just kind of hold two at a time and just let it grip onto the grey board probably do them as well at the same time okay and then you should have your glue still tacky underneath these pieces if you just push your bone folder or a ruler into the side of the grey board this piece wouldn't actually want to start to lift which is all good it all helps when we go to bring those sides up but the glue will obviously stick to the side of the grey board and you want it to look like a vacuum pack so you can see there where it looks like it's sucked around the the grey board there I just think it gives it a really nice finish and then you can just stick those pieces down like so so that's now what you want to have so that's all secure and then all we've got to do is fold over those edges again I am using a strong cardstock so it's a little bit obviously harder to push those bits around but if you've got a lighter 200 160 then you know it will be nice and easy to do that okay now you should find that these bits will all start to you know easily wrap around so you just want to add some glue you can add it on to there if you want I'm just going to add it on to the the grey board itself and then we'll cover the middle part that you'll be still be able to see the grey board through with some paper in a minute and that is the base done okay so there's the top of my base and then underneath I've just gone and stuck this piece here which was 10 and a quarter by 3 and a quarter just check that was right I did measure it yeah 3 and a quarter yeah because it's 10 and a half long it was a bit of scrap I'm not too worried that it doesn't match but now if you want to go ahead and put your metal corners on pop them on turn it upside down I always like to put a little cloth or something and hammer them down so they obviously flatten against it but I really like that like I said it's a really nice font so now this piece here which is dried nicely so make sure you've got it the right way up so that's going to be the back I want that nice bloom on the front so we're going to work on the base first of all so I'm just going to grab my snips and you just want to basically just well first of all I would just cut up to if I go in from this way actually it's easier just cut up to the corner but not quite up to it so I'm leaving maybe about one eighth of an inch okay just do that on all of the corners we take a little bit of bulk off in a minute but if you do it step by step then none of you cut into it too much and reveal any of the greyboard because you want to keep that hidden so I'm just cutting in there now we're going to fold all these in on each other but what will happen is is there's going to become some you will get a little bit of buckling there so what you want to do is just still keeping straight but just if I just do this one and then show you you basically just want to remove like any of the fold like the crease so you're just taking a very small amount off and if I do this one here and show you what it's like when I fold it in that's what you want to achieve so you just want to take away small amounts like so and then this is going to fold in so see what I mean because once it hits against that bit of greyboard which is fine you want it to be a snug fit because you don't want to see any of that so now can you see that's folded in really nicely and we'll add glue under that in a minute so if I go to this side so I can then do the rest so I would just cut either side of the fold and then remove like I said any of the creased parts because that's just going to cause you bother otherwise I mean this is the base so practice on the base first because you're going to do exactly the same as this on the top but because you know this is the base you're not going to see if you did reveal any of the greyboard so do that's why I said do this one first and then I'm going to take a bit more for this one here so and then that one is going to fold in there but again you want it to be nice and tight and that one and I can fold that one in and then fold that one in actually the base ones you're not going to glue to the sides the top ones you will and then we're going to cover the inside as well but you just want to fold those ones in like that because this is going to become our base but we're going to cut the top the same so you still need to do that that's what you now want to want to have then I'm going to add I'm going to use my normal cologne now so I'm just sticking paper to paper so I'm just going to pop some glue under these pieces here and just stick them down keep it nice and square you might have to pop your finger under there you can turn it upside down actually what I might do is I'm just going to because this cologne gives me a bit of time I just do that and that one I'm going to hold them there for a second I've just quickly cut this piece here which is two and a quarter by nine and a quarter and it just covers that area so I'm just going to run it doesn't matter if I do it on this side because I'm going to cover the inside as well again I'll talk you through all this just follow what I'm doing and all these measurements will be in my blog anyway as normal it just be easier to do this because what you can do is stick that like that flip the whole thing over although there'll be some glue there but you can go in now and you know you've got something to actually push against and just make sure that all gets stuck down and we're going to cut another piece on top of this we're going to cut pieces for the inside so it all becomes very neat so while that's just setting you want to do the same now on the top here so just go around those corners like you did before and just remove any of the bulk again just push in all of those yes if you can see anything scratching against it then just take that away because you'll see what kind of starts to like say buckle like all that there was all catching so I can remove all of that much better okay and then once we cut our pieces for inside in the base it will completely be an encased piece and I think it'll look really nice but that's the frunks I love that big bloom that you can see so now you want to add some glue to all four sides of this so again I'm going to go back to the bookbinding glue and get them all stuck down okay so that's all secure it's all getting nice and strong now and it's nearly ready for us to stick to the base but first of all you just want to cover the insides it's completely optional I don't always because this one is being given as a gift then I am going to I did with my one as well but some of my other storage ones I haven't because yeah it's only me but basically these pieces now need to go inside but you need to just I've cut them just under two and a half the side pieces okay so you can see there it's about two it's actually two and three eighths but I'm going to come in a little bit more again but the idea is that you don't see any greyboard so when you put it in you want it to be as tight to the sides as possible like so there we go okay so and then I've done it three and three quarters okay so it goes right down to the bottom and then you've got that showing so you want two pieces like that you might have to just play around with your with your actual widths and then this one's for the base and I did check that one and that one was okay yeah that's fine get that one out this one was two and three eighths by I should have got my longer one out nine and three eighths okay and that's going to go along the base and then these two bits of the side so the same width as the other ones which is three and three quarters the same as them but the length of these ones again is yeah it's about nine and three eighths slightly maybe just slightly over but that now should yeah go in there you want to get it as tight a fit as possible you see there this looks quite nice so I'm going to get all them stuck down get the base stuck down and then cover that in glue and stick that onto your base okay so there it is all finished it's so strong now it's just like those chipboard or cardboard storage pieces that you buy in the shops is as strong as that so why not make your own and then you can use your lovely beautiful papers so that's the front there I'm not going to put any ribbon on and I will do the corners when they arrive I think I'm just going to leave that let my mum decide if she wants to put something on it she might not want a bow she might just want to keep it plain like that you can also make multiple of these and put them on a larger base so that's how I've done my six by six and eight by eight paper storage again it's all in that playlist so go and check it out but also I was just thinking about other things that you can put in here and things that I've got that fit I've got these mats here which I use sometimes as replacement mats for my die cutting but also my smaller stamp perfect that fits in there really nicely perfectly I've got more plates I've got plates coming out my ears but also my ek tools that one fits no that can go that way so it's yeah it's a really handy piece and it fits perfectly on your desk as well but you can see there even with all of that and this is heavy heavy pieces it's not rocking it's not falling over you know it's really supported so yeah chuffed to bits with these so I hope you enjoyed the tutorial I hope it's inspired you if you have as always please give me a thumbs up and consider subscribing to my channel so you get to see more thanks for watching bye


This lecture is part of an online commutative algebra course and will be about regular local rings. So just to set up notation r will be a notarian local ring and m is its maximal ideal. And there are several properties of local rings. The one we're going to talk about today are regular is regular rings. And there's a sort of nested family of properties, sort of go as follows. So a slightly more general class of local rings are local complete intersection. And local complete intersection rings are themselves a special case of Goronstein rings. Goronstein rings are a special case of Cohen-McCauley rings. And Cohen-McCauley rings are a special case of general local rings. So what we're going to do over the next few lectures is give some examples of each of these sorts of ring and explain why they might be interesting. So very informally regular local rings are the ones that correspond to non-singular points of manifolds or varieties. So you remember local ring tells you something about an algebraic variety near a point. So these correspond to saying the point is non-singular. Local complete intersection corresponds roughly to saying that your variety is defined by the minimum possible number of equations. Goronstein rings are those that have nice duality properties. Cohen-McCauley rings are something to do with not mixing bits of different dimension. For instance, a typical example of ring that isn't Cohen-McCauley is a sort of a union of a line and a plane where you're mixing things of two different dimensions. And finally we have general local rings. So this lecture is going to be about the best possible ones which are regular ones. So let's first define regular local rings. So we recall that if you've got a local ring with maximal ideal m, then the dimension of m over m squared is greater than or equal to the dimension of the local ring r. Here this is the dimension as a vector space over the field r over m. And this is its dimension in the sense of local ring theory. That's crawl dimension or whatever. And that's because the reason this inequality holds is that a set of generators for m is a system of parameters. And any system of parameters has cardinality at least the dimension of the ring r. And the ring is regular if equality holds. So the dimension of m over m squared is equal to the dimension of r. So let's have a few examples of this. So the first example, let's just take the ring kxy over y squared minus x cubed. So this is the coordinate ring of a cusp which is y squared equals x squared cubed. And we're going to localize at the origin in other words at the ideal xy. So at this point here you can see the variety is obviously singular at this point in some sense. There's no longer a smooth manifold at the origin. And if we look at the local ring, so if we localize this at the ideal xy, we see that the maximal ideal is the ideal xy. And m modulo m squared has dimension 2 because neither x nor y are killed off by this polynomial or by the ideal. On the other hand, if r is this local ring, the dimension of r is just equal to 1. And you see that so the dimension of the cotangent space is bigger than the dimension of the ring. And this means the ring is not regular and this corresponds to the fact this point here is kind of singular. So that's a local ring that isn't regular. Now let's see some examples of local rings that are regular. First of all, let's take r to be just say a power series ring in n variables. So that's a local ring. The maximal ideal is x1 up to xn. And we can see that m over m squared has dimension n because it has a basis x1 up to xn. Well, now we need to figure out what is the dimension of the ring r. And the easy way to figure this out is to remember that if we quotient out by an element xn which is not a unit or a zero divisor, then the dimension of r over x, the ideal xn, is the dimension of r minus 1. Now the ring r over xn is just equal to the power series ring in x1 up to xn minus 1. So every time you add a variable, you just increase the dimension by 1. So it's pretty obvious now that the dimension of r is just equal to n. So we see that in this case the dimension of the ring r is equal to the dimension of its cotangent space. So r is regular. You can also see that the dimension of the localization of the polynomial ring, so suppose we localize this at the ideal x1 up to xn, in other words we sort of look at the local ring at a point, is also regular. That's because its completion is the power series ring and a ring has the same dimension as its completion and it has the same cotangent space as its completion. So if the completion of a local ring is regular, then the ring is regular. Now we say a ring r, which is not necessarily a local ring, so let's take any ring s, it's called regular, if all the localizations of s at prime ideals p are regular. In fact it's sufficient to do all maximal ideals p, because Seher proved that the localization of any regular local ring is also regular. So in localization of s at some non-maximal ideal, you can get by first of all taking the localization of the maximal ideal and then localizing that. So by Seher's theorem this is just regular. We see that the ring of polynomials in n variables is a regular ring and that's because if you take the localization of this at a maximal ideal it's isomorphic to this ring here, which is regular. And that's just as well because this is the coordinate ring of n-dimensional affine space and n-dimensional affine space obviously ought to be non-singular under any reasonable definition of non-singular. So this shows that our definition of regular ring does at least seem to be behaving in a reasonable way. It is giving you the non-singular points of an algebraic variety. Now we can ask what do regular rings look like? Well it can't really say what a general regular ring looks like, but we can say quite a lot about complete regular rings or rather regular local rings.  Now we're going to suppose that r contains a field mapping isomorphically to the field r over m. For example, if we take a ring of power series then this obviously contains a field mapping to r over m which is k. And you might ask well how can it not contain such a field? Well here's an example when it doesn't. If we take the ring of p-addict integers which is the completion of z at the prime p then this is a complete regular local ring. But it doesn't actually contain a field mapping onto the quotient field which is the finite field of order p. So some complete regular local rings contain a field isomorphic to the field of quotients and some don't. Well now we're going to say suppose it does. Then r is isomorphic to a power series ring kx1 up to xn for some n. And the proof of this is fairly easy. What we do is we pick x1 up to xn to be a basis for m over m squared.  Here this is any complete notary and local ring. So so far we haven't used the fact that r is regular and always done is we've got a map from the power series ring onto r. But now we suppose that r is regular. What we want to do is show that this is injective. So if r is regular this implies this map is injective. Well suppose a is in the kernel. Then a is not a unit or a zero divisor. So kx1 up to xn over a has dimension n minus one. So the ring r has dimension at most n minus one. But this gives you a contradiction because the cotangent space of r has dimension n and r is regular. So m over m squared has dimension n and r is regular. So these two numbers would have to be equal which isn't possible if there's something in the kernel. So this map here is actually an isomorphism. So we found all the complete regular local rings with a field mapping onto their quotient field. This is actually a special case of the Cohen structure theorem for complete regular local rings which describes more generally what happens if the ring r doesn't contain a field. And then as you can see by looking at the piatic integers things get kind of a bit more complicated. So you need a discrete valuation ring appearing in the conclusion. So let's have a look at some more examples. What about suppose you take a hypersurface fx1 xn in n dimensional affine space. So here we're just looking at some sort of surface given by the space f equals zero. And we can ask which points have regular local rings. So if you think of the zeros as being some sort of space we're asking which points of this space are non-singular. Whatever non-singular means. Well what non-singular means is that the local ring is regular because that's the definition of non-singular. So what we've got we may as well look at the point zero zero zero just to simplify notation because we can change to that point just by changing coordinates. So first of all we've got to ask what is the dimension of the local ring where we take kx1 up to xn. We're quotient out by f and we, sorry, we localize at zero which means we localize the ideal x1 up to xn. Well we know the dimension of the local ring of kx1 up to xn is n because we worked this out earlier. Now we know that f is not a unit or a zero divisor. Well it's not a zero divisor because this ring is an integral domain and it's not a unit because we should have said it's not a unit. So f is not a unit. If it is a unit then this space is empty and it's a bit of a pointless working out as dimension. So the dimension of kx1 up to xn, let's take the local ring and then quotient out by f is n-1. It's not terribly surprising this is just saying a hypersurface in n dimensional space has dimension n-1 as it ought to. So next we need to work out what is the dimension of the local ring, sorry the dimension of the cotangent space m over m squared. So let's work out m over m squared for the kx1 up to xn localized at the origin. Well this is obviously just, we're going to take space the ideal generated by x1 up to xn and quotient out by all products of the form xi xj which gives you m squared. And this is just an n dimensional vector space spanned by x1 up to xn. So that's the cotangent space of affine space. Now we need to look at the cotangent space of the hypersurface. And for this we just take x1 the ideal x1 up to xn and now we have to quotient out by all these numbers xi xj and we also have to quotient out by f. So what we're doing is we're taking the vector space generated by x1 up to xn and we're quotient out by the linear part of f. And now we can see that this is dimension is given by n if f has no linear part and it's given by n-1 if f has a linear part. And f has a linear part if and only if one of its first partial derivatives at zero is none zero. So we see that the dimension of a local ring of the hypersurface f equals zero at a point is, sorry the dimension of not the local ring, the cotangent space is either n or n-1 depending on whether some partial derivative of f is none zero. So it's n-1 if some partial derivative is none zero and n otherwise. So this tells us what the singular points of a curve are. They're exactly the points where all partial derivatives of f and f also vanish. For instance if f is y squared minus x cubed the singular points are those satisfying the following equations. First we must have y squared equals minus x cubed equals zero because obviously the singular points of a curve must actually lie on the curve. And then we must have two y equals zero and three x squared equals zero. And at least in characteristic zero you see this implies x equals y equals zero. So the singular point is exactly the origin which is what our geometric intuition would tell us because it's the only point that looks kind of a bit funny. So what we'll do next lecture is give some more examples of local rings that are or aren't regular.


The factional national chairman of the Labour Party, La Medea Papa, has accused Mr Peter Obey of lacking respect for the rule of law. Papa said the leadership crisis in the party would not have erupted if Obey had withdrawn recognition from the suspended national chairman of the party, Julius Aboure, based on the order of the High Court of the FCT. Papa however asked Obey to wade into the dispute objectively with a view to amicably resolve the lingering crisis. I need to take over fully as the acting national chairman of the party, but surprisingly what happened today, we only took it lightly because my colleagues attended meetings with Obey, Booth and Aboure yesterday night, the day before yesterday and yesterday, and they both said that if I should appear caught Obey, that as we go, but my group took it lightly that nothing will happen, but thank God we are still alive to see it. But my fear is this, our principal is in Chibuna to claim his mandate to the Court of Law and the same person failed to obey the Court of Law. There is contradiction and I want the whole world to interpret that behavior. Thank you so much.


Greetings and welcome to the Introduction to Astronomy! One of the things that I like to do in each of my introductory astronomy classes is to begin the class with the astronomy picture of the day. From the NASA website that is apod.nasa.gov slash apod. In today's picture, for September 18th of 2023, well, it is titled The Red Sprite and The Tree. So, what do we see here? Well, here we see two very different objects. In the foreground we see a tree, and in the sky we see an example of red sprite lightning. Now, there may be some similarities in terms of how they appear, especially in that we see the tendrils stretching down from the lightning in many ways, much like the branches stretch upward from the tree. However, the lightning is something occurring within our atmosphere, and it's a very unusual type of lightning, and in fact, one that had been seen for a long time, but had not been very well known and very well understood. In fact, there are reports of it going back to the late 1800s, but it was not actually photographed until 1989, and since then, many times it has been captured, but it's a very elusive type of lightning, very difficult to catch, one of the reasons that it has its name of sprite lightning being difficult to detect. Now, when we look at it, it's kind of a different type. This one looks almost like a jellyfish perhaps, with the kind of a blob on the top, and then the tendrils coming down below. Now, but even though it looks like it's rather close to this tree, it is not, it is very high up in Earth's upper atmosphere, and it is a type of lightning much like any other, much like other lightning that we get, it can be associated with thunderstorms, and in fact is often well above those storm clouds, which are much closer down to the ground. So, while you can see some clear skies here, we're close to the region around that sprite lightning, it is really well beyond, and actually probably out over those storm clouds, off in the distance. Now, these can be very fast moving, so when the discharge begins to occur, the lightning in those tendrils can move downward at a large fraction of the speed of light, about 10% the speed of light. So, they zip down there very quick, very quick, and we see that excitation within the atmosphere from the discharge. But again, it's only a fleeting view that we get of these, so you have to be looking for the right conditions as to when they might occur, and then take some very fast frames to be able to hopefully catch some of the red sprite lightning that can occur in Earth's upper atmosphere. So, that was our picture of the day for September 18th of 2023. It was titled, The Red Sprite and the Tree. We'll be back again tomorrow for the next picture. So, until then, have a great day, everyone, and I will see you in class.


We'll start in a few minutes for the recording live stream, but yeah, I introduced Trégor walking for GitLab that will talk about Docker, Kubernetes, and integration testing. So, very interesting subject. We'll include it. Okay. Hello everyone. I see that the room is full, so thanks for coming to listen to my talk. My name is Grégor Bison and I work at GitLab as a senior developer focusing mostly on the CICD area, but also on test automation. So, some of you probably have never heard about GitLab. So, GitLab is a solution that's very similar to GitHub but in the open core model, which means that we have GitLab Community Edition which is a free open source software that you can install on your server. So, today I would like to tell you about building an end-to-end integration testing framework. Okay. I'll do my best. Okay. I'll do my best. An integration testing framework called GitLab QA. So, end-to-end testing is a strategy used to check whether your software works as expected from start to finish. We can also use end-to-end testing to check whether deployment process or installation process is okay. For example, especially when you distribute some package like Debian package or Docker image, what we do at the GitLab. So, we needed an end-to-end integration testing framework because we had some major problems in the past with users not being able to install GitLab, users not being able to update GitLab. We had some broken major features like pushing to GitLab. We had also some broken deployments to GitLab.com which cost us a lot of trouble. So, we knew that we are going to need end-to-end testing framework and in GitLab we are using merge request workflow, which means that we have a depend on code review. But code review is also not a silver bullet because sometimes contracts between interfaces are not clearly visible in the code. So, in the past we had a merge request which was basically one liner reviewed by a few senior developers and no one was able to spot the bug in the code. So, we thought that we would probably need to build an end-to-end integration testing framework. We discussed our goals and we decided that we need to make it possible to run tests in the CI-CD environment to automate testing. We also decided that we need to test installation process, the deployment process, that we want to make it easy to locally reproduce failures and that we also want to run tests against staging, production, or any other installation like on-premises installation. These were our goals. But our ultimate goal was to make it possible to run end-to-end tests in merge requests to catch bugs before even merging them to a stable branch or master branch. We knew that we are going to use continuous integration to automate testing and continuous integration is a software development practice where code is integrated frequently and we're quite lucky because we had our own integrated GitLab CI-CD solution. That's an integrated product. You can use that whenever you push code to GitLab to see continuous integration feedback in merge requests. It's a free opens of software part of the GitLab community addition as well. So a few notes about GitLab CI-CD logo in the middle. It's a GitLab instance. When we describe GitLab CI-CD architecture we refer to GitLab instance as a coordinator. The satellites around are GitLab runners and you can add a runner to a project. You can have multiple runners and runners are going to pull coordinators API in order to pick builds, process them and eventually push changes, push results to the merge request. GitLab Runner also supports workflow with workflows with Kubernetes with Docker. So end-to-end testing is a great use case for using containers. We knew that we want to cover scenarios like updating GitLab from latest major version to current version or using GitLab CI to test GitLab CI. So we wanted to test scenario where we could start a container with GitLab, register a runner and see pipelines being processed correctly. But how to do that? How to design a framework like that? So in GitLab one of our core values is iteration so we decided that we are going to trust iteration again and that we need to start very simple. So we created a separate project called GitLab QA. We decided to use Ruby, Kappibara, WebKit and RSpec tools because these were tools that GitLab's developers were already familiar with and we created our first end-to-end integration testing scenario. As you can see it's very simple. We have a main page that we are using to sign in using credentials and then we expect to see text signed in successfully on a page. So this is pretty simple and page main is our first page object. And page object it's not a new pattern where page objects is a widely used pattern in end-to-end testing. Page objects are very useful to abstract away things that you can do on a page. And later you can also build some features on top of page objects. As you can see our page main page object is plain old Ruby object mixing Kappibara DSL and using Kappibara to fill in forms, click buttons and check if there's some content on a page. We also added a GitLab CI configuration file to run end-to-end integration tests on every Git push. It's also quite simple. You can see that we install some dependencies like WebKit that we have only one test job for testing GitLab Community Edition using a feature called services. So we use services to start container with GitLab CI latest version. We export some environment variable and then we just call aspect with Kappibara which is testing GitLab from the container. Later we refined our CI configuration file. It looks a little bit different differently right now. We are not using services. Well, we actually use Docker in Docker service and BNQA is wrapper around Docker. So we knew that end-to-end testing is not really fast and that we eventually will need to heavily parallelize our pipelines. So we decided to design the tool in a way that it's quite easy to parallelize tests. So we knew that tests have to be idempotent and isolated but it's quite easy to do that when you are actually testing a stateful application. So we used a feature in GitLab called sub-grapes. So whenever we boot up a GitLab create test harness we create a new sub-grap. And then we also create a separate project for every test example which is not particularly fast but because we can parallelize everything and this is something that we can actually optimize later we decided to stick to this approach. In the next iterations we added some page objects. We implemented new tests. And then we encountered first major problem like build time taking almost two hours to build a GitLab package and Docker image that we later wanted to test. So we thought that maybe we can run tests against nightly builds and nightly pipelines but feature like pipeline schedules was missing. Also other features that we could use like multi-project pipelines or multi-level container registry images were missing. But we were lucky again because we could build features that we needed to test GitLab. So we started building features. But first we had to solve a problem of merging GitLab Community Edition to get GitLab Enterprise Edition because merge was happening once a week which caused fragile test problem. So there are multiple definitions for fragile tests. My definition is that you have fragile tests when your tests are not able to adapt to changes in your code base. So whenever you change something in the code base you constantly need to update tests. So imagine a scenario like when some developer changes page layout in GitLab. And because we have a good documentation here she goes to the GitLab QA project to update page objects. So we can test GitLab CI Community Edition but because of the weekly CE2E merge GitLab Enterprise Edition was instantly outdated and we had to wait entire week before the next merge being done. So we decided to resolve the problem by moving all instant test scenarios to CE and EE repositories. And from that point all our page objects are living in exactly the same repository like views and selectors that page objects depend on are. So we also changed the responsibility of the GitLab QA project which I told you was a separate project. And now it's test environment orchestration tool. We gamified that and it's now available on RubyGems for everyone to use it also to test their own instance. In order to make GitLab QA life easier we also had to dockerize our test harness. And then after a few more iterations our build team did a great job with reducing the build time down to 20 minutes. We are now merging GitLab Community Edition to Enterprise Edition every three hours and this is an automated process. It's not really relevant and important for GitLab QA right now because after we moved test scenarios to CE and EE Enterprise Edition lagging behind is not a huge problem anymore but it's much easier to develop features when these two projects are synchronized. Then we built some features like pipeline schedules, manual actions and blocking manual actions, multi-level container registry post trees. And we found a workaround for missing feature called multi-project pipelines and we are now working on making it a first-class feature in GitLab. And then again, imagine a scenario like when a team of front-end developers decides to rebuild a top navigation bar in GitLab. It's something that we actually did every release ago but they don't know that there is a QA sub directory in the project holding all the page objects we have. So they forget to update page objects. So how to solve that problem? We decided to solve it by making it possible to couple every page objects with views and selectors from the project and this is not a perfect solution. We are aware of that. It was kind of 20% effort, 80% result solution for us and it would be obviously much better to assert on Elements existence on a generated page but this is something that we plan to work in the next iteration. But this solution works for us pretty well now because whenever someone pushes a code to GitLab with views being changed or selectors, we have the job that verifies the contract between page objects and views that page object depends on in the continuous integration. So it's instantly visible for developer that GitLab QA is not synchronized with the code that have been changed. We also decided to make it easier for developers to contribute and we designed the concept like GitLab QA factories. This concept is very similar to factory bot for merely known as a factory girl project known for a lot of Ruby on Rails developers. So whenever you design a factory, you make it is possible to add dependencies like project factory depends on a group being fabricated before fabricating project. So whenever in the code, someone wants to fabricate project but there is no explicit group assigned to the factory, we fabricate all the dependencies including group for the project. And then we managed to add manual action and with that change, we achieved our ultimate goal of bringing GitLab QA to merge requests. So now whenever someone clicks package QA manual action, all the GitLab QA tests this code in the merge request from start to finish. And obviously because manual actions are in GitLab are optional, which means that this stage has been skipped. It's still possible to merge a merge request without running end to end test for your changes. But we have this feature called blocking manual actions. When you make action blocking, it's not possible to merge a merge request until action succeeds. So now our GitLab QA process looks like this. In the CE or EE project, someone triggers QA action. QA action starts a brand new pipeline in GitLab Omnibus project. GitLab Omnibus project is responsible for building GitLab packages, building Docker images and pushing them to the registry. And also Omnibus later triggers pipeline in the GitLab QA project. GitLab QA pulls images from the container registry, orchestrates test environment and runs end to end tests against test environment. Later we propagate pipeline status upstream directly into the merge request to make it possible for developers to see the status. And now live demo. So I know that people at conferences live live demos. There are so many things that can go wrong. So let's hope that's going to work this time. So I'm going to open a new console.  Okay, I think it's visible. Bigger. Okay, I think it's okay. The second one. As you can see, I have no containers running. Yeah, and now let's try executing comment like GitLab QA test instance image CE. Okay, and let's see what happens. Okay, so let's go up. As you can see, we add them to pull Docker image from Docker Hub. Then we create a Docker network. And then we start GitLab with Docker run. Because it's the first run, it will take a few minutes for GitLab to configure itself. So it's happening here. We have GitLab Omnibus project built into GitLab and it's Omnibus doing its work here. Yeah, so I can show you another thing that might be interesting. As you can see, we have test instance image CE. And now let's go to our slide number 14. And you can see, I think it's visible, that in the CI environment, we have pretty much the same comment. And actually GitLab QA comment is a wrapper around being QA. So we are running exactly the same comment in the continuous integration like we can run locally using GitLab QA gem. This is a command line interface that comes from the gem that's available in Ruby gems. So let's go down to the bottom of the build log. It's taking a few minutes for GitLab QA to start GitLab. GitLab needs to configure itself. So whenever we trigger a package QA manual action in MerchQuest, the argument to the GitLab QA CE stands for community edition, obviously, but we can pass an URL to the image in the registry here, which means that we can test any image with GitLab this way. Okay, so we are now starting all the services that are in the container. As you can see that GitLab QA is now waiting for GitLab to start. And now I can go to my browser and enter an address like GitLab CE 90 test. Yeah, and I should be able to log into GitLab. As you can see, we have no projects. And because RSpec suit is randomized, RSpec decided to run tests for creating an issue, which means that an issue should probably have dependency for project. So we should be able to see that here after refreshing a few times. It's the first run, so we need to create all the subgroups for the GitLab QA and GitLab QA sandbox, top level group as well. So it can take a few seconds. I think it should be already here. No, not yet. Maybe this is one of these things that can go wrong. Let's wait a little more. Yeah, okay, let's maybe go to groups. We have a sandbox created. We have a test namespace created. No project here yet. Oh, we have a project. So next we have tests for secret variables. We have quite a few tests here, but I want to wait until RSpec selects tests for creating a new pipeline. Okay, now we have tests for the IPI, creating a merge request. So we should see a project with a merge request. We have secret variables, so. Can I ask a question in the meantime?  No, as I said, we have all the tests isolated and not important. And because we create a separate project for every test example, these tests are completely decoupled and isolated. Yes, that's why I was telling you about parallelization. So we can parallelize the statute and it will eventually run much faster. Okay, so we have now a test for CI CD pipelines. So we are pulling GitLab runner. We are running and registering it. And we are pushing GitLab CI YML. As you can see, it should be there. So you can see that we have pipelines running. We have pipeline with all the jobs. One job managed to succeed. We have echo okay, job succeeded. Yeah, that's it. So we are now using GitLab CI to test GitLab CI and we are using Docker in Docker, actually in Docker. So it can be quite complex, but it works. Okay, so let's go back to the slides. So a few lessons learned. First lesson that we learned that there is no silver bullet in end-to-end testing because how you end-to-end test your software heavily depends on how you manage to shape processes around deployment, development, installation process. So there is this great paper by Fred Brooks about essential complexity and accidental complexity and that there is no silver bullet in software engineering. So I think that is very relevant for end-to-end testing because essential complexity is a deciding factor in how your end-to-end testing framework is going to look like. Another lesson learned is that testing shows the presence of bugs, not the absence of bugs, which in other words means that you won't catch bugs in code that you don't have test scenarios for. So this is a great quote by Ezher Dejikstra who is believed to be a great grandfather of modern software development and testing. And I think that's true and that we will eventually need something more at GitLab to test GitLab. So I personally believe that canary deployments on Kubernetes are a great, a huge thing. Being able to incrementally roll out your changes to your users using tools like exceptions monitoring, performance monitoring, security testing to guide you until up to 100% rollout is a huge thing. And at GitLab we heavily bet on the Kubernetes and we are building a lot of features into GitLab to make testing GitLab easier. And because we are building features into GitLab, our users can also use this strategy. So imagine a scenario where you need test your software, then you can feature test your software, then you can build a package, test it with a tool like GitLab QA and then start incremental rollout guided by techniques like performance monitoring, exceptions monitoring and security testing, for example, until you reach 100% rollout and only then you click a merge button in a merge request because only using this strategy you will be able to know that your feature is production ready before merging into the stable or master branch. I know that a few companies are doing that already. And at GitLab we are building a lot of features to make this workflow possible. It might take us a few months to get there to be able to test GitLab this way but we'll eventually probably get there and we'll also build a lot of features that other people can use. So I believe that product quality is not only a perfect code, product quality is a combination of users' happiness, developers' happiness, product managers' happiness and company wellbeing and I would like to end this talk with a nice quote from Tom DeMarco, product quality is a function of how much it changes world for the better and I believe that GitLab strives for changing the world for the better. That's all. Thank you. Questions? Well, we are using... So the question is, are we doing any testing with real browser? So GitLab QA uses Google Chrome browser in a headless mode to click stuff in the GitLab. We can also disable headless mode and we can see in the real time what's happening and how GitLab QA navigates through the GitLab to different types. No, only Google Chrome right now. Well, it's a start, it's a first iteration, right? Yes? Future. Okay, so the future despite of the workflow with MerchieQuest that I described to you is that we are now working on cloud-native Helm charts to make it possible to deploy GitLab to Kubernetes and we are also going to use Helm with GitLab QA because as I said, we also want to test deployment and installation process and currently we are building a big monolithic Docker image which we are testing with GitLab QA but eventually we'll have stable Helm charts that we'll also use to create a test environment and we'll need to run GitLab QA against this kind of test environment. Does that answer your question? Okay, thanks. You mentioned that you are using several dockers. Do you have dockers running into dockers? Yes, we have dockers running into dockers. Well, this is quite complex. So currently we are using Docker engine. In the CI environment, all our builds are being processed inside the docker. So in order to make the workflow the same locally and in the CI environment, we have to use Docker in Docker in the CI environment. Docker in Docker is a service. So, well, I'm not sure if I understand the question. Okay, so let's meet after a talk. So, but I will try to explain. Maybe I managed to get it right. So in GitLab QA we use Docker in Docker. But the architecture is quite complex. GitLab QA is responsible for starting container with GitLab or multiple containers. For example, in the test scenario where we test the GitLab Geo which is enterprise edition feature. So we need multiple containers with GitLab. But we also need to start container with instance test scenario which we build whenever we tag a new version of GitLab or whenever we build GitLab, we also build corresponding integration tests Docker container. So in order to make it possible to execute tests, we link containers together but also inside the container with tests we have Docker available which we do by mounting socket in the container. So I'm not sure if this answer is a question. Yes, we also do that. Well, it is because in the CI environment this is fully Docker in Docker using privileged mode. But in the local workflow, this is the single Docker engine, okay? Now currently we only do click driven testing. So whenever we want to create a project or something like this, we click our way through GitLab to create a project group and all the things. We're thinking about making possible to use the API to speed up the process a little but currently we're only testing API. So we are not using API to create resources. Our GitLab key factories depend on only page objects. Currently. Yes, of course, we have unit tests, we have integration tests, we have feature tests and integration tests on top of the testing programs, right? So we have a test scenario using GitLab QA which is going to start container with previous version, mount some volumes, share them, and after stopping the previous container we use the same volumes to start the new one and the code inside the container is responsible for updating GitLab. No, we don't. We don't use preceded data. Okay. Writing a scenario needs to know a bit of Ruby. Yes. Did you ever met the case of having people on the QA or people that report a bug that will want to express the behavior of the bug or issue without knowing how to write this in Ruby? Well, not really usually users that encounter bugs submit issues with the description and we have in our issue tracker something like 10,000 of issues which a huge part of these are bugs which is perfectly normal in that project in that scale. But yeah, so GitLab QA is still in early development phase. We plan to make it easier to write tests to use domain-specific language and stuff like that but as you told you we plan to iterate and yeah, and that's it. Changes that you made to your bug detection tools to your oracles trying to decide if you found a bug as a result of going through this exercise? Well, yes, of course we, when we designed GitLab QA we had to make it possible to fail the CI pipeline whenever GitLab QA encounters an integration problem. And we do that so we check, for example, exit status of the Docker engine binary, right? We also, whenever we encounter exception on the page we also fail the pipeline so we had to incorporate a lot of techniques like this into the GitLab QA. Okay, so I think that that's all. Thank you very much for listening. I really appreciate you coming and thanks again.


Welcome to groundwater hydrology and management NPTEL course this is week 9 and we are at lecture 2. In this week, we will be looking at what are the different types of data that is available for effective groundwater management. In the first two classes, we are trying to find what data is necessary for constructing the aquifer background. Here, the aquifer background includes the layers, how many layers are dominant and also the boundary of the aquifers. For this, we looked at bore log data or bore hole data of which we looked at single bores in the last lecture and multiple bores. So the bore log data gave us some information about how the layers are present, where the water level is, what type of drill bit is used, what depth do you find an aquitard, an impervious layer, what are the different types of layers present and penetration resistance. All these we will now continue to use with multiple site bore log data and we will find how to correlate this into a meaningful information. So this is how a bore log data is taken from a profile. Please look at it, here we have the elevation and the distance between the logs. So right now we will look at this as a cross section of a land.  So the land is like this, you slice to see the cross section. You have a high land, kind of a mountainous hilly region coming down into a basin going up and down. So this is called undulating topography. And in the bottom, what you're seeing is each bore log placed as a graphical unit. I hope you remember that we took the graph sheet or a sheet where you graph the bore log information and put in the details of what depths you took measurement, the penetration test, the wetness coefficient, all those things. Similarly, now we will take all the bore logs together and put it across the cross section to find what is the relevance between them. What you're going to see now is what information can be harness from these kind of information. Let's look at the way the wells have been taken. You can see here, first couple of wells are close to each other and then these wells are farther away, especially this one, right? So this one is very far away. And the elevation of the well along the highlands, et cetera, does give you a good pattern of what kind of layers would be present. Okay, so think about this highlands. The highland is where all the water would flow. And so you will have less layers here because the layers are being taken and brought here in the valley.  What you see is water would come down and then bring down the sediments and get deposited. So where deposition happens is called alluvial layers. Where the alluvial layers are forming, you find many layers, right? So you can see here, there are many, many layers compared to this colony. There are 1, 2, 3, 4, as in the top soil, whereas you have lesser depth here and more newer ones, 1, 2, 3, 4, 5. So you have one or two layers more. That is because of the eroding away and deposition into the lower elevations. The other factor you see is the depth of the rock because here you have higher depth. You can see here, the depth is high whereas the thickness is very small here. So all these bore logs will not go very deep but a little bit deep because depending on the penetration test and everything. So now let's look at what we are trying to see. So the dashed line here gives you the layering or where the connectivities can be made for the water levels. Before that, let us look at what the analysis brings. It shows a lot of variations. Can you see how many layers are coming? And the bottom layer is not the same. Here it is silty clay and then you have suddenly a clayy silt and then here you have just clay and same here. So neither is the bottom the same nor the top top most layer is the same. There is some changes. So there is not the same type of layering between the bore logs. Also you note that within the same you have a lot of homogeneity in the bottom which is a deep deep part but as on the top there is a lot of variations. And you can see some clubbing of the test sites. So for example here these two could be clubbed together as one type of aquifer is locally present like this yellow one and then this one etc. So there is some grouping that is purely because of which sites you took and the depth at which you went. The same isotropy anisotropy as I discussed last time in the single well in the multiple well also you could see where the parameters can show isotropy where is in the XYZ plane that will it change or it does change in the anisotropy case. We can also look at the key layers. Omni layers are present, why they are present and I said you have the depth as an indicator and you can look here these wells, these bore logs may have a higher depth because of the shape it is it is not a valley, it is the peak. Okay, so wherever the peak is there and a sample is taken you would see more data for the thickness of the layers and multiple layers will be there. For the more this leads to more potential reasoning as I said one only when you go to the field you will have more visual of what is happening but my just looking at it you can understand that the thickness of this material plays a heavy role in how much depth you can go. And if it is high and there is a valley like a U shape, then water moves down from both sides, let me draw it just so that you could understand it. Okay, so what would flow like this. And what will flow like this. Right. And then from here the river will flow either this way or this way. While this water is moving it does pick up all these sediments and other things. And that is where erosion happens, because when the sediments start to move, there is a lot of erosion that happens, because the erosion is what ends up a sediment and when it gets deposited it becomes layers. Okay. So here you will have the water table along the same layers as the first aquifer, and then you'll have the second water layer as the confined aquifer, we will get into how that is being demarcated in the in the next slides. So if there are variations exist, what sites you pick, drive the understanding of the model. So, if you pick too far and you find very homogenous surfaces then you may think that across the plane, it is all homogenous. So in the same way if you pick samples very very close to each other, and there is inhomogeneity, you may think okay, the whole plane is inhomogeneous, but when you move away you might see it is not the case so all of it depends on the selection of the site, and how you select the and the depth to which you can assess. So here as I clearly you can see, not all depths are the same. It may not be the same because it is undulating, but if you take a same thickness of land, and you just go in depth in some warlocks and then very shallow in some warlocks, that is a mistake, you need to change that attitude. So let's draw a stratigraphy. Before that let's define what is a stratigraphy. A stratigraphy is stratification or layering. Layering of aquifer is called aquifer stratigraphy. How you layer it and why you layer it is dependent on this borehole borelock data. And the process of drawing these stratigraphy by hand, that is a very accurate way people started and then you feed it now into models, 3D models and stuff because in those days there were no 3D models. So they'll do like this, they'll just draw a column chart and then in the column they will color what is the depth and what material was there. And if it is the same material on top of a impervious layer then they will say okay this is a confined aquifer and if it is not confined just the land on the top they will say it is an unconfined aquifer. So all the terminologies you know but right now we will just show how do you draw it. So on the top you see the different numbers of the wells. Labeling them is very important and be very, very smart in how you label it because when you look at the label you should know what the location is. Okay, time date is not much important because these don't change, you don't see a timestamp on it but overall it is good to have a timestamp. Most important is the XY location or the lat long of the borelock, the GPS coordinate of the borelock, the elevation of that surface which you can get from the GPS also and the depth to which you went. Okay, the method is also very important because sometimes when you dig through the borelock your machine would break it and then mix all the aquifers together or the properties together. For example, if you're digging here there's three, four layers within 10 meters. Okay, so this from here to here is 15 meters. So maybe within 10 meters you have three, four layers and if you go quickly then all the layers will mix in the sample. Inside the ground it won't mix but as a sample when you take it out it is mixed. So be careful when you assess these different kind of layers. So all this we saw in the week, the first class in the week. Now we will look at how the water table is drawn. So you can see here the top most unconfined material is given as sand. We have sand and a water table is already present. So once that water table is present in one borelock at least then what we do is we understand that an unconfined water table is present. Okay, just for the brightness I let me draw it. So here is the first borelock and I find water. Then what you do is you continue on the same depth from the top. Okay, you continue from the same depth from the top until you see a different layer. So you see a dot sand and gravel. So then the water would just go up and then come along this line. Okay, so you can see here that mostly all would be at least on the boundary between the layers or on the same layer. So more or less this line has been adjusted to replicate this line where the water table would be. Okay, and that is your first unconfined aquifer or in the free attic zone, there is a unconfined aquifer and a water table exists, it is saturated. Then what happens is you have a aquitard or maybe a combination of different materials is printing water from going down. Okay, that is given by these. Okay, all these xx which is silt and then you have silt clay. Here you have silt again, silt again, and then you have silt storm. So all the silt is there and in between that there is no water that is the assumption. Okay, so here we have the water table which means below this all is water. Okay, and wherever the silt and clay is it is still holding water because of porous space. Look how big the sand and gravel is it has, but suddenly after the sand and gravel it goes to a silt layer. So there is a line which captures all this, and then this is the thickness of the first layer. So there's only one aquifer layer which is present in this example. Let's do it again for clarity. First, they take all the warlocks and place it on next to each other. And then they find the first water table at angle mark is placed. So is water present from the deepest part to here? No, because inside there is rocks and materials and there is an impervious layer. So we need to find where that aquifer is, the thickness of the aquifer. So this is the thickness of the aquifer, not the entire thickness. Okay, because the entire thickness has a lot of rock. We don't want rock. We want the material which is actually storing the water. So now what happens is water is present below the water table line until an extent where it hits an impervious layer. So here the impervious layer is given as, you can see here, they give it a silt, the water comes down. So from the top it's coming down. Once it's infiltration and percolation is happening and then it hits the silt, storm, then it doesn't move down according to this thing. And you can see wherever the silt stone is, the authors have drawn a line to connect them. So what do you do when there's no silt stone? You just go to the nearest type which is silt. So these ones, this one, do not have a silt stone. So all this is same. I'll just put a tick mark to show you that it's all the same, this one. So wherever on the top, those layers are, a line is drawn on the top. Now I'm going to draw the line which is going to connect all these layers. So you have this. Okay, so now this gives you the thickness of water. On the top, you don't see that much undulation because almost the water table is an imaginary line which connects the water. Now you do see this undulations because the material is not the same and that is why a farmer here might have dug 60 meters. Okay, the farmer, this farmer has dug 60 meters and got water. Whereas this farmer, he will run out of water at 50 meters. Even if you dig down, you won't get water. It's very near but you don't because there is an inhomogeneity or variation in the rock type. And that is where it is getting really difficult to understand your groundwater behavior. Let's take a very simplified example, one more example. So you have B1, B2, B4 and B3. Again, the numbering is up to you. You should pick the numbering. And you have four wells. How many layers do we have? One layer, two layer, three layer and four layers. At the max four layers and here you have only three layers and this one has two layers. Actually this one also has a four layer. So this one has two layers. The layers are also given in the legend. Normally should be but if not we can just assume that it is permeable, impervious, something like that depending on the water table. There is a depth in feet and this is taken in Portland, US. So when you come down, the first layer, there's no water. So the water starts at this layer, which is 15 feet below the ground. But is it all pura or full of water? No. What is happening? It is getting stopped at an impervious layer and that is given in this aromarked aquifer or aromarked rock type aquita. So only this thickness is there for the aquifer whereas the aquifer thickness comes down and then keeps down lower as it progresses. But what happens to this well? There's no water because the depth is less. This is where I'm trying to say when you have these bore logs and groundwater depths, it is very important to look at what is the depth compared to the surrounding. The water quality is not discussed in this entire exercises because that is a post by itself. Maybe I will float an NPTEL course on that. But here we are looking only at the individual bore logs. And this bore log only for water quantity, not water quality. Why is there a line here? So what it shows that initially water was there but now water has come down. Look at it, it is fill, it is gravel and sandy silt. If we know the specific heat, we know that water and gravel doesn't stay long, it flows down. It flows down and it goes into the sandy silt and it's happy. It stays there. However, in this well location, there's no water because all the water would come down. Let me draw the flow lines, how it will look. So water comes like this and comes down like this. And here there's nothing which goes into the well because there is no material to support the water. It is not supporting the aquifer or all the water has been drained down because of the gravel presence. There's a lot of gravel and gravel has high specific yield so it doesn't stay there for long. And there's no water in this opening. So there's nothing in this well for water as it does come here. This is an impervious layer. You can see the dash marks and there's no water going down. So what happens is water comes down and then hits this impervious layer and then slowly starts to build a water table from like this. Okay, and this is your water table based on the type of material which is present. And that is, it could be like a alluvial aquifer sand silt clay and it has a lot of pore space where water can be present. Now to understand that, you can take bore logs, you can put the water level in and first make sure you correctly identify the layer types. And the layer types talk to each other or the bore logs talk to each other. So in between, if you compare these two bore logs, what do you see? Oh yeah, I have one, two, three, four layers. I also have one, two, three, four layers. The thickness is changing because of the undulating topography. Because this is undulating, undulating means going up and down. It is undulating the thickness of that soil type is also going up and down. And then you have the second material which also goes up and down because of the topology. Then this material which is the water bearing material has more water here because of the higher elevation of the land or the type of rock. Whereas here it is having less thickness, and less thickness again. So when you take B is normally the alphabet given for an aquifer thickness, B, A, B, B. You could see that the aquifer thickness is not the same. But in models, in our assessments, we normally use the same thickness, which is also a limitation. Nothing comes close to a complex groundwater real life scenario. Models are models. These are also models. But only when you have good understanding of the system, you can make these assumptions. So now we have seen that you can take one bore log and look at the variations. But it doesn't tell you about the aquifer. When you keep different bore logs together, now you can have a connecting line between the bottom of the aquifer. So this is the bottom of the rock type. This is the top. Okay. We are not worried about this. One bottom is the next layer's top. So let's say this layer we are concerned. So this layer's top, all the top points are connected. Okay. There is no top here. So we neglect that well. Here, the bottom of that layer is connected to the bottom and to the bottom. So now we have a thickness and this is where water is going to be. Because all the tops are connected, all the bottoms are connected. This connecting by hand is being now done by your models and called as Stratigraphy. So this is what Stratigraphy is. You take different logs, you identify the layers and then you connect the layers to make a layering across the cross section. So in this one log, you find four layers. Okay. So already layering is there. But how does that layer result in Stratigraphy across the aquifer? So this across the aquifer will be done by having multiple logs and connecting them as layers. Okay. And when you connect them as layers, now you know how many layers are there. So how many layers are there? There is one layer, two layer and three layers. This is the fourth, which is just the bedrock. You can keep it as a layer or we can say it is the bottom. So this is how studies are going on. So they take these bore logs and then they make these different, different constructions and layerings. What do you see here is the bore log locations are kept. Okay. Where B1, B2, B4, B9 and then different types of solid materials are identified. Okay. So we have the marine science facility clay in this study and the depth. So now this is a three vision. Have a look at us 3D. So when you convert, this is the top view. You're looking from the top to bottom. But when you take the bore log, now you can establish a 3D. So when you do a 3D, so that's the elevation and going down. So when you do a 3D, you can see that some layers are present and they can be connected in one side of the basin. On the other side of the basin, red color type is present. And then you connect these lines to show how many layers are there, basically, stratigraphy. Here also does the same thing. You see the cross section. Okay. And if you see through the cross section, this is the side view. On the previous one, you saw a 3D, but now you're just seeing one side and you can see how the layers are talking to each other across a distance. Sometimes the layer starts and ends within a couple of meters and it doesn't extend. So those are about pinching off, which means the layer is thick, but then slowly it comes and then closes down. That is called pinching off. Okay. And then sometimes the layer will come out, which is called as an outcrop. So it comes out and then stops the other layers. So like this, it is coming out and stops the other layers. And this is how you could use the borelocks. You can see the borelocks present. And then you take a cross section. A, A dash is the cross section, which is A, A dash. You cut the basin and then you take a slice and see it, the cross section. And then you see how many layers are there. The layers differ because of the type of geology present within the basin. There is two distinct layers. And that is what is showing up here. Okay. So now we have seen more examples. It is called either fence diagrams. You will see the word fence diagrams because you're creating a fence using the borelocks. And in between you're connecting all the logs. Okay. I will again come back to this card at all paper in the next class because we can look at how do you read in between the fence diagrams. And also discuss about borelocks, kiting layers, aquifer disposition, certification and outcrops. I'll see you in the next class. Thank you.


Hey everyone and welcome back to a series that you all have requested for months and months and months It's the fan made Backroom's level series it has been forever since I've done a video on some fan made levels So if you want to see more make sure you let me know by leaving a like and commenting on the video Because I'll only keep doing it if you guys want it So if you're new here, this is the series where Berkeley fans just like you write and create a Backroom's level and submit it to me over on the discord server And then I go over it in a video if you're chosen. Hopefully you do enjoy the video and let's Get right into the first submission So first up is from Aaron Kuhn or Kuhn and their level is called the horror hospital The level is classified as a class 5 difficulty and is very very dangerous It physically looks like an old abandoned hospital that's been partially destroyed or broken in most of its areas Now this level does have something pretty similar to level to run for your life Because when you get to this hospital here, there are tons and tons of entities that will flock to you the second They see you but that's not all the bad stuff because there is also Radiation inside of the hospital So when you get here, you're gonna have to run around and find a gas mask and a hazmat suit as soon as possible So the radiation doesn't unalive you first the entities on this level are the worst of the worst quite literally skin crawlers, wretches, facelink, Smilers, a few partygoers, skin givers and phobic centipedes Those are probably in my top 10 of these scariest entities in all the backrooms and they're conveniently here on one level for you Nice so after you get here You got to run around find a hazmat suit and a gas mask and after you get that stuff if you want to leave You're gonna have to no clip into anything that isn't too destroyed or if you're feeling really crazy You can run directly at the horde of entities following you and just no clip into them If you trust your no clipping skills, I guess whichever one you prefer to enter this crazy level You have to have just left level run for your life And if you do there's a really small chance you'll be sent here Which would be absolutely terrible because level run for your life Makes your run for miles and miles away from entities and then you get sent here to also Run miles and miles away from entities. So yeah, you got to have really bad luck for that to happen But hey, I mean it's the back rooms anything can happen But yeah, that was Aaron's level a post nuclear bombed hospital With thousands of creatures crawling around it kind of runs me of the hospital from stranger things but with more creatures good stuff Next up for the video is Cheryl's level called abnormal dreams. This level is classified as This symbol which apparently means Uranus funny. It's unsafe and unsecure with reality Warping hazards now it is an enigmatic level And it's made up of a couple of different sub levels that are pretty hard to wrap your head around lots of things in this level Make no sense to someone like us or any normal person like you can start walking up a hill Just to appear at the bottom of it when you get to the top or you might just see a random hole in the sky Shiny light from no light source that you can see like it just makes no sense Apparently in the sky of this level the actual earth that we live on right now can be seen very rarely And there are other mirrored versions of back rooms levels that appear in the sky as well The first sub level in this level is called the desert now This is where everyone is sent that joins a level It's made up of typical Deserty stuff like dunes and hills and a mountain every so often the sand has a ton of salt content in it Which means that it used to be the bottom of an ocean that somehow dried up even though it's desert It does rain sometimes and the rain is not absorbed into the sand at all It just pulls on top so it's completely hydrophobic The next zone is called the pools now This is a more Secretive part of the level and it can only be accessed by getting lost in the desert and the pools look like Regular outdoor public pools, but they all have different looks to them time as we know It's is stopped inside of the pools and there are just objects that have fallen into the water that are completely still But if you touch that object they will reanimate and start going again interesting And when you touch an object of the sky will turn pitch black the last zone is called the roads And this is an abandoned city with no buildings That's literally just made up of a bunch of zigzagged roads The roads are really steep and they can't be driven on and they just make no sense like why is there an entire? Cityscape with no buildings, but just roads there aren't any outposts here because the level is too big And the entities that live here are hounds, Smilers and windows to enter you can no-clip through a sub level on level 94 and to exit You can no-clip through one of those pools that you ran across Nice this one seems like a video game or something with different levels. I don't know. It's pretty neat The last entry for today comes from you literally and their level is any moya or Or level 253 this level is classified as class Undetermined and is made up of a bunch of different rooms that give people weird feelings of nostalgia Pretty much a liminal space heaven if you will even though they haven't ever seen that specific room in real life They feel like they have and that's why this level is named any moya that literally translates to Nostalgia for a time you've never known the rooms are always changing on this level So there's new ones all the time and like a rotation pattern But all of them have a slight blue Coloration and are slightly colder than a normal room temperature room and the physical level is safe But there are TVs that are scattered around that play Mematic hazards on the screens and if you look at it for too long Well, you could just on it alive right there only one person can be in this level each year So it's impossible to set up a base here But you can enter the level randomly when you're least expecting it Which is fine by me. I mean it seems pretty chill to leave You have to wait three months on the level and you can drink the almond water there to stay alive And then you'll be sent to level 11 after the three months is over cool So yeah, that was three of the fan submitted back rooms levels or the fan rooms as I like to call them Hope you enjoyed them if you want this series to continue leave a like and comment it So I would just know the masses appeal on this this series You know, I don't know if you guys like it or not a ton of you've asked for it But I don't know just let me know down below man. I'm rhyming today. Thank you all for watching the video Thank you for supporting me. I really appreciate it The channel is quite literally going insane right now and I'm just really thankful for everything you do also Make sure to go check out my second channel to glee. I am uploading some banger videos over there I got a video coming out early next week about a black ops 3 zombies back rooms map Yeah, it's gonna be pretty cool. I'm a man for 50k subs over there and we're just about to hit 16k I think we're well on the way, but if you want to help the cause drop us up I will see you in tomorrow's video. Peace out until then


Wanderers fans, we're back. The A-League season is officially here. I'm Sia Anthopoulos and you're watching Bay46, the show where we preview all things Wanderers in the lead-up to every home game. This year on Bay46, you'll get exclusive insights you won't find anywhere else as we showcase what makes this club like no other. But today we're talking about one thing and one thing only. After 166 days, football returns to per-text stadium as our Wanderers start their fourth Hyundai A-League season. It might be quiet now, but come Thursday, this stadium will be covered in red and black and the Brisbane Raw won't know what hit them. It's right here in the change rooms where Tony Popovich will ready his men to take the field on Thursday, but we will have a couple of fan favourites out of action. Brendan Santalab injured himself in our FFA Cup defeat against Perth, while Foundation players Shannon Cole and Mark Bridge are also recovering from injury. Golgol Mubratu, who of course scored the winner when he last played Brisbane Raw in August's FFA Cup round of 32 fixture, is also fighting his way back to full fitness. The good news is Popovich will be able to call on new marquee signing Dario Wittezic, who I think is a massive buy for the club.  Meanwhile, Raw boss Aloisi will be hoping to start Spanish midfielder Corona, who joined the club last week. With a departure of Luke Bratton, he'll need to put in a big performance, with Raw having a number of absentees. Captain Matt McKay and defender James Donicky will be away on soccer ruse and Olyrius Judy respectively, while striker Salorzano and veteran Shane Stephanuto look set to miss out through injury. A question mark also hangs over new number nine Jamie McLaren. The former Perth man is working through a knee problem and if fit he'll definitely be one to watch. As always, stopping the ever-impressive Thomas Breusch will be central to Popovich's game plan. If the Wanderers backline can stifle the classy German will be well on our way to picking up the three points. Now we all know we have the most passionate fans on social media, so this week I asked you to tweet me what you're looking forward to most this season. WSW Steve says he can't wait to be with his Wanderers family every home game singing loud and proud. Pride, power, west. The Bay 49 Wanderers are already looking ahead to round threes away Derby, as well as February's massive away trip to Melbourne victory. While Tony 2148 says it's the RBB who made the game day an event, I couldn't agree more Tony. By now everyone should have their membership packs. So just like Caitlyn's furry friends, we expect everyone to be decked out in red and black. So keep the tweets coming guys. Hashtag Bay 46 and let us know what you want to see on the show this year. Now this is where it will all kick off on Thursday night. But without you the fans, Wanderland is nothing. It's time to unite once again and show the rest of the league what real passion is all about. If you're not a member, Thursday is the perfect opportunity to experience the best atmosphere in Australian sport. I'm Cianthopoulos and you're watching Bay 46. I look forward to seeing you here at Wanderland for an 8pm kickoff. I'll be singing for the boys and I hope you will be too. Let's get our boys back to the top where they belong.


Today on Memory Lane, putting a polished finish on a presentation plaque. The whole Art Resin Texas factory has no art underneath the walls. They make art resin. I find one thing, the special thing, means that Whitney's a pilot. He has the pilot privileges and there's no resin art.  What are you doing, Whitney? Anyways, we'll fix that. Or is it cooler if I just... maybe. So today we're going to be finally giving our Texas Art Resin headquarters a piece of art resin something to put on their walls in their office. So Whitney loves to fly. This is a big deal for him. He's actually the chemist that invented art resin with us. He's the brains behind everything. We'll do what we can to pretty up their walls. So let's make sure this guy's level. Yeah, that's good. I'm going to do one ounce and one ounce. Just a little bit. So I'm going to stir for three minutes. Can't say it enough. Scrape your sides. Scrape the bottom people. Airplanes are fun. Interesting fact, when you're at the airport and you look at an airplane, pretty much 90% of the airplane is made out of art resin. Is that true? All right, here it goes. Increase the music. So our last step is to torch out the bubbles, look for hairs, cover it, and go pick up my daughter. But I'm going to drive, not fly. Oh yeah. Oh, it's perfect. Cover it with a box. All right, sit overnight and we'll check in the morning. That's how you do it.  Good, right? Let me check. Microphone check. Microphone checker. Good? Are you filming? Okay. Beautiful. Absolutely love it. Whitney, I hope every time you look at this, you remember that you're a pilot and that you chemist it up the best product in the world. Even after eight years of resin, I still look at something that's resin and say, holy, making sure a bunch of beeps. Holy mother. That is beautiful. I'm going to come down there and hand this to you and we're going to put it on your wall. All right, see you soon. Whitney. What's up? Hey, Whit. Look what we did. Wow, you are president. Isn't that beautiful? Wow, that is so nice. Thanks, David. Thanks for all of this. Sure.