Hello everyone, welcome to theCUBE's presentation of Women in Tech Global Event Celebrating International Women's Day. I'm John Furrier, host of theCUBE. We've got a great guest in CUBE alumni, Tanuja Randery, vice president, commercial sales for Europe, Middle East and Africa, EMEA at AWS, Amazon Web Service. Tanuja, great to see you. Thank you for coming in all the way across the pond and the US to Palo Alto from London. Thank you John, great to see you again. I'm super excited to be part of this particularly special event. Well, this is a celebration around International Women's Day and it's going to continue throughout the rest of the year and every day is International Women's Day, but you're actually international, you're a woman in tech, you have a great career, we talk that re-invent. Let's step back and walk through your career highlights to date. What have been some of the key things in your career history that you can share? Oh, thanks John. It's always nice to reflect on this, you know. Look, the way I would classify my career, first of all, it's been very international. I was born and raised in India. I went to study in the US. It was always a dream to go do that. I did my masters in Boston University. I then worked in the US for a good 17 years across a number of tech companies in particular, started my career at McKinsey in the very early days and then moved on to work for EMC. You'll probably remember them John very well, of course they're now Dell. And then I moved over to Europe. So I've spent the last 18 years here in Europe and that's been across a couple of different things. I always classify half my career as been strategy, transformation, consulting, and the other half of my career is doing the real job of actually running operations. And I've been, you know, 12, 15 years in the tech and telecom sector had the excitement of running Schneider Electric's business in the UK. Dunniston in private equity, went back to McKinsey, boomerang, and then AWS called me and how could I possibly refuse that? So it's been really exciting. I think the one big takeaway when I reflect on my career is I've always had this North Star about leading a business someday. And then I sort of threw my career a master set of skills to be able to do that. And I think that's probably what you see very eclectic, very mobile, very international and cross industry in particular. I love the strategy and operations comment because they're both fun, but they're different. John's very execution tactical, operating the business strategies, kind of figuring out the future, the 20 mile stair, you know, playing that chess match, so to speak, all great skills and impressive. But I have to ask you, what got you in the tech sector? Why technology? Well, so, you know, in some ways I kind of fell into it, John, right? Cause when I was growing up, my father was always in the tech space. So he had a business in fax machines and he was a reseller of Canon, if you remember Canon, and microfilm equipment. And I grew up around him and he was a real entrepreneur. I mean, always supervisionary about new things that were coming out. And so as I followed him around, I said, I kind of want to be him. And it's a little bit about that sort of role model, right, early in your career. And then when I moved to the US to study, again, it wasn't like I thought I was going to go to tech. I mean, I wasn't an engineer. You know, I grew up in India with a economics degree. That's what women went into. We didn't necessarily go into science. But when I joined McKinsey in the early days, I ended up working with, you know, the big companies of the days, you know, the IBMs, the MCs, the Microsofts, the Oracles, et cetera. So I just then began to love, love the innovation, always being on the sort of bleeding edge. And I guess it was a little bit just fascinating for me, not being an engineer, to learn how technology had all these applications in terms of how businesses advance. So I guess, yeah, that's kind of why. I still tinker around with it. Yeah, it's interesting how you mentioned, how you, at that time, you pipelighted to economics, which is math, of course. Math is needed for economics, but also the big picture. And this is one of the conversations we're having this year, that breaking down the barriers for women in tech. Now there's more jobs. You don't need to have one pathway into science or, you know, we're talking about STEM versus STEAM. Arts are super important, being creative. So the barriers to get in are being removed. I mean, if you think about the surface area for technology, so I got to ask you, what barriers do you think stop girls and young women the most in considering a career in tech? Yeah, I've got to start with role models, John, right? Because I think a number of us grew up, by the way, being the onlys, not having the allies in the business, right? All of us, all the managers and hiring people are males rather than females. And the fact of the matter is, we didn't have this sort of he for she movement. And I think that's the biggest barrier is not having enough role models and positive role models in the business. I can tell you that research shows that actually when you have female role models, you tend to hire more. And actually what employees say is they feel more supportive when they have actually female managers. So I think there are lots of goodness, but we just need to accelerate how many role models we have. I think the other things I will say to you as well is if you look at just the curriculum and the ability to get women into STEM, right? I mean, we need to have colleges, universities, schools also encouraging women into STEM. And you've probably heard about our Get IT program. You know, it's something we do to encourage girls into STEM. I think it's really important that teachers and others are actually encouraging girls to do math, for example, right? It's not just about science. Math is great, logic is great. By the way, philosophy is great. I just love what you said. I think increasingly the EQ and IQ parts have to come together. And I think that's what women excel at. So I think that's another very, very big barrier. And then the only other thing I will see is we've got to watch the language we use. Like when I think about job descriptions, they tend to be very male oriented languages. We look at CVs. Now, if you haven't been a female in tech for a long time, your CVs aren't going to show a lot of tech, is it? So for recruiters out there, look for competencies, look for capabilities. You mentioned strategy and arts earlier. We have this leadership principles, as you know, John, really well. Think big and dive deep, right? That's strategy and operations. And so I think we need to recruit for that. And we need to recruit for culture. And we need to recruit for people with ambition and aspiration and not always just look at 20 years of IT experience because you're not going to find it. So I think those are some of the big barriers that I at least think is stopping women from getting into STEM. But the biggest one is not enough women at the top hiring women. Yeah, I think people want to see themselves or at least an aspirational version of what they could be. And I think that's only going to get better. A lot's changed, a lot's happened over the years. But now with technology in everyone's life, you know, COVID's pulled forward a lot of realities. You know, the current situation in Europe where you are now has pulled forward a lot of realities around community, cyber, digital, our lives. And I think this opens up new positions, clearly cybersecurity, and I'm sure the job boards in every company is hiring people that didn't have for jobs that didn't exist years ago, but also there's new problems to solve. So the younger generation coming up is going to work on these problems and they need to have role models. So what's your reaction to that? You know, new problems are opportunities. They're new, so usually solved by probably the next generation. They need mentors, all this kind of works together. What's your reaction? Yeah, and you know, let me pick up on something we're doing that I think is really important. I think you have to address age on the pipeline problem.  And by that, what I mean is we need to have more and more people with the, and I'm not going to use the word engineering or science, I'm going to use the word digital skills, right? And I think what we've committed to doing, John, you know, I'm very proud of this, is we said we're going to train 29 people, 29 million people around this world on digital skills for free by 2025, right? That's going to help us get that pipeline going. The other thing we do is something called restart, where we actually do 12 weeks of training for the underemployed and underserved, right? And underrepresented communities. And that means in 12 weeks, we can get someone, and you know this case, I talked to you about this before I love it, fast food operator to cloud, right? I mean, that's what I call changing the game on pipeline. But here's the other step. Even if the pipeline's good, and we often see that the pipeline can be as much as 50% at the very early career women, by the time you get into the C-suite, you're not at 50 anymore, you're less than 20%. So the other big thing, John, this comes back to the types of roles you have and opportunities you create. We've got to pull women through the pipeline. We've really got to encourage that there are sponsors and not just mentors. I think women are, sorry to say this, over mentored and undersponsored. We need more people saying I'm going to open the door for you and create the opportunities. And I had that advantage. I hit people through my career. By the way, they were all men, right? Who actually stood out there and banged on the door and said, okay, Tunisia is going to go do this. And my first break I remember was having done strategy all my life when the CEO called me into the room and he said, you're going to Benelux and you're going to go run the P&L in Benelux. And I almost fainted because I thought, oh my God, I've never run a P&L before. But it's that type of risk taking and that's going to be critical. And I think we've got to train our leaders and our managers to have those conversations, be the sponsors, get that unconscious bias training. We all have it. Every single one of us has it. I think those are the combinations of things that are going to actually help open the door and make us see that actually it's not just about coding. It's actually about sales. It's about marketing. It's about product management. It's about strategy. It's about sales operations. It's about really, really thinking differently about your customers, right? And that's the thing that I think is attractive about technology. And you know what? Maybe that leads you to eventually become a coder or maybe not, or maybe you enter from coding. But those are all the ranges available to you in technology. We're just not good at advertising that. There's more applications than ever before, but I love your comment about over mentoring and under sponsored. Can you quickly just define the difference between those two support elements, mentoring versus sponsoring? So mentors, and by the way, they can range from my son is my mentor, he's a great reverse mentor. By the way, I really encourage you to have the reverse mentoring going. So mentors are people from all walks of your life, right? And you should have half a dozen of those at least, I think, right? Who are going to be able to help you deal with situations, help coach you, give you feedback, respond to concerns you're having, find ways for you to navigate, all the stuff you need, by the way, right? And feedback's a gift, we need that. Sponsors, it's not about the feedback necessarily, it's people who literally will create opportunities for you. Mentors don't necessarily do that.  Pick up the phone and call John and say, John, I've got the perfect person for you. You need to go speak to her. That's the big difference, John. And I think that couple of sponsors, it's not about many. Yeah, and that's where the change happens. I love that comment. Good call, I'm glad I could double down on that. Now that you have the environment pipeline working, you have the people themselves in the environment getting better, sponsors and mentors all, hopefully working more and more together. But once they're in the environment, they still gotta be part of it. So as girls and young women enter the working sector for tech, what advice would you give them? Because now they're in the game, they're in the arena. So what advice would you give them? Because it's the environments they are now, what's- Yeah, yeah.  It's an exciting place to be, right? It's a growth opportunity. And I think that's a really important point because the more you enter sectors where there's a lot of growth, and I would say hyper, right, you know, growth, that's just gonna open the doors to so many more things. If you're in a place where it's all about cost-cutting and restructuring, do you know what? It's super hard to really compete and have fun, right? And as we say, make history. So it's an exciting place. Today's world transformation equals digital transformation, right? So tech is the place to be because tech is about transformation, right? So coming in here, the one advice I would give you is just do it because believe me, there's so much you can do. Like take the risk, find someone who's gonna give you that entry point and get in the door, right? And look, you know, what's the worst that could happen? The worst that could happen is you don't like it. Fine, there's lots of other things then to go to. So my advice is, you know, don't take the really bad tips I've received in my career, right? Don't let people tell you you can't do it. You're not good enough. You don't have the experience, right? It's a male's world.  It's all about IQ and not about EQ because that's just rubbish, frankly, right? The top tip I was ever given was actually to take the risk and go for it. And that was my father and then all this other sponsors I've had around the way. So that's the one thing I would say. The other thing I will say to you is the reason I advise it and the reason you should go for it is it's purposeful. Technology is changing our lives, you know? And we will all live to be no longer 87, I think a hundred, right? And so you have the opportunity to change the course of the world by coming to technology. The vaccine deployment, John, was a great example, right? Without cloud, we couldn't have launched these vaccines as fast as we did, right? So I think there's a ton of purpose. You've got to get in and then you've got to find, as I said, those sponsors, you've got to find those mentors. You've got to not worry about vertical opportunities and getting promoted. You've got to worry about horizontal opportunities, right? And doing the things that are needed to get the skills that you require, right? I also say one thing, don't let people tell you not to speak up, not to express your opinion. Do all of the above, be authentic, be authentic, sir. You will see more role models. Many, many more role models are going to come out in tech that are going to be female role models. And actually the men are really stepping up to be role models. So we will be better together. And here's the big thing, we need you. We can do this without women. There's no possible way that we will be able to deliver on the absolute incredible transformation we have ahead of us without you. Inclusion, diversity, equity, these are force multipliers for companies. If applied properly, it's competitive advantage. And so breaking the bias, the theme this year, is super, super important. It sounds like common sense, but in the reality is you break the bias, it's not just women, it's men, it's all of us. What can we do better to bring that force multiplier capabilities and competitive advantage of inclusion, diversity, equity to business? So the first thing I would say, and my doctor used to always tell me this, if it hurts, don't do it, right? I would say to you, just do it. Get diverse teams in place. Because if you have diverse teams, you have diversity of thought. You don't have to worry as much about bias because you've got the people around the table who actually represent the world. We also do something really cool. We have something called bias busters. And so in meetings, we have bias barters. People are gonna raise their hand and say, I'm not sure that that was really meant the way it was supposed to be. So I think that's just a nice little mechanism that we have here in AWS that helps. The other thing I would say to you is, be your authentic self. You can't be a man and mention be women. And you're not gonna replicate somebody else because you're never gonna succeed if you do that. So I would say be your authentic self all of the time. We know that women are sometimes labeled as aggressive when they're really not. Don't worry about it. It's not personal. I think the main thing you have to do is, and I advise women all the time, is calibrate the feedback you're getting. Don't catastrophize it, right? Calibrate it, take it in. You don't have to react to every feedback in the world, right? And make sure that you're also conscious of your own biases, right? So I think those are my two cents, John, for what they were for breaking the bias. I love the theme. Be yourself, you know, don't take it too personal.  That's life. That's a life lesson. Final question while I got you here.  You're running a very big business for Amazon Web Services. Europe, Middle East and Africa is a huge territory. It's its own thing. It's like you're bigger than some companies out there, your role and your organization. What's the hot area out there? You were talking before camera, that's an emerging areas that you're focused on. People are watching this, young women, young ladies around the world are gonna look at this and say, hmm, what wave should I jump on? What's the hot things happening in Europe, Middle East and Africa? I think the three things I would mention, and I'm sure John, as we've spoken to my peers across the other GEOs, right? There are some similarities. The very, very hot thing right now is sustainability. And people are really building sustainability into their strategy. It's no longer sort of just an ESG goal in itself. It's actually very much part of changing the way they do business. So I think that's a hot part. That's why, again, I think it's a phenomenal place to be. I think the other big thing that we're absolutely talking about a lot is, and you know this is getting even more complicated right now is just around security and cyber security and where that's going and how can we be really thinking about how we address some of these concerns that are coming out. And I think there's a lot to be said about the way we build our infrastructure in terms of that context. So I think that's the second one. I think the third one is people are really looking at technology to change the way businesses operate. So how does HR operate? How do you improve your employee value proposition? How do you do marketing in the next generation? How do you do finance in the next generation? So across the business, it's no longer the place of IT. It really is about changing the way we are as businesses and all of us becoming tech companies at the core. So the big thing there, John, is data. Data at the heart of everything we do. Data not because it's there in front of you but data because you can actually make decisions on the back of it. So those are the things I seem to come across a lot more than anything else. Well, Tanya, it's always great to talk to you. You're senior leader at AWS, inspirational to many. And thank you for taking the time to speak with us here on this great event, Women in Tech's Global Celebration of International Women's Day. Thank you so much for your time. Thank you, John, always great to talk to you. We will definitely be keeping in touch more stories to be had. And we're going to bring them to you. This is theCUBE's continuing presentation of Women in Tech, a global event celebrating International Women's Day. I'm John Furrier, your host. Thanks for watching.


