elcome to ss unit a so say this side and this is continuation of ssis tutorial so today we are going to discuss about execute sql task parameter mapping so here i have created two scenarios first we want to insert record into a table by using variables and second we want to execute a stop procedure with parameter so in our first query as we can see if we want to use variables to insert record in our table then we have to specify values by question mark and then we can map those question marks with our variables so go to on ss dt and here i would like to add one more package so then i wish to rename this package with execute sql task parameter mapping now i need to drag and drop execute sql task then double click on this execute sql task and here i would like to use oladb as a connection type then i need to build a connection manager so as i have already made the connection so i want to use that one so click on okay in sql query i would like to paste our insert statement so i have already written the insert statement so i would like to copy this and need to paste that query in our ss dt so before going to paste this query into ss dt let's have a look off table so it has eight rows so go to on ss dt and paste that query and click on okay so here we need to create four variables so first i would like to create four variables this is for id and values should be integer and i would like to add id9 second it should be name and it should be string value and what would be the value value would be john in third variable this is for date of birth and here we need to specify our date and i would like to use 2019 01 01 then in last variable this is for salary so it should be integer and value would be 52 000 so these are the values in our variables so i would like to use these variables to map with our question mark so got one parameter mapping and here i would like to add four parameters and this is for id so we can select our id second we need to select for name then we need to select for date of birth and last we need to select for salary and direction should be input then what would be the output data type so for id it should be numeric data type then for name it should be work here then this is for date so we need to select date then for salary again we need to select numeric and what would be the parameter name so this is our first parameter so we need to specify zero this is second so one then two then three it will start from left side so our first parameter would be id then name date of birth and salary so we have done our mapping now we can click on okay and we can save our package and click on start so package executed successfully we can stop this package go to on ssms and we can press control r so as we can see id 9 has been inserted successfully if i want to update our name for id 2 and we want to update with sucing then how we can update by using execute sql task so this is our update statement which i have written so we can copy and go to on ssgt double click on this execute sql task and instead of this sql statement i would like to paste our update statement so here as we can see our name parameter comes first for name it would be zero for id it would be one now click on okay go to on parameter mapping and here i wish to remove our data birth and salary and here as we can see this is id and this is name so put one for the id and zero for the name now click on okay now we can save it go to on variables and here i wish to change the values so i want to change with sucing and id would be two now we can save it and execute our package so package executed successfully now go to on ssms and in this table i need to press control r so as you can see id 2's name has been updated so here i have created a simple store procedure so in this store procedure it accept a parameter with id and it would return the id name and data birth so i would like to create this store procedure so store procedure created successfully now if i execute this store procedure for id one then it should return information of id one so we are getting id name and data birth i can press question mark copy this execute statement and go to on execute sql task and stop this package not click on this and here i can paste and it accept id now click on okay go to on parameters so i have removed name then we need to add two real sets so first for the zero then one and we are getting two as well so first is id so i would like to for id second we are getting name then we are getting data birth so now i need to click on okay so by using script task we can check our output so i would like to drag and drop script task and connect with execute sql task double click on this script task read only variables i need to select our data birth and second name now click on okay so go to on edit script here i need to use message box dot so dts dot variables and here we need to specify variable name that is data birth then dot value then dot two string so this is for data birth second we want to use for name so we can specify name now we can save it and close it click on okay so we have done our package now i wish to execute our package so as we can see this is the data birth and this is the name now i gonna stop this package and go to on variables i need to change the id so we want to output for id three stop this go to on ssms so here as we can see for id three we are getting we pulled so in our output we should get we pulled we can execute our package and this is data birth and this is we pulled so we are getting as we were expected so thank you so much for watching this video if you like this video please subscribe our channel to get many more videos don't forget to press the bell icon to get the notification of our newly uploaded videos thank you so much hello friends welcome to ss u detect so still this side and this is continuation of ssis tutorial so today we gonna discuss about parallelism so what is parallelism so it is a great technique to improve the performance of our data integration operations and it supports parallel execution of practice task and transformations so when we talk about parallel execution then maximum concurrent executable property comes into the picture and default value of this property is minus one that means maximum number of tasks can be executed at a single time as microsoft says when we set n plus two value of this property then we will get the best performance and n is the number of process nodes so how we can calculate the number of process nodes so we need to go to on ssms then right click on this server name go to on properties then go to on processes and here as we can see all so we need to expand then again expand so here as we can see we are having four nodes so once we will set four plus two it means six then we will get the best performance and performance will also depend on the hardware specifications as well so here in this case is today as we can see we are having two execute SQL tasks first it will capture start time of this package and in our last and it will capture end time of this package and inside this package we need to use 10 execute SQL tasks where we will insert record in our table so go to on ssdt to implement the package so here i wish to add one more package then i wanna rename this package i need to drag and drop execute SQL tasks so it will capture start time of this package so double click on this here we need to make our connection manager so click on new connections as i have already made the connection so i gonna use that one click on okay then in SQL statement i have already typed the query so i gonna copy that one and paste it here so this is our query let's have a look of this table so this is our table so as we can see for id1 we are having four sequence and start time is null and end time is null so it will update start time and end time once our package will be completed successfully so i gonna copy this update statement and paste in execute SQL tasks now click on okay again okay now i need to drag and drop one more execute SQL tasks and it will capture end time of the package so i need to use that connection and so go to on ssms and i need to copy this update statement and paste in execute SQL tasks now i need to click on okay again okay so we have captured our start time and end time now i gonna use a sequence container then i need to connect start with sequence container and sequence container with connect with end and inside this sequence container i gonna use execute SQL tasks double click on this and need to make the connection then here i want to write a query to insert record in a table so i have already write the query so this is our query by which we will insert 10,000 record in a table so i gonna copy that one and go to on ssdt and paste it here and click on okay again okay so we have done our first now i need to copy this and paste over here and this is our second how we can copy and paste third fourth fifth sixth seventh so here we are having 10 executes equal tasks that will be executed to insert record in our table so i gonna connect these one by one then second then third then fourth so here i have connected one by one now i gonna execute this package and to check our start time and end time so once we click on start then as we can see our first execute SQL tasks will be completed then move to second once second will be completed move to third once third will be completed move to fourth then fifth and it will take until our last execute SQL tasks will not be completed so as we can see package has been executed successfully so i gonna stop this package and go to on ssms and here we can refresh this table and we can check so start time and end time has been captured so this package was started from 21 25 29 and and it's completed 21 26 0 8 now move to ssdt and design this package to run parallel execution so i need to remove these connections now right click on this package and go to on properties so here we have a property which is maximum concurrent executable so i gonna change with five so five execute SQL tasks will be executed at once once these five will be completed then next five will be executed so before in this package i need to change our update statement and this time i would like to run for id2 because this is for parallel execution now click on and and here i would like to change for id2 click on okay okay we can save and click on start so as we can see five execute sql task is going to executed at once so package executed successfully now i can stop this package and go to on ssms and here i can refresh this table so we can check 21 28 54 is our start time and 28 21 29 is our end time so this package is executed very early previously when we executed our package with SQL then it was taking a lot of time but once we design this package for the parallel execution then it's going to execute early thank you so much for watching this video if you like this video please subscribe our channel to get many more videos don't forget to press the bell icon to get the notification of our newly uploaded videos thank you so much hello friends welcome to ss unitec social decide and this is continuation of ssis tutorial so today we gonna discuss about containers so what is container and what is sequence container so let's start with container so containers are a logical grouping of tasks which allow us to manage the scope of the task together ssis containers are controls that provide structure of the package and it supports repeating control flows in packages and group tasks into a meaningful unit of work in ssis we have three type of containers first is sequence container then for loop container and last is for each loop container so for each loop container is used the most today we will discuss about sequence container what is sequence container and what are the real-time use of sequence container it is used to grouping logically related tasks together which makes it simple to divide the control flow in a package into group of tasks and containers that we manage as a single unit so what is the purpose of sequence container so here i have written six scenarios where we can use sequence container and that is very useful for developing our package so first is grouping tasks so that we can disable a part of package that is no longer used so what it means go to on ssdt and here i would like to add one more package then i wish to rename this package with sequence container then here as we can see inside these containers we have three containers first is for loop container for each loop container and sequence container we can drag and drop sequence container inside the sequence container we can use multiple dataflow tasks so this is our first dataflow task and this is our second dataflow task then this is our execute SQL task and this is our execute SQL task so these four tasks is a label inside this sequence container if we have a requirement where we want to disable all these tasks then there is no need to go to on each task and click on disable we can simply disable our sequence container so that all these tasks will be disabled as we can see once we disable then all these tasks have been disabled in our second narrowing the scope of the variable to a container if we wish to create a variable and scope of that variable will be available inside this sequence container only then we can create our third is managing the property of multiple tasks into one by setting the property of the container like if we want to manage any property of these four tasks then there is no need to go to on each task and set the property we can simply set the property of this sequence container then that property will be applicable for these tasks next is ensure that all tasks in the container must be executed before next task executed so it ensures that once we execute this package our sequence container will be executed first if we have one more dataflow task and that is outside the sequence container then once these four tasks will be completed after that next dataflow task will be executed so it ensures that our four tasks which is placed inside the sequence container will be executed first then our dataflow task will be executed which is available outside this sequence container next create a transaction across a series of data related tasks but not on the entire package let's assume we have a scenario where we want to use transaction and we don't want to use transaction on entire package we just want to use transaction inside this sequence container then we have a option by which we can use the transaction for this sequence container and it will be available only for those tasks which is placed inside this sequence container creating event handler on a single container where we can send an email if anything fail inside the container so what it means like we have four tasks and if any task will be failed then we want to send an email there is no need to go to on all these four tasks and set the property to send email if that task will be failed we can only set the property for this sequence container if anything will be failed inside the sequence container then mail will be sent so these are the scenarios by which we can use sequence container once we will discuss about the case study then we will see what is the real-time use of sequence container and how we can use it so thank you so much for watching this video if you like this video please subscribe our channel to get many more videos don't forget to press the bell icon to get the notification of our newly uploaded videos thank you so much hello friends welcome to ssunitech so see this side and this is continuation of ssis tutorial so today we gonna discuss about for each loop container so here we will discuss basics of for each loop container like what for each loop does so let's start so for each loop container is used to look through a set of enumerated items such as files in a directory or rows in a table within container we can add one or more control flow tasks for example we can use execute sql task or we can use data flow task and we have one more container called as task host container which is not visible from id but every task is contained in it like we can say it is a container which contain the ssis package so go to on ssdt and let's have a look of for each loop container here i wish to add one more package then i need to rename this package with for each loop basic then inside this container as we can see we have for each loop container now we can drag and drop for each loop container and double click on this for each loop container and here as we can see we have four tabs first is general tab here we can specify name and description then collection tab variable mapping tab and expression tab what we can do inside this collection tab so in collection tab we can select enumerator type and expressions so as we can see here we have enumerator and we have multiple enumerators so we can select according to our requirement and inside this expression we can select the expression according to our requirement inside this variable mapping we can map the variables and inside this expression we can use the expression according to our requirement next is types of enumerators So, we have total 7 types of enumerators and we will discuss one by one. So, first is for each file enumerator, second is for each item enumerator, third is for each adio enumerator, next is for each adio.net schemaRoset enumerator, next is for each variable enumerator, next is for each nodeList enumerator and last is for each SMO enumerator. So, we have total 7 enumerators and we will discuss one by one in our upcoming videos. So, thank you so much for watching this video. If you like this video, please subscribe our channel to get many more videos. Don't forget to press the bell icon to get the notification of our newly uploaded videos. Thank you so much. Hello friends, welcome to SSUnitech. So, see this side and this is continuation of SSIH tutorial. So, today we gonna discuss about for each loop file enumerator. In our last video, we had discussed about basics of for each loop container and types of enumerator. So, before going forward, if you haven't watched part 10.1 of this video series, so I would strongly recommend to watch that video where you can understand about the dynamic connection manager. So, let's start with file enumerator. So, what is for each file enumerator? So, it is used to loop through all the files present in a specified folder. It will also has an option to traverse the sub-folders present into that specified folder. Like we have a folder and that contains many files and we want to load data from those files into SQL Server Table. Then we can use it can be used to fetch full qualified file path or file name only with or without extension. So, here we have a case study as we have four text files into a single folder and we want to load data from those files into SQL Server Table. So, let's have a look of flat files. So, this is our folder. As we can see in this folder we have four files. So, this is our first file and it has information for sales in India, then sales in Peru, then UK and then US. So, we have total four files and we can see we have four columns in each file and first is customer ID, then item name, then quantity, then value. So, we want to load data from these files into our SQL Server Table. So, go to on SSMS and here as we can see we have this table, customer sale table and we want to load data in this table from these files. So, how we can achieve this? So, go to on SSDT and here I would like to add one more package. So, new SSIS package. Then I wish to rename this package for each loop and this is for file enumerator. Here as we have discussed in our last video we have three type of containers. First is for loop container, for each loop container and sequence container. So, I gonna use for each loop container. Then double click on this for each loop container. Go to on collections and here we can see in this enumerator we have multiple options. But we are going to deal with files. So, we need to select for each file enumerator. And here as we can see we have enumerator configurations. Here we need to select the folder path and then we need to select the file extension. So, before configuring for each loop container let's create two variables. First for the folder path and second for the file name. So this is for folder path and it would contain the information of the folder. So, this is our folder where our files exist. So I need to copy and inside this value we can paste that value. Then second for the file name. So I wanna use file name and it should be string type. Now I can save it and we can close it. Now I need to double click on this for each loop container. Go to on collection tab and here I need to select file enumerator. So, in this folder we need to specify the folder path. So we can copy it and we can paste over here. And here what type of files we want we can specify over here. Like we want only txt file so we can specify .txt. So here we have three options. First is name and extension, fully qualified name then name only. So we want name and extension. So it will retrieve name and extension. So we want to store name and extension into a variable. So this is our file name. So where we want to keep the information of file name with extension. Now we can save it and here we need to use a dataflow task inside this for each loop container. Now double click on this dataflow task. So we want to get data from flat file and want to load data into sqlsov table. So we can drag and drop flat file source and per ADB destination. Now double click on this flat file source. So here we want to make connection any of these files. I am going to make connection with India. Click on open. Go to on columns. It looks good. Now click on ok again ok. Now we need to destination. Double click on this and click on new. As I have already made the connection so I am going to click on ok. Here we need to specify our table name. So we want to load data in customer sql table. Go to on mapping. Mapping succeed because our input column name and destination column names are same. Now click on ok. So we have done the mapping and this is our static mapping. So once we run this package our for each loop container will be executed 4 times because in this folder we are having 4 files. So it will be executed 4 times but data will be loaded only from sale India flat file. Because we made the connection only for India. Now we need to make this connection dynamic. So we can click on flat file connection manager. Then go to on expressions and here we have a property with connection string. Now go to on expressions and here we need to drag and drop folder path. Then we can specify plus and then file name. Now we can evaluate and we can see we are getting. But the file name will be calculated at runtime. So it looks good click on ok again ok. We have done it. Now we can execute our package to check the output. Now we can click on start. As we can see package executed successfully. Now we can stop this package and go to on ssms. Now we can refresh this table. It should get 12 records. So we are getting 12 records. Because 3 records is available in each flat file. Now double click on this for each loop container and here go to on collections. And here we can see we have an option for traverse subfolders. Once we select this checkbox and click on ok. So it will check on that folder which is available in this location. As we can see we are having sale Australia. So we are having same number of columns it also have 3 records. Now I wanna execute this package. Once I execute this package then we can see our package failed. Because once we gonna calculate our connection string. So here first it will check the folder path. So our folder path will be this. But this file is available inside this subfolder. So it is not going to check in this folder. Because we have hard code the value for the folder path. So this is the difference while we gonna use folder path plus file name and full qualified name.   So in file name it will pick the folder path plus file name I can click on ok. Now go to on flat file connection manager and here go to on expressions. And here in this expression I need to remove this folder path. Because our folder path and file name will be keep in this file name variable. Now we can click on ok. Go to on ssms and here I would like to delete all these rows so I can delete. Here I can see once we refresh this table then we are not having any data. Now once our package will be executed successfully then 15 rows should be available in our table. So I can click on start. So it looks good. Now stop this package and go to on ssms and refresh this table. So as we can see 15 rows inserted in this table. So this is the difference while we gonna use folder path plus file name and extension and full qualified name. Once we are having sub-folders inside the specified folder and we want to load data from those files which is available on the sub-folder then we cannot use folder path and file extension. We need to use full qualified name. Thank you so much for watching this video. If you like this video please subscribe our channel to get many more videos. Don't forget to press the bell icon to get the notification of our newly uploaded videos. Thank you so much.


Greetings, friends. Welcome to CTUCC Conference Cast for June 21st, 2012, the regular podcast of the Connecticut Conference of the United Church of Christ. Whoever you are, and wherever you may be on life's journey at this very moment, you are welcome here. We begin this week's conference cast with this meditation from Charlie Kuchenbrod, Associate Conference Minister for Endowment Ministries. Charlie's text is short, simple, and comes right from the very first words of the Bible in Genesis. In the beginning. How do we know that God is a baseball fan? Because the Bible starts in the big inning. In the art of fielding, a novel, Chad Harbach offers this description of what it means to be a coach. He already knew he could coach. All you had to do was look at each of your players and ask yourself, what story does this guy wish someone would tell him about himself? And then you told the guy that story. You told it with a hint of doom. You included his flaws. You emphasized the obstacles that could prevent him from succeeding. That is what made the story epic. The player, the hero, had to suffer mightily and root to his final triumph. Schwartz knew that people loved to suffer, as long as the suffering made sense. Everybody suffered. The key was to choose the form of your suffering. Most people couldn't do this alone. A good coach made you suffer in a way that suited you. A bad coach made everyone suffer in the same way, and so was more like a torturer. This reflection on coaching made me think about God. Here is a short summary of my understanding of God. First, God is. Second, God loves us unconditionally. Third, God yearns for what is best for us. Us means all of us, indeed all of creation. So when God loves us, God loves all of us. No exceptions. And when God yearns for what is best for us, it is not just what is best for us, each individually. It is what is best for all of us. God doesn't yearn for anything that is best for only one of us, when this would not also be best for all of us. So even though I do not think God is a person, it wasn't too much of a stretch for me to imagine God as a coach. I don't want to get tangled up in whether God wills us to suffer, but I don't think so. I think in the midst of whatever suffering we encounter, God yearns for us to find the best way through the suffering, and for our suffering to have meaning. I think that God is a good coach, and that God yearns for each of us to find a way that suits us. I think there are bad theological perspectives that turn God into a torturer. Perspectives that force all, or all but the elect, to suffer in the same way. I can't accept this because God loves all of us. God yearns for each of us to be the heroes of our own story. What is the story you wish someone would tell about you? What is the story of the good coach yearns for you to live out? Here is a prayer for this week. Dear God, help me to find my way, the way that suits me and suits all of creation. Amen. In the news this week, Faith Congregational Church UCC in Hartford observed its tradition of recognizing the ministry of all men in the church on Father's Day last weekend, and welcomed UCC general minister and president the Reverend Joffrey Black to their pulpit. He greatly enjoyed the congregation's warmth when they spent quite a bit of time greeting each other during the service. Thank you, thank you to myself. How they loved one another. Boy, this place is here. Thank you. During a special moment in worship, Hartford educator Al Collins, a member of the church, urged men to take up their roles as parents and caregivers. I will about you leg and time driving in the streets of Hartford and finding little candle monuments sitting on the sidewalks. These are all our children. We need your help as educators. We need your help because we need to stop parents from burying their children. In his sermon, based on the anointing of David by Samuel, Joffrey Black urged the worshipers to dig deeper than what seems plain.  Thus, the will of God is not always what we would assume it to be. So, if we want to do God's will, it is important for us to stop and to look to discern and to look beneath the surface to the heart. Look beneath the surface to the heart. That's the message. That's it. You got it. The Kensington Congregational Church UCC turns 300 years old this December, and last Saturday the church grounds took on some of the appearance of their early years as colonial costumes appeared in a Revolutionary War encampment. Reenactors included members of the 5th Connecticut Regiment and His Majesty's 54th Foot, as well as Dan Newman's portrayal of an 18th century surgeon. Three months ago in March, the congregation enjoyed a Sunday morning historic skit which swept through the centuries from the church's foundation to the second church of Farmington down to the present day. Further activities will include visits to historic sites around New England, a church picnic this summer, and a reunion service with members of the first church in Farmington. You'll find photos both from Faith and the Kensington Churches on our website and a tribute to the life and ministry of the Reverend James Kidd, who served the Asylum Hill Congregational Church for 19 years. For all the current headlines, visit us at ctucc.org slash news. National Youth Event attendees have an orientation session on June 26th here in Hartford. The UCC Musicians National Network Conference is June 22nd through 25th in Kansas City. The National Youth Event itself runs July 10th through 13th at Purdue University. The Craigville Colloquy, featuring William McKinney on the Gospel Unbound in the Mainline Churches, runs July 16th through 20th. United Black Christians hold their 20th convocation here in Hartford, July 25th through 28th. The UCC Musicians Association Conference is July 29th through August 2nd in Burlington, Vermont. And Praxis 21, the Center for Progressive Renewals National Church Leadership Institute, is August 8th through 10th in Decatur, Georgia. You can always find out what's coming up in the Connecticut Conference at ctucc.org slash events. And that brings this conference cast to a close. Thanks to Charlie Kuchenrod for his reflection and to GarageBand for our music. Primary funding for conference cast comes from your congregation's gifts to our church's wider mission, Basic Support, changing lives through the United Church of Christ. This is Eric Anderson, the Minister of Communications and Technology for the Connecticut Conference of the United Church of Christ, praying that your days this week may be filled with the presence, the guidance, and the grace of God.