Vargana Group regroups in three areas following Bakhmut withdrawal. Olexii Danilov, Secretary of Ukraine's National Security and Defense Council, has reported that Vargana Group fighters have withdrawn from Bakhmut but continue fighting against Ukraine. He said it in an interview with the BBC. When asked whether Vargana Group mercenaries were withdrawing from Bakhmut, Danilov confirmed that they were. Yes, this is happening, but it does not mean that they will not stop fighting with us. They are going to concentrate more on other fronts. They are regrouping to other three locations, Danilov said. Danilov supported the Ukrainian army's decision to remain in Bakhmut for many months. He explained that Bakhmut is part of the Ukrainian land and Ukrainians have to defend it. Danilov also stressed that Bakhmut has played a big role in this war. If we start leaving every settlement that could get us to our western border, as Putin wanted from the first days of the war, he added. UK Defense Intelligence announced Vargana's private military company forces have probably begun to withdraw from some of their positions around the city of Bakhmut. Units of Russia's 31st Airborne Brigade are believed to have moved from the Svatov Kremlin area to reinforce Bakhmut's flanks in recent weeks. Despite pre-Gosin's ongoing feud with the Russian Defense Ministry, Vargana forces will likely be used for further offensive operations in the Donbas, following reconstituting its forces. UK Intelligence said.