Hello everyone, I am Hari Rathodan. I got secured 11th rank in UPSC CAP of 2032 examination. I got studied in Shankarayesh Akadami, a blame count's main foundation course in 2018. Actually that preparation in Shankarayesh Akadami helped me a lot in getting this rank. I am very thankful and grateful to this Akadami for my achievement.


Hi, my name is Carrie Crawford and I'm an associate professor of political science at James Madison University in Harrisonburg, Virginia. My 2017 book on conflict-related sexual violence demonstrates that states and security-focused agencies are more likely to recognize sexual violence and condemn it when they view it as a weapon of war. So key global actors often neglect the cases that don't fit that frame. Survivors don't always get access to the resources they need and perpetrators don't always face the accountability that they should. The big question I'm researching now is what specific practices, norms, or policies effectively prevent conflict-related sexual violence? What changes the battlefield calculations of armed actors or civilians caught up in the breakdown of the rule of law? The whole of my research on conflict-related sexual violence specifically and human security more broadly suggests that it's imperative for policymakers to prioritize the long-term efforts to prevent atrocities as moving beyond a responsive stance to a preventive one is more cost-effective and more conducive to peace, stability, and security. I don't mean to suggest that this is easy, but the most important efforts seldom are.


It is important to realize that although we require additive inverses in every ring, we are not making any requirements about elements of the ring having multiplicative inverses. That is, reciprocals we don't necessarily require. But there do exist rings for which we could require multiplicative inverses. Remember, the axioms of a ring tell us that with respect to addition, we have an abelian group. It's associative, commutative, identity, inverses for addition. With respect to multiplication, the only thing we require for a ring is that the multiplication be associative, and multiplication distributes over addition from the left and from the right. That's basically it. That's all that we require when it comes to rings. We can add assumptions about commutivity. We can add assumptions about unity. But we don't necessarily require them in general. So let's suppose we do have a commutative ring with unity. So addition forms an abelian group. Multiplication is commutative associative with identity. And we have the distributive laws, of course. We say that in addition to that, if a commutative ring with unity satisfies one additional axiom, this is called a field. And this final axiom is going to be the multiplicative inverse axiom, for which if we take any non-zero number in the ring, so r cannot be zero, then it's guaranteed to have a multiplicative inverse, sometimes called the reciprocal of the element, such that r inverse r is equal to 1, the unity of the ring.  Now, we don't allow zero to be inside of, that is, we don't allow zero to be an invertible element. And when we talk about an element being invertible, we're talking about multiplicatively, because every element of a ring has an additive inverse. Okay? We don't allow zero for basically the following reason. Okay? If we allowed zero to have an inverse, we'll basically pick your favorite two elements inside the ring. Right? Here's going to be a proof that x equals y. Well, you start off with zero equals zero, which is certainly a true statement. Then you're going to say that, okay, zero x is equal to zero y, because we've shown previously because of the distributive laws that zero is this dominant element inside of the ring. For which then if you can multiply both sides by zero inverse, zero inverse, here you can re-associate, cancel out the zero, and then you would end up with x equals y. So basically what I'm saying is the only ring for which zero could be invertible would be the zero ring itself, because we've just proved that every element x equals y, every element is equal to each other elements, in particular they're all equal to zero. So only the zero ring could be a ring for which zero is invertible, and that's kind of a cheap shot because the zero ring is the only ring for which zero is also the unity of the ring, which we don't allow that to be a commutative ring with unity. So it's imperative that we don't allow zero to be invertible, but if every other element of the ring is invertible, then we call this a field, okay? So in every ring we always have a well-defined operation of addition, subtraction, and multiplication. Fields are exactly those commutative rings for which division is possible. So let's look at some examples that we know and love very well. So the rings Q, R, and C, with their usual multiplication addition, define examples of infinite fields. On the other hand, the ring of integers is not a field. It is a commutative ring with unity, but the only elements that have multiplicative inverses would be plus or minus one. No other integer has an inverse, which is itself an integer. So Z is very far from being a field. Most of the elements of this infinite set, all about two of them, do not have multiplicative inverses. What about the finite ring Zn, right? So if we take the set zero up to n minus one with addition and modular multiplication, can we make that into a field? Are there inverses in that situation? Now from the group theory perspective, we have taken a look at the elements of Zn which are multiplicatively invertible, okay? So this would consist of what we usually call Zn star. Some people call this U Zn, or probably more commonly U of n. Now I don't particularly like this notation because this makes me think of the unitary group, but it sometimes is used here. The reason why they use the symbol U is that we're talking about right now units, which is something we'll talk a little bit more later on in this lecture 38, but not in this video. So Zn star, this is going to be a set of all integers which are coprime to n, and which we've seen previously by the Euclidean algorithm, those integers which are coprime to n will be exactly those integers which have a multiplicative inverse with respect to n, multiplication by n. And that's exactly because by the Euclidean algorithm, if n and say some number a are coprime, then we can write a linear combination. You'd like some ab plus say like some mn is equal to 1, in which case then we'll see that b is equal to the multiplicative inverse of a mod n. So we've seen that previously using the using Euclidean algorithm. Now, if Zn were a field, if Zn is a field, then this actually suggests that every element is invertible except for 0. This would tell us that Zn star must equal Zn take away 0. That is, everything must be coprime to n except for 0 itself, which that would mean that every number less than n, other than 0, if it's coprime, that means none of them can be divisors of n. That forces n to be a prime number. And so this is then a very important result to mention here that the ring Zn is a field if and only if n is prime. So finite fields, amongst finite fields, I should say Zp is one of the most famous and simplest of all finite fields to describe because that's gonna be these modular finite fields like so. And we play around in this lecture series when we talk about algebraic coding theory, the finite field Z2 was a very important field for us because that's where we did our linear algebra. Linear algebra requires that our scalars be belonging to a field. Now, I wanna mention that there are other finite fields. They're a little bit more interesting to construct that don't necessarily come from modular arithmetic in any manner. So what I'm gonna do is give you the Cayley table for the finite field of order four, right? So let's just call the elements zero, one, two, and three because we need four elements. And so in terms of addition, well, we're gonna make zero be the additive identity. So we can kind of fill in what's gonna go in there, right? And then if we were to talk about multiplication a little bit, see if I can fit that in here. If we're gonna describe the multiplication of this thing, zero, one, two, and three, zero, one, two, and three. Well, since zero is the additive identity, it's gonna be the zero element. So multiplication by zero is given, right? Then we're gonna let one be the multiplicative identity, the unity of the ring. So we're gonna get one, two, and three, two, and three. So that's information that's guaranteed when we construct this field, right? Because we want it to be a ring after all. And so the fill in the rest of it, what I'm gonna do is I'm gonna have one plus one be zero. So basically I wanna work mod two. One plus two is gonna equal three, but one plus three is gonna equal two in this. It's gonna be commutative, so we can copy that down. I want two plus two to be zero, and then two plus three has to equal one, since it's gonna form a Latin square. And then likewise, we're gonna get three plus two, which is gonna equal one, and then I want three plus three to equal zero. So you'll notice that along the diagonals, that every element when you add it to itself, you get zero. It's kind of like when you add, when you get like mod two, right? If you take an element plus an element, you get zero, that happens when you work mod two. Now in terms of multiplication, you're gonna get that two times two is three, and three times two is then one, one, and then the last one right here would then have to be a two. So this gives us the idea of a field of order four. In fact, this is the only field of order four, and so this is sometimes called F4 for short. And now it's not usually given this label right here, because again, we sometimes look at this thing right here. You look at the additive group. It is a group after all. This is none other than just the Klein four group, up to isomorphism. So you could relabel things a little bit. And so in terms of the Klein four group, you can think of it as like it's Z2 cross Z2. And so you have one generator, which comes from the unity of the ring, and then you have this other generator just comes from something else. So what some people do when they talk about this group is sometimes instead of just calling it two, we'll call it X, for which then three you notice is just one plus X. So you get one plus X, one plus X like so. And you can redo all of this table.  And so in terms of addition, you see it's just the Klein four group. You see there's only four possible elements. You get zero, which means zero plus zero X. You get one, which means one plus zero X. You get X, which means zero plus one X. And then you get X plus one, which obviously is one plus X like so. So we can describe, you see there's sort of like that, you see the order pairs right here, right? You could think of zero, zero, one, zero, zero, one, and then one, one. So we can make that identification with the Klein four group. All right. Well, how does the multiplication work? If we're going to play that game, spring up the multiplication a little bit. If we relabel this thing, we would get here an X and X plus one. So this should look like X and X plus one. That's not too surprising since that's the unity. That's an X. So then the thing that kind of gets really interesting is here, you're going to take X squared. So this is what's curious about this room, is this element X squared is equal to X plus one. In some regard, because that's the only element it could be, if this is going to be a field. So you get X plus one times one. You also see that if you take X times X plus one, you get the identity.  For which X squared, like we saw earlier, is going to be X plus one. For which in this field, if you ever take an element and add it to itself, you get zero. So this gives you back one. So in fact, X and X plus one are inverses of each other. Thus filling this out, this table.


Welcome to TICMA Weekly Market Outlook for week commencing the 21st of June with me, Patrick Munley. Dollar index has seen a classic short squeeze, the trigger being that seven of 18 FOMC members felt that a rate hike could come in 2022. Interestingly the response has been felt harder in FX than US Treasury markets, where the search for carries still see strong demand at the long end of the curve. You would say that the chances of a bond tantrum are less but that movements are at the shorter end of the US yield curve are dollar positive, especially against low yielders. The US data calendar is light for the week ahead but there are several Federal Reserve speakers every day. Highlight may be Fed chair Powell's testimony to Congress on Tuesday. Let's see whether the Fed is prepared to adopt a new language on tapering where views to coalesce around tapering actually starting in September, not December, the dollar could rally further. From a technical perspective we broke out of the descending trend line resistance. Now look for any pullbacks to be supported into the 92 area which will bullish reversal pattern set long positions, targeting the equality objective versus this swing structure here now at 93.74 and the yearly pivot just above at 94.15. In terms of the Euro dollar it wasn't really a surprise to see a significant correction. Price action has all the hallmarks of a short sharp position adjustment, suggesting the bulk of the correction may have occurred in the back end of last week yet. I think that FedSpeak could see the Euro dollar correct further to the downside this week. Look out for speeches from ECB President Christine Lagarde and Board Member Isabel Schnabel, likely to repeat remarks by Chief Economist Phillip Lane distancing the central bank from any hawkishness. In terms of the data calendar, Euro zone focus will be on flash, June PMIs and the German EFO. Notice this week that the EFO Institute cut their 2021 German GDP forecast to 3.7% from 3.3% on the back of supply bottlenecks. Let's see whether manufacturing sentiment sows a little in the June surveys. From a technical perspective as the Euro dollar finds resistance at 120, I'm now looking for price to extend to the downside, certainly to get a retest of the prior cycle loads at 117.05 and then down to the equality objective at 116.27. At this stage really only a move back through 121 would delay the downside objectives. Japanese yen actually outperformed in this corrective rally largely because speculators were short yen already. However, the carry trade is not dead. Indeed, it may last until summer 2022 and the yen will be one of the preferred funding vehicles now that funding in dollars carries a healthy warning. Locally, see the Japanese core CPI move back above zero in May, the first positive reading in just over a year. Yet, it is a reminder that the Bank of Japan will be the last in the G10 to hike if at all before the next recession comes along. Look out for June PMIs this week and also whether there is any pickup in foreign buying of Japanese stocks. Suspects foreigners may want to position for Japanese reopening in the third quarter, which could help keep a lid on the dollar yen in an otherwise bid environment. From the technical perspective, the dollar yen continues to find support 109.75 to 109.50. Look for an extension high on our test monthly range resistance up to 111. At this stage really only a loss of 109 would suggest a deeper corrective move to develop. The next few weeks could be a vulnerable period for cable. First, the near-term euro-dollar upside potential has faded and the short-term downside remains in play following the hawkish June FOMC meeting. Second, concerns about the spreading delta variant should prevent any further hawkish repricing of the market outlook for the Bank of England. Thirdly, the political risk factor is back with growing signs that UK government may want to unilaterally extend a grace period for processed meat exports to Northern Ireland that expires at the end of June. This would risk a tariff response from the EU. It's busy week on the domestic data front, but don't expect much surprise from VOE meeting on Thursday and the bank is unlikely to say anything new after signalling it would not speculate on the timing of a first interest rate move. Also note that no new forecasts will be present in the June VOE meeting as for the June PMIs on Wednesday. See a slight increase in the service index again, though the manufacturing PMIs may reverse modestly lower after the meaningful rise last month. From a technical perspective now, as cable finds resistance at the 140 level, I'm looking for a move down to test range support to the 13660 level. That's the next downside objective. And if we extend through there, then we look for a move down to test 135 as the next downside objective. At this stage, really we'd have to recapture 141 to delay these downside targets. Finally, in Australia, the Australian dollar was hit by the hawkish fed this week, but domestically the very strong employment data may unemployment rate fell to 5.1% versus consensus 5.5%. This week is set to make the 7th of July VOE meeting very interesting. The VOE minutes did not reveal anything new, but among the four possible options presented in terms of the future of QE programs, economists favour the one of scaling back the amount purchased or spreading the purchases over a longer period with the RBA moving towards the first step of policy normalisation. This should give support to the Aussie later in the summer. Data-wise, we have May retail sales on Monday and June PMIs on Wednesday, but neither should impact the Aussie too much. In terms of domestic data, the unemployment figures this week should be crucial in terms of external factors. The wider direction of the US dollar will be key in the week ahead, while the downside risks with the Aussie remain for the week ahead. The pace of the decline should be a bit more limited versus the price action we observed to the back end of last week. From a technical perspective, as we find resistance at the 75-50 level, I'm looking for price to extend down to test the equality objective at 74-23. From here we may get a more meaningful bounce and we will have to see then if sellers step back in, certainly around the 76 zone for another length of the downside. If we break this 74 level, then we can really start to think about targeting the yearly pivot back down to the 70 handle. At this stage really only recapturing the 78 handle would delay downside objectives. And that concludes the weekly market outlook for week commencing the 21st of June.