So, as Nihal has introduced, we are going to cover some basic syntaxes which are used while using MySQL. So, I am going to start with MySQL. So, basically what is MySQL? You have heard of as many of the CS people over here have heard of SQL, MS SQL, MS access Oracle means there are n number of databases. So, MySQL is also one type of open source database system, but it differs in traditional databases like Oracle and MS access. And it has, so in this presentation we are going to cover what is MySQL and how is it different from SQL and other things and as it is a programming language course and I need to introduce you on the programming language used in SQL that is a short version of SQL and in that we are going to cover some DDS statements like create table, alter table, create database, alter database right and the statements which are used to manipulate that particular data which is stored into the table is called as data manipulation statements and it is type of, it is a subset of language called as data manipulation language. So, in that we are going to cover insert, select, update, delete means it is pretty much like loading data and trying to update data as per the requirements and again we are covering some dangerous DDS statements like drop and truncate like I said they are dangerous because once you drop particular table or database I will cover it later on in detail you cannot recover it means you cannot roll back to original state. So, after that means these are only syntax part like which you will usually use and another part is joins means if there are like I explained those statements they work and initially you will work with single table but when the scenario goes to multiple tables then you need to join those particular tables using some syntaxes like there are different types of join like cross join, natural join, inner join, quick join and there are sub types of other joins like outer join means I will explain them in detail. So, can I, can somebody know what is difference between MySQL and SQL, somebody what is SQL and what is MySQL, only vague difference is ok. SQL is a language, is a programming language it is defined by some programmers and it is being developed. So, it is a standard set of commands which are, which any developers can take and modify in their way and deliver a system which uses a SQL. So, MySQL is basically open source RDBMS means relational database management system. So, what is database everybody knows I hope everybody know what is a database like it is a structure in which we store the data into our computer like it is understandable by a computer and it is stored in a very standardized way. So, it is called as a database and it database contains tables, records and we used to query particular thing to database and database will return the response to the query. So, database is like this structure. So, any web application is consist of these three layers nowadays means there can be two tire or three tire architecture. So, I am explaining this is a three tire architecture. So, this is the presentation layer which user usually see like it can be JSP, HTML and there are more type of many type of presentation layers available like Jumla also can be fitted over here. So, this is a business layer means your overall logic any business any logic of application will be stored here means how what things we are going to display to the user, how we are going to display to the user, what we have to response respond to the user on particular actions. So, these things are stored over here and this is pretty much the storage like database it can be MySQL and it can be MySQL, Oracle or any other thing MS access. So, you guys may be developing some of your projects like in your BTEC. So, you can experience this type of structure over there and when you go to the company you will also similar type of structures in your project. So, MySQL stays over here. So, I am pretty much concerned about how to operate in this particular zone. So, we are not concerning about this particular tires. So, MySQL as I said it is a relational database. So means there are types of database like a database which are stored there is no relation between the tables stored on the database and there is a relation between tables which are stored in the database. So, like there is a database called as company. So, in MySQL it is pretty much understood that you are going to store the tables which are related to the company like tables of employee, tables of departments, tables of payroll like only the tables related to the company are being stored in the company database. So, it is a relational database and there is a relation between the row and the fields of the database. So, and basically the My in MySQL is nothing but the name of a girl child of the co-founder of company called as MySQL AB. So, MySQL has been started by these guys of company called as MySQL AB it is a Swedish company and it has been overtaken by Oracle Corporation now. So, it is not a property of MySQL AB now. So, his co-founder was Michael Vardinis and his daughter's name was My. So, as he developed this language he developed this system. So, he put that his child's name over there. So, there is a that is a what you can say secret about MySQL. And you can you do you know how have you only developed HTML software using Dream Ur or any other application. So, MySQL is like a Dream Ur which uses HTML to develop and along with HTML it uses JS and other things to develop the application. So, SQL is a language and MySQL is a system which uses SQL. So, and we can pronounce it as a MySQL or MySQL means it depends upon you how to pronounce it. Yes you and so I will go with the queries which are let which are used in MySQL. So, is it clear that what is different between SQL and MySQL? Any queries? Not clear, okay. So, SQL is a language like Java, HTML and other things. SQL is a language. It is a set of means it is only set of commands like you have to use these commands and to do some particular operation you need to use this command it is given in SQL, but SQL cannot be installed as it is on your system like there is a Java you can install Java, but for SQL you need any other system along which SQL comes. So, MySQL is a system. So, you can consider as a MySQL this container. This is SQL and this is MySQL. So, along with SQL there are many other things like as it is a database. So, many people it is assumed that many users will access that particular database simultaneously. So, there are multiple sessions. So, you need to monitor the session. You need to give the graphical user interface to the user. So, these kind of things are also there like here can be GUI component, here can be session monitoring tool. So, other tools are there. If you consider something like a system like a data. Suppose, you are sitting somewhere in a lab, you have server somewhere and you have say DB server.  So, you will open some interface in your browser, there are some I and you will enter some roll number over here. That request will be forwarded to the server with PHP or something like that or JSP something like that. So, these guys will process this information over here. Now, the information is like they want some name of the student whose number is roll number one. So, now they are going to fire a query in a system wherein you have already stored some information. So, now this system is called database server. Now, what is this database wherein it is called relational database. Relational is like wherein relations are called tables. So, that's why it is relational database. So, in a table you will store say roll number and you have name of the student. Say roll number one, his name is say A or 2 is like B. So, these guys, I mean server is going to ask, okay, give me the name of a person whose roll number is 1. So, fire a query over here. Now, the information is stored, is in MySQL. So, this system makes sure that it stores some information and retrieves it efficiently.  So, now, Snehalish has explained what is the role of DB server over here. So, as a explanation purpose, we are going to give a running demo along with explaining the statement in which we are going to create a scenario where there is a company, there are employees and there is a department. So, we are only considering these two tables only, there's two relations and we are going to play with those tables, okay. So, as I said, now we have to define the data, like we have to define the database, we have to define the tables, we have to define, we have to insert the data and we have to play with them. So, we have to, for defining the data, we are using statements called as create database. It is pretty much straightforward, like we have to create the database, so we are using create database statement, okay. So, you can see the create database company DB will eventually create a company, database called as company DB, means it will allocate a space on the storage. It is called as a company DB database. So, everything and on using it, whichever tables you are going to create, whatever data you are going to insert will be stored in this particular area. So, this DB server, if a query comes for that company DB, any table in company DB database, so this DB server will look into that company DB database and go to that particular table, like here will be some particular table called as employee and it will satisfy users' requirement, like give me that particular employee with this particular employee ID or give me a particular employee which belongs to this particular department, like HR or any other department. So, this is the whole scenario where we are going to create using MySQL queries. So, it is many guys who are familiar with SQL will find it is very similar to SQL. So, this will be kind of revision for them guys and you can ask any question which you find some different between this SQL and your original PL SQL. So, here we have created create database company DB and we are going to create two tables, like create table department and create table employee. So, this employee table, as you can see over there, is containing two fields. One is the last name and department ID and this department table which contains two fields or two columns called as department ID and department name. So, I am going to show you how to create these tables using your SQL command. So, I will initially tell you some commands and you can easily find them on internet how to install SQL on your particular Ubuntu system as I am expecting everybody is using Ubuntu. You can also you install it on Windows but some different set of instructions will be needed. So, for installing MySQL server, is it visible or should I need to increase the font? Visible or not? Okay. So, you have to install like MySQL server using aggregate install. So, it will install the latest version or whichever is available on the repository and then after that it will automatically start the service of MySQL server. So, you can check it by using sudo netstat, netstat will, netstat is the command which show the open connections to the current system. And there we are checking that is MySQL server has been started or not. So, in result you can get a single line like localhost, it is open a TCP port and it is in mode listen. So, it is listening to the any queries coming from the client. And if not then you can do like your usual business, you can restart the MySQL server. You can see that the service has been started or not. So, it is these are only simple steps to install. Only first step is essential and second step is second step or not you can verify that particular installation has been done or not. So, on MySQL I have installed that particular MySQL. So, I am going to check is that particular service is running or not. So, it is showing that yes it is running and the TCP port has been opened and it is in mode listens. So, it has come on second line because the font is greater. And the process ID is 1244 and the service, the process administrating that MySQL is MySQL D. So, it is a data administrator of MySQL. In Windows it is MySQL D.exe and here it is MySQL D.sh or any script language script. So, here as you have seen that service has been started. So, I can I am ready to. So, any doubt in this like how to install and how to check that service has been started or not or any doubt in that particular command next step tap grape MySQL. So, we are tapping the connections which are open opened in this particular system and we are grape we are pattern matching MySQL into that. So, here as we were creating the company database. So, I am going to create that particular database like and for starting that MySQL for starting using that MySQL you need to type the command like MySQL. And I have defined user called as a root and I am asking user to enter the password using MySQL U root P. So, when I enter it is asking me to enter password. This password you like to give while you install. So, while you install make sure that you remember your the password. Use a simple passwords only because it will make a problem later on because you need to install reinstall it. So, as you can see the MySQL prompt has been came over there. So, here onwards you can go easily with whatever commands you need to type, whatever operation you need to do. So, any doubt in this? This is small question to you guys. I mean, can I tell why when we started this MySQL server? Why was it listening? Why the statement listen was coming? I hope all of you know what is like server client kind of applications. I mean, we are just concerned about the guys who are from EC. CS guys must be knowing it, but I mean our aim is to like reach to the people who doesn't know. You can see which version of MySQL has been installed by checking that there are variables in MySQL. Very much there are multiple engines which are used to run the query. And so, there are very much engines like MyISM or I know DB. I'm not going to cover because it is too much deep. So, these engines and other things are stored as a variable names. And you can see which version of MySQL has been installed. But having a simple command like show variables, like is a pattern matching. And I'm telling that I need to see versions. So, it can have MySQL version, MySQL DB version. Anything can be prepended to that particular version thing. So, I'm using that particular pattern, variables and it. That particular I know DB and the protocols version are other things are coming over here. So, version is coming over there and it is 5.5, 37. And it is compatible with my system. So, that system name is appended over there. So, 5.5, 37. So, there are like I think the version has gone to 5.5, 5.6, 0.18 or 0.17. You can check it on Wikipedia, like which is current stable version or which is current developer version has been released. And you can install that version. So, you need to modify that particular command little bit because here it is taking default version and you will install your specific version by modifying it. So, here I'm going to create that particular database. Create database. So, here you can see that query, okay. One row has been affected. Like, one row affected is only the standard response, like when you add particular row. So, you can see and you can see that particular database has been added or not by using show databases command. So, you can see these many database are in the system like company A, company, company DB, myDB or anything. So, MySQL, information underscore schema, performance underscore schema are three default tables in MySQL system. And these tables has been created by user, company A, company, company DB. So, I'm going to use that particular company DB. So, you need to tell the MySQL system that use particular DB. So, you need to use command use company underscore DB. So, that default database has been changed to database company DB. So, now any route in this, it is pretty much simple. Now, you have to create these tables like department, then employee in that particular company DB. And the columns like department ID, department name and last name and employee, department ID in the employee table. So, here create table, employee, last name. So, the name of that particular column is last name. And the type of that column means values we are going to store in that column are of string types. So, there are types care, where care, where care too. In Oracle, you can see multiple types. But here that the MySQL doesn't support all SQL commands or all SQL facilities fully. So, it is a shorter version of SQL. So, you will see some differences. Like the data, the Oracle also supports the num type. But here it doesn't support num. You have to use int explicitly. And the last name and I need to go department ID. So, it is type of int. So, the worker, the 20 in that will store 20 bytes for that particular name. So, you cannot extend the name of the last name more than 20 bytes. So, AC people is getting, are getting that what does worker 20 mean? Yes or no? So, and the department ID int query. Any question? So, and the department ID type is int. So, here it will store, it will store that department ID in the standard size allocated to int. Like it can be 16 byte or 8 byte, whatever according system. So, I am going to create that particular table. So, you can see that particular table has been created using your show command. Show, show me the table. So, you can see that tables in company DB the employee has been created. And you can check that your table structure is what you are expected and what is being created by using the description command like desk employee, describe employee given the description of employee. And you can see the last name having type worker 20 and department ID has been allocated default size of 11. You can modify that int 20 over there, but I am not bothered about that. And is null values are null values. So, null value concept is that you can leave that particular field blank while inserting the data. So, by default I am allowing yes, but in your actual project it should not be null.  And is it a key like there are keys like primary key, unique key, candidate key. So, primary key is a special type of unique key which it does not allow null. So, I think I hope CS guys know what is unique key what is primary key. But problem with easy people. So, primary key is a that particular key which identifies unique row into your table. So, the employee name will not be unique, but the employee ID which has been allocated or roll number allocated to student is unique. So, I am not going to consider anything as a primary key. So, for the sake of simplicity, I am using the I am not using those primary keys and a unique key constraint. So, now I have to create that particular another table called as department. So, I am using same command similar command department and the types where the department ID and department name. It can be work R 30. So, here you can see like these tables have been created department and employee. So, we are we need to insert. So, this is the use of create table like we have we have created the database using create command. We have created tables. So, we have defined the data type of data in which we are going to insert our information. So, this is about create statement. So, any doubt in this? So, what happens usually we create something and later on the requirement changes and we need to insert some columns into our existing structure. So, we basically need to alter the existing structure. So, for that the MySQL is using the SQL command like alter table. So, alter table here alter table is altering the table employee and here I am adding a column called as first name and which has a size of 20 bytes of a type of wire cap. So, it is it is a string of 20 bytes and later on in demo I have not used the first name. So, I have I am also removing that particular column. So, you can I can show you over here. So, here initially there is no any first name and over here. So, I am adding that first name column over here. So, on checking you can see that the first name is added first name column has been added. So, MySQL also allows you to set the position of first name column which the new column which is being inserted by by allowing the keywords like after first last. So, you can specify the position of first name column. So, I am showing I just need to delete it. So, the syntax was alter table employee drop column first name. So, initially when you when you are giving that particular addition command addition of a column. So, you did not need to specify that it was a column because here you are specifying that particular type like wire cap 20. So, it understand the MySQL engine understand that yes it is a column and I need to add to add it to particular structure and while dropping you need to specify that is it a column or not. Means there are any other there are many other objects like triggers and other things. So, it can have the same name like first name. So, you need to specify that I need to drop a column called as first name. So, as by default it was adding at the last of that rows. So, I am by specifying first at the end I am expecting that the first name should be added to the first column in the database. So, you can see the first name is added at the first and also if you want if there is a tradition like last name is the first then you can also specify like after that last name I want to add. So, the first name has come over after last name. So, any problem in that it was about positioning that particular column. So, I am dropping that column. And now our table has been table structure has been defined. So, here we need to insert particular things into that particular table. So, the command is insert. So, it is a SQL command which helps us to insert that particular data in particular table by specifying the command is insert into then you have to specify the table name. So, I am adding the data into department then into employee. So, I am giving the table name over there and I have to use that particular clause called as values and in between that I can specify the values in order of the columns of a table. So, in the department it was department id, department name. So, 31 is a department id and department name. So, if you are not entered in this particular error then particular order then it will show error because the worker requires that sales in that particular codes and the int is entered without codes. So, you need to care about the order if you are not specifying the order in front of department. So, and in employee also you need to insert the same values. So, I have to enter the values in the last name and department id order. So, the one row has been inserted and you can check that particular data has been inserted by using the select command. So, the what value what data we have inserted can be shown by using select star from employee. So, it is about viewing the data. It is type of query which has a syntax called as select then table name select then column name which you want to view from particular table. So, after form from you can give the names of multiple tables but here we are considering only single table environment. So, we have given the single table name and the star is a pattern matcher which gives which displays all the columns which are present in the database and if you are worry about specific column then you can fire select department name from department. So, and also you can limit like what happens when the database is long. So, at that time you need to see only first five rows or ten rows which are ordered in a default sequence which are sorted in default order it can be ascending or descending. So, for that there is a keyword called as a limit. So, I am inserting another value like raffially and here you are seeing two rows. So, if you want to limit it to one rows then you can specify the keyword limit at the end of command and I can specify limit one. So, it need it should show one line. So, you can see that raffle 31 has been displayed. So, there are it means you can use limit in means your difficult queries to give to get the particular output. So, after selection sometimes the data inserted in the table need to be updated. So, the update department the update query is like update is a query and after that you need to provide the table for which you need to update and the set there is a set clause and after that you need to give the column name which you need to update and the new value which you are going to update for that particular column. So, initially suppose the 31 department id was associated with the sales department name and you need to update that particular department id with the department which having id 31 to the logistic to the name logistic. So, you can use update department set department name is equal to logistic where department id is equal to 31. So, here we have seen the introduction of new clause called as a where. So, where is there where clause is used for specifying the particular condition or a predicate on which based on which we filter the particular rows from the table and modify those rows or modify view those rows. So, after where you need to give the condition it is pretty much simple. So, and also I am updating like employee update employee say department id 31 where last name was Jones. So, in your table. So, there was the department last name was Raphael and department id was 31. So, I am updating the I should not update last name. So, here you can see that Rapens department has been changed to 33 where it was initially 31. So, you can use this update query over there. So, any doubt in this like updation etc guys. So, when there is a need to delete particular data like some employee has left the company and you need to delete his or her record. So, you need you can use delete query and the syntax is like delete from table name I am deleting employee. So, I am using employee table where last name was Jones. So, Jones has left the company. So, I need to delete it his name. So, I am delete from employee where last name was Jones and if some department has been removed or some department has been combined to another department. So, I am deleting that particular department using delete from department where department name was logistic or for the sake of correctness of query if I do not know exactly the department I am also providing department id like I have to delete department id with which was 31. So, I am not deleting anything in a demo. So, any doubt in this delete from So, delete is it is a data manipulation technique it does not go to your particular data structure it only deletes the particular data from your table.   So, delete allows you to rollback to previous state where it was no auto commit was set but there are other commands which allow you to delete particular record but does not allow it to rollback. So, I am explaining I will explain those that command later. So, any doubt in this delete command this insert select update and delete where data manipulation commands they were playing with the data but not with the structure and the create alter drop and truncate are the commands which play with the particular data structure like they have to do some business with the storage actual storage on the drive. So, if you know if you need to drop some table or database you can use drop and particular object name it can be a table it can be a trigger it can be a sequence whatever you can drop it by simply firing drop employees but be careful before dropping anything because once you drop anything you cannot rollback or means there are some complex methods by using you can rollback but by simply typing rollback you cannot restore that particular table. So, trigger is like the scenario you want to you can consider like you are adding some employee to particular employee table and by default you cannot specify the usually system administration does not specify the employee to the particular employee. So, when you insert a record like insert into the employee last name is for Jones and department is 31. So, the employee the trigger will be something which will be curious to see that particular event like insert on employee is happening and on that event is when that event is happen then that trigger will add something like employee ID to that particular table. So, trigger is like some what you can say trigger is you can take a literal meaning when happen something on the database another thing happens in a background so that is the trigger. Consider scenario where in you have to pilot tax pilot tax on some amount and on employee suppose say you pilot tax when you cross amount like say one leg usually in a company suppose say your monthly income is around 90,000. If somebody crosses that amount per month you would like to have a trigger. So, once somebody in your database insert that query and that amounts particularly exit I mean exceeds one leg that it was procedure will be written which will I mean once that amount exceeds that one leg trigger will invoke a method which will take particular actions which will like calculate some tax on it. Yes or no like any another doubt so means there are means many different objects you can see in the reference we are giving and because it is not possible to cover all the objects in this particular one hour or one and half hour session so it was a drop. So, there is another command called as a truncate. So, the truncate employees will essentially do the same work as a delete like unconditional delete. So, when you do delete star from employees or delete the delete star from employees will delete all the rows from employees. So, whatever we have insert Raphael, Raphaely and the particular department IDs will be deleted. So, the same thing will happen when you do truncate. But there are some different scenario happen in a truncate. As I said it is a data definition language and it has to do something with the database or table structure it will do this action like it will first drop that particular table and it will again recreate that particular table you are getting. So, it is much faster like delete is deleting that particular thing row by row. If there is a where there is no where condition but delete will take particular row and if there is not a where then that delete that row or if there is a where then take is it satisfying that condition and delete that particular row. So, but truncate drops that particular table at once and recreate the particular employee table. So, it is much faster and so for the performance you can use truncate but the drawback of truncate is like it does not allow it to roll back because the structure has been deleted from the database structure and it is it has been registered as a new empty structure to that particular database schema.  So, that is the difference between truncate and delete. So, any doubt in truncate and delete schema up. Table structure is preserved from table structure is as I have shown that show tables command. So, it was essentially reading some data from table. So, it is not visible to normal user it is it is it has been taken care by my skill. So, when you drop that particular thing that particular definition from the meta table like a table over table is deleted and reinsert it into that table. So, after that the information like these many rows were there or these type of rows the pointers were there. So, those pointers have been vanished and empty pointers has been void pointers has been replaced over there. So, I does not know like exact scenario happening over there. So, you can consider as the particular record has been deleted from the meta table and a new record has been inserted into the meta table. So, you cannot roll back to that particular table with your field rows. No, no, no. Delete does not make a new table. Delete only deletes that particular rows row by row. So, that is why it is a performance it is giving good performance. So, we were here only with only one table. So, what if there are multiple tables. So, you need to join those tables using there is a structure called there is a query called as a join. So, join is basically for joining tables and taking data from both the tables like suppose there is a situation like you have to select some particular department and showing and you need to show the employees which are work in that department. So, it will use like select department ID select star from department comma employee where department ID is 31. So, it will display the employees which have department ID 31 and it will in front of that employee name it will also show the department name which is combined output of that employee table and department table which I will show in our demo. So, join is combining the data from two tables and displaying to the user as a one particular schema. So, that it is not two tables more than two tables. So, so the examples I think it is not visible properly. So, you can just see that on left side there is employee table on right side the department table and the rows like Raphael Jones, Heisenberg are employees of that particular company departments like sales engineering clear clerical marketing are there in the company. So, I am going to join these tables and in various manner and show you the output. So, the department ID column of the department table is a primary key like it should be unique you cannot you to same ID to different departments. So, and the department ID used in that particular employee table is a foreign key. So, you are assigning particular employee to the existing departments in the company you cannot assign or if there is a CEO of the company, he need not be assigned to any department. So, I have we have given the John as a employee and we have not specified the department of that particular employee. So, that is the referential integrity which which you can learn more about in reference we have given referential integrity references one particular column from another table one particular primary key from another table and uses the values from that domain. So, in reference department ID you can repeat the particular key like 3333 has been repeated but you cannot repeat that 33 into the primary key column of another table. So, any doubts in primary key foreign key integrity. So, it just for reference. So, there are types of joints like called as a cross join. So, cross join is a simply like when in mathematics you do you get a cartesian product of a sets by using A cross B. So, you can consider tables as a sets like employee and that particular department and when you will do employee cross that department then you will get all the records like all possible permutation and combination of those employee and department ID in front of as a user as a result. So, here you can see that employee last name or employee department and department dot department name and department dot department ID. Some systems provide that table name dot column name specification but some systems like Ubuntu does not provide. It will only show last name department ID department ID department name. So, it will join it will take one row from particular employee and it will match with all the rows possible in that particular another table. So, it is a simply cartesian product when you do like you get multiple sets by cross cross joining some two sets or two or more sets the same scenarios over here. So, it is the largest joint possible the output will show the largest possible matches in your result. So, cross join will show the largest output. So, there is another type called as inner join. So, inner join here inner join allows you to provide some particular condition on which join is being happened. So, inner join will take one particular column from a table and try to match with another particular column from another table. So, the records which are satisfying both the condition specified in the where where clause will only be shown in the result. So, you can see that query over here. So, there are two ways to do inner join. So, I am select star from employee inner join department. So, it is a syntax like you can you do not bother our syntax like you can find it on internet while typing inner join department on on will specify the particular condition where usually we specify the condition using where clause but for in joins we are using on keyword on employee dot department id equals to department dot department id. So, return me those return me that data which return me a data like where the department of employee is equivalent to department id specified in the department table. So, here you will see this kind of output like employee last name department id then the department id and department name from the department table. So, this the data from two tables have been joined on this particular condition. It is not like Cartesian product it will you all the permutation and combination we are filtering that and there is another way by using our usual syntax like select star from employee comma department as I said we can specify multiple tables we are specifying where employee dot department id and department dot department id is same. So, one thing to be noted here like the department id column was the name of that column was repeating in those both the tables. So, I need to specify which department id and which table department id. So, if I use depth id in the department. So, I would I would use department id is equal to depth id. So, that MySQL engine is pretty much intelligent that it will select the department id from employee and depth id from department if you are not specifying that table dot column over here. So, we need out in this inner join inner join means we are joining the columns which are inside those tables like we the condition is satisfied by those columns. So, when I consider filtering applied for Cartesian product. Yeah in simple words you can say that any doubt last row there is a special condition like inner join and null. So, when you are comparing two columns like department id here we are considering department id of employee and department id of department table. So, there was scenario of John is equal to null. So, null is a null has null is been given special treatment in the MySQL any SQL environment. So, you cannot anything we you cannot compare anything with a null. So, in expression which uses a null will reproduce will produce a result called as a null. So, you cannot compare null equal to one is you cannot compare or is you cannot say that null is greater than zero or null is less than zero. So, be careful by using those columns which are not taking any null value in that. So, you can you will expect some orbit result if you are using null if you are using a department if you are using a column which contains a null value. So, it is a good it is a good thing to try inner join on the tables on columns which are not containing any null value. What is condition there are other types of joints which consider that which are null you can say null aware like they know that particular null value is in that particular department id and I have to treat it specially like I have to keep it aside and I do not have to match with another other things from another table. So, I will show in the outer join concept. So, there is another type of joint called as equi-join. So, it is like I said in the condition if you are using equal to we have used that equal to comparator. So, if you are using equal to comparator then it is called as equi-join. So, if there was some greater than less than thing greater than 4000 greater than 5000 then it was not it is not equi-join. So, equi-join is deals with one equal equality comparison it is a simple like employed or department id is equal to department or department id and it is a special case of inner join here you does not need to specify that inner join department on employee. So, here you can simply specify that select start from employee join department and the condition which is using equality comparator. So, that is a natural join means if you are not specifying any condition not specifying any where clause then how the tables will join. So, the MySQL engine will find the column that column names from different table and if he finds any column with the same name like department id was there then it will show it will show the output equi-joined on equi-joined on that particular column. So, be careful while using that particular same name into different tables be careful about the type you need to give the same type or else you need to change that particular column name. So, the natural join will give only correct output if the types are same. So, here the department id was same. So, you can see that another column which was appearing in the output of that inner join department id was twice coming twice. So, here it has been reduced to only one because it understand that the column is common in both the tables. So, it does not need to represent it twice. So, that particular inner join output can be shown over here. So, now I said that when the null condition was there. So, you need to treat it specifically. So, I am using outer join. So, outer join is like that you need to go out of this particular join condition and you need to display all the records from particular table. Like in the inner join condition or other equation condition you have to the records have to satisfy that particular condition. But sometimes the situation comes like you need to show all the records using join. So, for that you need to use this outer join whether or not the matching record exists in another table you have to display all the records. So, there are types like left outer join and right outer join. So, here my left table is employee and right table is department. So, if I want to display all the records flow employee whether or not is it have matching entry from that particular department ID. So, here it was like the employee called as John was having department ID null and it was not having as null is not being compared to anything in the department ID column. So, it has to be shown as a separate entry in the result and from department ID department table that thing should be blank over here because we cannot compare null to anything. So, those kind of scenarios has been handled by outer join. So, of which table you have if you are going to display the all columns of all data from the left table in the join condition then you can use left outer join as a particular syntax then it is called as left outer join. If you are worried about the right table in the right side of that particular join keyword then it is called as right outer join and if you are worried about showing the table records from all the tables from left and right then you can use the particular thing is called as full outer join. So, the syntax of left outer join is select employee left outer join department. So, here you can expect that all the records from employee are being displayed like that particular last record which was not displayed in the previous case and I am using the same equation condition like department id equal to department dot department id. So, the output will be like this the john null and null null which is shown in the gray background is being displayed. So, initially the john null was not coming in the inner join condition. So, here the john null was not coming and that particular row has been inserted in this left outer join and the other output which has matching column in that particular department table is same as it is. So, if the condition is changed like you have to display all the things from department whether or not any employee is working for the department. So, that condition can be satisfied by using right outer join. So, only the keyword is changed like from left to right. So, the engine will pick the table which we have to which he need to display all the records. Here it will pick department and in case of left outer join it was picking employee. So, here that particular john null is not matching to anything. So, that has been dropped by a null null and there was no employee which was working for the department called as marketing and having department id 30 pi. So, marketing 30 pi is preceded with the null null values from that employee table. So, any doubt in this left, right. So, as I said if you want to display the output combined of left and right. So, that is called as full outer join. So, in sql normal pale sql there is a keyword called as full outer join, but my sql does not support that full outer join. So, here you have to do the union of those particular things. So, as I previously said you can consider these tables as a sets and the output is shown as a table it can be also set. So, the normal union operation which is being operated which is being done on set can be done over here left outer join union right outer join. So, so the output will be like the John null null null and null null marketing 30 pi these rows will be added as a to the inner join queries result. So, any doubt in this full right, left. So, can anybody tell me like which out when you consider the scenario which output will be larger of full outer join or a cross join. Why? So, if I add any number of conditions to the full outer join will output ever grow than cross join. It is childish question, but you need to consider like because the space matters while showing the result. And you can limit that particular output by using the limit keyword when also you can limit the output of that cross join by using limit keyword. If you want to display only 30 combination then limit 30, limit 21 you can limit that particular output. Here also in the cross joins output was not fitting on this particular slide. So, we have cropped that. So, you can avoid these kind of scenarios by using that particular limit keyword. I mean you can find all this information on W3 So, the references means which the developers are using like the MySQL wikipage of MySQL is pretty much famous. Here you can find the which is the current stable version of MySQL and the references given in Deo.MySQL and the MySQL.com is a site where the MySQL downloadable can be found and you can type and test your MySQL queries on w3schools.sql and you do not need I have given the book references over there but you do not need to buy any book for that SQL because you cannot like it will be pretty much hard to read from book and type into computer it will be good to read it online and execute it simultaneously. So, that was about MySQL. So, share this slide with you guys. I have been prepared like based on the permission given and from the request to set some different kind of queries and some kind of complex query but this year the query has been very simple. So, you only need to So, only just see what is current updation in the MySQL and go through the references if it is possible. Just execute those commands and play with it. So, it will be helpful for your queries and other future endeavors. So, you can go further by using these set of sequence and do much better in MySQL. So, any doubt in MySQL? So, that was all. Thank you.