It's not enough to monitor our waterways. We need to have actions on the ground. We need to have solutions and we have to accelerate our solutions so that these solutions will be in place faster than our waterways are deteriorating. Whatever we do, our waterways do need a voice and all we need to do is listen to it a bit more. There's also the voice of the community that actually live along the waterways and they are very critical for us to listen to because they're the ones that will be affected by any interventions we put in place. One of the major challenges for basin leaders is to reconcile the peating interests of various sectors whether they be upstream uses, whether they be urban consumption and whether it be other uses such as mining resources and in particular of course the not insignificant contribution of agriculture. EITRON is a technology and services company dedicated to the use of resourceful use of energy and water so we have solutions that help utility companies better manage and analyze their use of energy and water. Africa is a big continent having many countries, many languages, many cultures which we are all struggling for the same issue, the water issue. It is time now for Africa to get together and when we move at the international community level we need to speak the same language. It's really important for us to be here so that we can show our wares to the world water industry and also learn from others about the innovative things that they're doing in terms of research, innovation, supply, other utilities so it's been a really great experience of even learning from all the other utilities around the world. We get the contacts with the market leaders. We get our chance to vocalize our story in papers and in the activities throughout the conference. We have the exhibition where we can show off our products and we find that the combination is very good. Let's start to make experiments and then use them to think about what the solutions would be so let's not build something before we have tried it out and discussed it. Let's be more more participative and let's engage all the end users in it. Let's try contacts and try stories because it's not only the solution or the effect of what you have been doing but it's also that you have everybody involved.


How to import products from AliExpress to our Shopify store. There are a few methods to add products from our suppliers to our store. The first method is by clicking on add products on the left and entering the products by URLs or IDs. The second method is by clicking on upload CSV to import products in bulk. The third method is by using our one-click importer available through the AutoDS Helper Chrome extension. This is the method we'll be demonstrating in this example. To begin let's head over to AliExpress and select a product to import to our store. Let's head down and choose a best seller like this facial steamer over here. So let's say this is the product that we want to add to our store. So first we're going to enter the product page and as you can see an import to autoDS button showed up. We're going to click on that button. Now it's asking us to select a shipping location because this product is available from USA warehouses and also from China warehouses and AutoDS supports both. So let's say we want to take the USA warehouse from AliExpress. Now the product is being imported to the drafts page of our stores where we can optimize it before having it go live. Now once the color changes we know that we finished the import process to our drafts page. So let's head back to AutoDS. Click on drafts and here's that product that we just imported through AliExpress. This arrow over here will open up the optimization options where we can optimize everything and anything about this product. Once we are done optimizing it we're going to click on the import button here on the right and now what's happening is all of the product's details and information is now being imported from the drafts page to the product page where AutoDS will start to monitor the stock and prices and everything else that we configured and the product will go live on our store which means anyone can go inside and start buying it. Now that the import process is complete we're going to click on products and here it is on top of the list the newest product that we just imported to our store in just the click of a button. Here on the right side we can see the buy ID which will take us to the supplier page where we got the product and on the sell ID we're going to be taken to the Shopify page where we have the product on our store. So let's click on that and as you can see over here the product was imported to our store just as we saw it on the supplier page anyone can go in right now and buy this product and that is how simple it is to import products from AliExpress to your Shopify stores in just the click of a button.