an help you out in doing that there's also a community channel for this over in the next flow slack under hashtag tower help you'll find that over there we'll put a link to the slack channel there otherwise I would say thanks so much everybody for your time this is the end of us I think we're we started this at five o'clock in the morning well five o'clock in the morning on Monday so it's been it's been a pretty mammoth effort running three trainings and three time zones across across these three days but I will I will stop there and you know thanks so much everyone for your for your attention it's been fantastic to see so many people to join join this training event over the time and it's been you know a really amazing effort as well from everyone on the team here thank you so thank you so much for it I'll let the other folks come on come on to camera now and and and say hello but but yeah really really uh I'll sort of biggest thank you to all for everyone for your attention nice thanks very much Ellen it's a fitting conclusion I think to sort of see how tower brings together all these different components and uh and kind of brings all this under under one roof so to speak yep so not much to add thanks Evan um thanks Harshal thanks Marcel uh thank you everyone for attending um it's been a really successful three days uh I don't know if many people realize this but we we started off organizing as thinking a handful of people that might attend and in preparation for the hackathon so we might get 30 or 40 people uh per time zone maybe and we ended up with what over 800 total so uh fantastic to see just how much interest there is out there and how much enthusiasm there is for for learning next learn and of course and hopefully this has been a useful few days for you all um we will send out an email next couple of days hopefully with a survey asking for a little bit of feedback from you guys so if you have any suggestions about how we can improve the format uh and uh you know if there's anything we can do differently or anything in the content that would be really really helpful um if you have anything specific feel free to jump it into the slack channel now as well it'll be really really um appreciated otherwise hopefully see some of you in person next week in Barcelona see others ever you uh online joining the summit remotely and the hackathon um and otherwise we'll hopefully see you all on Slack soon and and um getting involved with the community thanks very much thanks folks