Welcome to the weekly forecast. I'm your host, Darth Jarvis. Saturday is looking lovely with temperatures starting off a little cool in the mid 40s, but quickly climbing up to reach the mid 60s by the afternoon. It's looking pretty sunny, minimal cloud cover all day, and no precipitation, just a nice clear day. There's a small high pressure system sitting over us for most of the day. It's not a very strong system and the gradient is pretty small, which means light wind, but probably nothing more than about 10 miles per hour. The day is going to start off fairly humid. And that humidity is going to dissipate as we move into the afternoon, but another wave of humidity is going to come from the west. As we move into the evening and into Sunday morning. Sunday is looking a little bit cooler, probably only getting up to around 57 in the afternoon. The wind is going to be a little bit stronger, but still nothing to worry about. And it's going to shift from southwest to south and eventually to east by the end of the day. The morning isn't going to be as chilly as Saturday morning because of that overnight cloud cover that traps the heat near the surface of the earth. But unfortunately those clouds are going to stick around for the rest of the day. We're going to have a rainy afternoon and into Sunday night and Monday morning. The omega block that we've been experiencing for the past several days is finally going to start dissipating, which means that a low pressure system that's been hovering above the Gulf of Mexico and sucking up moisture is going to be able to move in our direction and bring all that humidity with it. And omega block is a jet stream pattern that occurs when a high pressure system, you can see here blocks other systems from moving into an area which causes a period of relatively stagnant weather. When the system dissipates it's also going to allow that low pressure system that's been sitting a little bit east of us to move on and start to clear up a bit. The movement of the jet stream had a big effect on our weather here, especially during this time of year. You can see the polar jet stream is way up north of us which is allowing some warmer air to move in from farther south. You can even see some of the subtropical jet stream is moving a little bit north. We're looking at a pretty cloudy rest of the week with a series of low pressure systems moving through and temperatures hovering in the mid to upper 40s and reaching highs just in the low 50s. There won't be much temperature fluctuation between day and night due to the cloud cover that traps the heat near the surface. And the rain that was going to continue in the Monday morning will probably be gone by the afternoon giving us a little bit of sun, but those clouds are going to move back in for Tuesday and continue into Wednesday which is going to be a pretty rainy day. We're moving like the best day of the week. Very little cloud cover for most of the day, but on Friday we'll have those clouds moving back in, bring some rain starting the late morning and continuing into the afternoon evening. Thank you for watching. I've been your host, Darth Jarvis.