I'm Holger Liefsson and I will speak about Debian Community, Org. Here, welcome. I'll first say something a bit about me, how I had the idea, inspiration, what I planned for Debian Community and the status. And then I would like to have feedback or a discussion. How many of you are DBM developers? And how many of you are DBM developers? And not an M? Okay, not surprising, it's a Debian developer conference. And how many of you don't want to become DBM developers? Still some people, okay. In fact, most contributors in Debian are not DBM developers. The bug tracking system has 50,000 submitters, email addresses, and there are only 1,000 DBM developers. I used to have this slide to explain, when I first gave this talk, before I was a DBM developer, I was already heavily involved in Debian. I've done all this before I was a developer. So it's possible to work in Debian without being a developer. And another thing about me is that I'm too busy to do this. So I've started Debian Community in January, had some more time in February, and then got distracted by other stuff, mostly Debian Edo and work. So I will not be able to set this up alone. I could, but I know that would take much longer, so I appreciate help. And I cannot write all the content alone. I had the idea in January, and while I was at the Linux conference in Australia, after seeing these two talks from one from Jono Bacon about the Ubuntu community, Jono is the Ubuntu community manager. And it was quite insightful to see how much Ubuntu cares to build communities, to build local communities, and to steer that, so that there's some coordinated effort. And the other talk was by Casey Sierra about passionate users. Both talks are linked on my blog, with this blog post, basically, you need to remember my blog, and then the post 83, or Search for Ubuntu, or whatever. I don't blog about Ubuntu often. And Casey explained from what other communities do to get people involved. She had the example how computer game levels are designed. The first levels are easy, so the people get hooked up to the game, and then it gets harder and harder, and the people try to manage this level and get further. And the same is also with horse training. You can get these, something like this, with different colors, so that you made this and this training with the horse, and the same is with martial arts belts, where you first get a white belt, and then an orange, or green, or whatever, and you get two different levels, and people want to get further with that. And this talk had many good aspects. There was also about passion, motivation, and the flow, what people motivate to dedicate their work to a volunteer project, and the flow, which happens when people code very long, and their mind gets drifted into the code, and if they get interrupted with it, then the concentration goes away. And I think this also happens in Debian. If there's a flame where people are working, and then they suddenly get distracted with flameless, so that also hurts. It's really insightful to see this talk, I highly recommend it. And she works at Sun, and started a Java web forum. There was a Java newsnet group, which was very hostile. People just shouted at each other, and it was not a nice atmosphere to work. And she founded a Java web forum, which had one rule, if you registered to it, which was be nice or be friendly. So the terms of use was, I agreed to be friendly when I used this website. And that was the only terms of use for the website. And the website is a huge success with three million visitors per month or something. And I suggest you really watch these talks. They are really good. You have been following Debian since more than 10 years. And the idea that there's nothing between Debian developers and users is not really new. It pops up quite often. There are some proposals to address this, like this new Debian maintainers idea, where people get upload rights without voting rights or other rights. But this is also, again, a high-level entry point. You need to be able to package. You need to have a package in Debian. It's nothing for starters, really. And also, there are many Debian communities. Debian is, how old? 13 years? Yeah, something like that. But Debian is also a bit scattered around with the resources. So that's another idea that Debian community should give users a single entry point. Now I'll explain the basic ideas I have for Debian community. Also, what Debian community should not be. There should be some rules, but not too many. And Debian developers are welcome in the project, but it's really for the rest of the Debian community. For Debian developers, there's lots of structure. There is everything, so that's not really needed. Yeah, it should not be about reinventing the wheel. There are lots of forums. There are other projects to get people involved. And I don't think Debian community should try to replace that because it works mostly. So the first thing I had was also in Australia. There was a guy who was in NM since two years, and he was from, I think, Colombia. I don't remember really. And he was very happy with his Ubuntu com business card. He had a Ubuntu com business card, and he was really happy. He applied for NM two years ago and didn't make many progress there, but Ubuntu acknowledged his contributions very fast. He got this email address, printed it on this business card and was happy. It was from Sheila. Okay. I could, yeah. Thanks. And I decided to choose the name Debian community org because I think the email address looks fancier than community.debian.net. Somehow, org mailing address are more appealing to most people. And this email address should also be easy to get after some contributions. So that people get involved. But it also should not be a right to have or you should continue to contribute to keep this address. And these rules or guidelines need to be written down. I'll come to that later. And the only thing there really is it should only be used for Debian-related matters.  Yeah, the exact how to get an email address needs to be defined soon because people keep asking me or started asking me, I want such an address. And of course I could, there are some people who are Debian developers who want one and they contribute. So I could definitely give that to them. But I want to have the procedure first. There is the idea of karma points or collecting something. So if you file three bucks or fix two or maybe it's five, then you can get such an email address. This needs to be decided soon like I would say within the next month or two and written down and then we can later change it. But to keep this level idea which is from these cases here I talked there should be something. And how to track this, my idea is that people set up a user page on Vicky Debian Community org where they can list what they do in Debian. So then you can see okay this person does this and that and fine. Planets, there are five I think Planet Debian, the normal Planet Debian org and four in different languages but many languages are missing and Planet Debian org is also again only for Debian developers or people in NNM. So my idea is to have one Planet Debian Community org for everybody who has a Debian-related feat and the same then for the different language planets. And t-shirts. Everybody loves t-shirts. They show that you're affiliated with the project. They also adverse the project and they let people identify with it. Then since a month or two there is Debian Art org which now is a source for t-shirts. So I don't think really Debian Community needs to deal with t-shirts. It's also, shipping the t-shirt is really more a business if you do it worldwide so I'm happy to just have it somewhere else. Have the t-shirt under a license so that people can copy modify them and that are the Debian Community t-shirts. And the project needs to be localized because many people especially who are not developers writing code are not so firm with English. So it needs to be localized. This is for the web page, the planets and even the t-shirts should be localized. There is the question how to keep the translations in sync. That was one of the main reasons why I choose Ikiwiki because Ikiwiki is easy to modify very easily. And my idea is to use a technique like the Debian web pages which store in Debian web pages there's the CVS ID in the main English page and then the translated web pages refer to that ID so you can see the translation the German translation is three revisions behind. The additional difficulty will be that in the wiki there will be pages which are more up to date or first created in Spanish or French or other languages. So it's not like the Debian web pages where English is always the master language there will be other main sources but that should be able to define to have another pseudo header which defines which language is the master language. Then Fedora came up with the idea of having ambassadors which are basically I think two people assigned for a country who, what's the word, who represent the project in a specific country. I think AJ brought the idea on Debian project some months ago. I think it's a good idea and it would also be another level which people could try to reach and it would also help because I don't know how the French or Colombian or whatever community looks like. And these local communities there are already local communities which would be useful or not useful it would be very wise to get them involved. There's also already e-mail, other projects provide e-mails too. And if Debian community would only be about e-mail addresses and planets that's too little I think in the long run so that Debian community keeps on as the project. So I thought about what else can be done with that domain basically to provide, give some context. And my idea is to, Debian is very developer centric so the documentation is most often made for unstable or for testing and then stable gets released and the how-to's are scattered all around the net. So my idea is to use Debian community to document really stable to improve the documentation maybe to make video tutorials which is also an idea from Ubuntu and Typeo3 is another web application. They use video tutorials to show users how to do stuff with their project and people are lazy and so they download the video and watch it instead of downloading a how-to and read it. It's strange but it seems to really work. I also want to use wiki-debian community or do not mess up with the Debian wiki. The Debian wiki is meant for not really meant but it's mostly used by developers and I could imagine that many users are afraid to modify stuff there to just deal with the stuff that the great developers do. And I think that to avoid this what happens with Debian documentation often that people write the documentation for certain state then they move on and the documentation becomes outdated so I propose to just work in slash edge to document really edge and when Lenny is released maybe copy the documentation over what is still usable but restart from scratch and then there are two documentations. Also it will be lots of links because there are many great how-tos on the web which are just on many different web pages. So a link collection can be useful. This was also discussed already on the mailing list in probably February. There's a mailing list on Alios where you can read about this. This is the newbie doc project on Berlioz the guy who is the only one left not only one he was the most active there there are two or three other contributors but the project is not so active anymore and he was quite happy to join Debian community and provide the documentation there for a newbie view. One idea is also to document how hardware is supported which has recently happened on Wiki Debian org where there are for the notebooks pages for the different models but I'm happy to hear other ideas what to do there. FlameWorst are big in Debian not sure how many of you have been annoyed by FlameWorst in the last months in the last half year since using Debian? Who likes them? In real life the basics are really simple just smile at someone and then he or she will smile back and it's much easier to avoid FlameWorst than on mailing list which are publicly archived but in generally I think being friendly also works on the internet there will still be FlameWorst always but I think it's possible to keep them down more. So I think this idea of one simple rule I really like that it's really really important and I think it's really all that is needed but of course there will be people who will not be friendly who will flame, who will behave in a way that's not nice, not appropriate stops the work going on because it distracts. I'm not sure how to word that but I want to have this defined because I think we need it but I also think it's not needed in the beginning just to keep in mind that we really need it so I hope it will be set up in half a year that the different aspects are defined and I have it on my agenda to really integrate that and I'm happy for suggestions how to handle it but I also want to have the rule simple and not a huge catalogue, constitution and of course also people will just sometimes say you idiot and that's not really a problem so there's three strikes as far too many if you solve the FlameWorst then it also should be fine in my opinion and of course the long term goal is also to become an official Debian project at the moment it's still in my idea the domain is registered on my name but I'm happy to give it away but it's also not needed at the moment just something else to keep in mind I started design polls in February I've got four more or less finished designs and that one from Valessio Brito who also made the Debian 7 logos and artwork was the one I and others liked the most I made a poll at Foster and I'm also fine against changing the design later it's nothing static in fact the machine where Debian Community Orcus running is called Bikeshet from this old BSD mailing list post that was about, that was mainly not a joke but to explain that if you set up, do a web design or set up a simple server then not of people say oh you can do it like this or you can do it like this like everybody can build a Bikeshet and if you build a power plant then you just present the plans and everybody says okay that's great plan let's make it like this so Bikeshet is the name to reflect that the people who do the work should decide that in the detail I'm open, the whole configuration of the machine is maintained with five fully automatic installation the configuration is in the subversion project in Alios so every project member can change the configuration there will be just little less people who are able to actually deploy the configuration but everybody can make the changes the machine is up since two months the new one it's hosted at the University of Gent we have the Alios project which is D-minus community because Debian Community was too long for Alios project names there's a subversion project the two mailing list and the ISC channel Joey helped me yesterday to finish the setup thanks of Ikiwiki which we still use a local SVN which I still want to either to get on Alios so that we use the commit mailing list there and the backup resources and other stuff but to have it editing faster it worked better that's the detail I need help to set this up also the next step now that Ikiwiki is running is to set up the mail service set up the planets can be done in parallel and then the project from the infrastructure is there and then it's only the content remaining the best way to get involved is to become an Alios project member so that you can work on the configuration or just get a wiki account and work on the content there's the ISC channel which I would favor to use for communication and the mailing list yeah, that's it thanks for your time and your work on Debian in general any questions, suggestions, discussions? so well I was there already during the first day when you made a first talk about Debian community and I was really thinking about what could be the killer feature of that whole idea what could make actually people really do want to come and join it we might have found that with Paul Wise the idea would be to have a database of user reviews of packages like because well it actually came to us because a lot of people that, well not a lot but people started to get to work on packages.debian.org again, so like to integrate better have a better layout, integrate data tags integrate data tags with automatic suggestions and the page is going to slowly getting more and more like Amazon web page where they present their books and you have suggestions and you also have user reviews with a little star mark and some well text that could be really good to have users review Debian packages on a lot of different points like for users themselves but also for QA because we will have another way to actually know which user are really interested into a package which will not be on the you know popcorn which is quite have a low signal actually and I think like to encourage users to actually review packages through Debian community will get well the whole process really bootstrapped well because there's a lot of users that actually I have seen at least Google for some free software application and find that it's actually really already in Debian because they managed to get like the packages at Debian.org pages are fairly well ranked already on Google and they managed to get to this page and they see oh someone has made a review well I would like to make a review of such other packages so that was one of the idea but I think it will really fit and well might be quite interesting to working into making this happen actually You're welcome to do so What do you think about the general idea? Well you said something about how to define the guidelines for behaving in this community and something about define the positive process and to me it seems really like what has been done with the Debian community guidelines by Ariko so I'm wondering if you have considered just adopting them as a positive process to be the basis for Debian community.org Yeah they are in fact linked on the web page I think they are really good but I think they are too long even if they are really short. There are only two pages or something but as a general rule I think they are too long I want to keep it really simple for that and of course encourage to longer documents there is much longer text which are still useful You said you wanted to integrate a lot of existing forums and communities in Debian already Do you have a specific idea on how to get communities that already have maybe their own well not code of conduct but they have their own way of behaving maybe inside Debian community there is all these maybe rules that didn't apply before There is not much which in my opinion Debian community has, there is a mailing list which is for the discussion about the project itself but it's more about the infrastructure side and should not become a general Debian helpline like the IRC channel should not be that people join and ask how do I get my hardware configured for existing communication channels be it IRC channels be it web forums which many users like to use all the mailing lists and the specific rules from there still applies so if the Argentinian community is very into flaming they can do that on their Argentinian Debian IRC channel and if the other community is doing that then it's fine it's mostly on the wiki it's also if somebody writes with the Debian community mailing, Debian community org mail address on the Debian mailing list I don't think that the Debian community org guidelines should apply there it's a Debian mailing list and they just use it just if they really completely abuse it which then maybe but I think in general Debian community should more a meeting point or not a connecting point and use the existing stuff especially for forums there is forums Debian which is really good has I forgot 9000 users or more there are many users in this forum which are happy there so I don't want to set up a new forum or new mailing list that doesn't make sense so first of all I must say I'm really satisfied that you are doing this work it seems to be a very good effort to make the Debian community more visible for the Debian developers as such I'm the popularity contest maintainer and I've been amazed reading the developer mailing list that some Debian developers actually believe that unstable and testing was more used than the stable version of Debian that they actually drop the stable version luckily now with actually it's obvious that at least three times more are using the stable version than the unstable version and I hope your community can prove that the Debian community is a lot larger than the developer community I have a suggestion maybe if you are the person who makes the decision about whether people have violated the rules too much that's a pretty hot spot so how about setting up a anonymous place well the name needs to to go to that place but not to be publicized but anytime somebody feels like anyone has been flamed personally rather than technically you have a certain number of those that you collect and then finally you give the first warning and if you get more of them you get the second warning and so forth so it's not just your decision it's a matter of the community complaining because somebody is wasting our time with personal induendos rather than something productive I definitely don't want to be the person deciding their who's misbehaving definitely not alone there must be some procedure, some committee some something and this is one implementation proposal there will be others and I think I want to write them down in the wiki now that the wiki is up since yesterday until yesterday the web page was static HTML pages now it's a wiki so then people can write down their proposals and in three months, half a year nine months when the other stuff is up and running we can do this for the moment I think I don't expect many flames or idiots just coming right now so I think this can be solved a bit later I think just in general should be clear that not everything will be tolerated so for now I think it's fine but I'm happy if you write down your proposal now because in some time we will need to come back to that but I have a problem with the name Debian Community personally I would have assumed that the Debian Community is Debian.org and also in the same way let's say it's another question it's I would have thought that anybody who contributes should actually be part of Debian.org but this is not the case there's only been to my knowledge one developer who became a developer for translation work and also this Valessio Brito who made the artwork maybe I think he should be get an official if he wants it of course an official affiliation with Debian but there is no way that an artist at the moment can become a Debian developer he needs to learn how to package software which I don't think every artist wants to do and I'm all for moving this to community.debian.org this is definitely my long-term goal to get rid of this domain and use community.debian.org or maybe maybe the other name would be user.community.debian.org because there is of course many communities in Debian already but Debian.org is very developer centric and the idea of Debian community is good but what about inside Debian creating another class of users of people belonging to Debian but not being Debian developer having something else for instance not voting for what is about technical choices but maybe some other kind of guidelines yeah I think it's good I'm happy to see that it happens like this Debian maintainers who can upload packages and have no voting rights and can only upload their packages being discussed, worked on and implemented but this is again just before technical people this again Valessi was not there or other artists or translators or whatever other contributors and I think it's okay to go different ways there are many goals which are similar but target different aspects so I think it's a bit different I would like to see Debian contributors for people like translators and artists or Debian artists in some ways are Debian developers but this needs to become in Debian this needs to constitution change and this is just a different approach to create something from the it's a bit outside Debian like there are many projects start outside of Debian like the whole Debian.net domain is outside Debian officially that are single developers or group of developers or works and sometimes they get into Debian officially and sometimes they don't and good things usually get into Debian so I definitely want to get this into Debian but I don't want to start it in Debian I want to start it outside and yeah I think that the past years show that every most of most of all new infrastructure projects that have been successful have been started outside of Debian in this sense that they weren't hosted at the beginning at the Debian org machine this might be not an ideal solution but it is a fact I think services like the wiki I think popcorn all stuff has started at outside of the Debian infrastructure and has moved there when people saw that it was successful to show us the code approach works normally where we were we might manage to make this more flexible or more open in the future but we haven't managed so far so I think the approach the toga has chosen is a wise one it might be not ideal one but it has a good chance of success and I wouldn't say that of many other approaches that we could take time is out as I see from the back thank you for coming hope you join the efforts and have fun the rest of Debian