You know, the bullpen remembers the 20th night of September last night, Marinette. Really good work covering four and two-thirds innings and helping the Yanks get a win. They were incredibly impressive, Bob. You mentioned the fact that they did not allow a run over four and two-thirds. Four different arms were used. Araldus Chapman closed things out to end at his 28th save of the season, and we saw the Chapman stare thereafter. Now Clay Hose was the second arm out of the pen. He was good for an inning and two-thirds. He struck out two along the way, and I had the opportunity to catch up with him during batting practice to ask him about the bullpen's performance last night. We take the ball down there. We're looking to put up zeros and keep the other team where they're at. So it's definitely rewarding, you know, and hope to build off that and have some more of those. I know we've talked multiple times about your sinker and the success you've had with it. Just how much confidence are you throwing that pitch in particular with? Yeah, it's, I know I've said this before, but it's feeling really good, probably the best it has in my career. So it's the pitch that I'm leaning on and very confident in it. You know, when it's in the strike zone, I get ahead with it. It's been a really good pitch for me. Matt Blake told me that when you came over here, they tried to sell you on throwing it more. Was that at all a tough sell? No, it's something I've, you know, fell in love with even more is more than I learned about it. So I say, no, we were on the same page with kind of all the stuff they presented with me. So it was one of the things where, you know, when they were telling me it was kind of matching up with my gut and kind of how I felt I could be the best pitcher. So it's nice to see those things come to fruition and get some results. Aaron Boone has proven that he has trust in you. He's used you in high leverage situations. Do you enjoy coming in in those high leverage situations? Definitely. I mean, that's what you work towards. You want to be the guy that helps your team win games. There's a lot of roles and it takes, you know, all 26 guys to do that.  So it's fun to be in this situation and we're looking to put together a good little stretch here and hopefully get a lot of wins and find ourselves in the postseason. What did you think of Chapman in the ninth? He's looking great. He's the guy that's, you know, just being on the outside. It's always been fun to watch, but it's been, to me, just impressive watching a person. I think that he looks like the guy I've always seen on TV right now. So it's fun to be a part of and have him right there in the ninth inning.


Welcome to SoCAP 19. When I look out at this room, I've had the privilege and honor of being part of this community for eight years now. And I know that among you, there are many who predate me, who have been here for all 12 years of SoCAP. Let's see. Anyone here? Predates eight years, let's say. You don't have to be all 12. And then I know there's many of you who are new this year. Who's new? Who's for SoCAP? Wow! Awesome! You're the best at attending sessions. You win. Thank you for adding your voice and for being here. And I know it's a big commitment to take the week and to get here. So thank you for being here. I'm also thinking about the people from this community who are joining us from afar via livestream. And they've been really on my mind this year. This is such a valuable room. The people in this room have ideas and organizations and resources that are making amazing change in the world. But there's also so many people who are not in this room. And this year I've really been thinking of them. I believe deeply in the power of convening, of bringing valuable strangers together to create unlikely allies. And I'm so excited and inspired every year by the collaboration that takes place here and what springs from it. But, well, and this year, apologies. So when we're all here together, you know many people already and you're here to meet new people as well. We've partnered with BrainDate this year to create a topic marketplace where you can find others to connect with and share with. And I encourage you to go on there and meet some new people, not just the people you know while you're here. But I also believe that this can't just be an event. It needs to be a movement. If we're going to unlock the potential of markets to drive impact, it's going to take all of us. And what that really is going to require is a culture shift. The dominant culture around finance and money and business is unsustainable and it's being challenged regularly. But shifting, a real culture shift doesn't require just events like this. It requires art and media and influence and stories. And we have great stories in this room, but I'm not sure that we're sharing them widely enough. A few years ago, we created SoCAP 365 to take this show on the road. And the amazing thing to me was that two-thirds of the people who showed up weren't even on our mailing list. They'd heard about it from a friend and they showed up. It sounded interesting. A year ago, we started a podcast, Money and Meaning. How many of you have listened to our podcast? Way more of you should. It gets over 2,000 downloads a month. It's incredible. And so I'm just constantly reminded of the people who are searching for this conversation and have never even heard of impact investing, much less heard of SoCAP. But I know that all of the people who care about climate change would be devastated to know that they're invested in fossil fuels. And I know that so many people who are out protesting for criminal justice would be horrified to know that their banks, where they keep their deposits and do their checking and banking, are lobbying on behalf of private prisons. I also know that they would be inspired to invest in with whatever they can invest into the amazing climate entrepreneurs that we have here and use their influence to advance racial equity. This can't be a conversation for the 1%. It needs to be a conversation for everyone. I titled this plenary, A Global Movement That Matters to Millions. And I hope that you're inspired by the lineup of speakers and the ambition that's within this room, the change that's already happened and the change that we're aspiring to. You are part of a movement. So let's make the most of this time here together at SoCAP, and then let's go out and tell it to millions. Share these stories, make it as accessible as we can, and build the movement at the intersection of money and meaning. Thank you for joining us here.


So, Rachel, it is super nice of you to take the time and talk to me about the Universal Code of Conduct. And my first question to you would be how you became aware that this work to create a Universal Code of Conduct is going on. Yeah, sure. I first became aware. I can't actually remember the moment that I first became aware, but I think it might have been at a Wikimedia Foundation monthly staff meeting where it was just mentioned. And some emails that went out to mailing lists, so I just checked out the links and read more about it then. But yeah, I can't remember the exact moment that I became aware of it. It probably will be very important for you as someone who is working with organizing events. So my question to you, the next question would be what impact do you think will a Universal Code of Conduct have on the attendees of Wikimedia events? Yeah, so right now at our events, we use a combination of different friendly space policies. We have a foundation friendly space policy. We have a community friendly space policy on Meta. And then a lot of affiliates and user groups have their own individual adapted friendly space policies, sometimes called by that names and sometimes called by other names. And also in our technical spaces, we have a technical code of conduct that is used in all technical spaces, whether physical or not. So as you can tell, there's not necessarily consistency at events between what policies are used and what policies are not used. So I think having a Universal Code of Conduct will bring consistency to all events to make sure that nothing is missed because it's definitely fine when communities adapt to their own friendly space policies. But if you had an incident at an event and it didn't happen to be covered by that specific policy, now it will be because hopefully the Universal Code of Conduct will cover everything, everything that we're doing. And kind of break it down into really, really specifics. So I think that's the main, on the attendees of events, I think that's the main benefit that it will have. They just know across the board what's covered everywhere. Do you think it will also have an impact or change anything for the attendees of those events? If they are contributing online, either during the events or in the follow up of the events, I think a lot of work gets done around events online. Yeah, absolutely. And I think that's a huge value that having a Universal Code of Conduct will bring, because there really is no barrier or line between when does the event start, when does the event end, because we're an online community mostly working online and the work on events starts on wiki pages all across the universe and even in telegram groups and it's before the event starts and goes way after it ends. And so having this Universal Code of Conduct will make the lines much less blurry in terms of if an action was covered or not by the events policy, because it didn't actually happen during the event states. So I think that's a huge value that it will bring. Thank you. Yeah, I hear you that you're also thinking of possibly this policy applying in non wiki media spaces. Is this something you would like to see because you were talking about the telegram groups? Oh, sure. Yeah, so we do use telegram groups at community events. Not all events do, but it has become consistent. It started with wiki media summit, went with the hackathon in Vienna. And then from there, many, many events use telegram. So what we do now is pin the policies to the telegram group. So we say, you know, in all of the main telegram groups, like the XYZ friendly space policy is, is, you know, applying here in this channel. If you're not abiding by the policy, you will be removed from the channel. And so I think the same thing would happen with the Universal Code of Conduct that we end up with. And yeah, it's funny because in our mind, and maybe we do think of the telegram groups as wiki media spaces. But yeah, they're not maintained or owned by the foundation, but they are created by us labeled with the wiki media label, you know, like wiki media hackathon 2018 or something. And yeah, so we definitely would need the Universal Code of Conduct, hopefully to apply to our, all of our activities that we're doing around events as well. Thank you. That was a bit going off the topic of how should the Universal Code of Conduct be created already on how should it be enforced and where should it be enforced. So let's get back and I asked my main important questions, but I still would like to know if there's anything else you want to share about the concept of a Universal Code of Conduct. From your very special perspective as a staff member who is helping community organize events and organizing events herself. Yeah, sure. I just really want to thank the committee for working on this. I know this is a big project and really hard work and if it helps. Once we had the technical code of conduct in place, it really, really helped our technical communities, especially around events. It was just really clear which policies would be there. And so I think the same thing. Once we have a universal code of conduct that we have, you know, community buy in for and every, you know, it's finalized and we're moving forward. I think it's going to be a huge change and really helpful to event organizers and community members across the board on all projects. So I think we've already shown through the evidence of the technical code of conduct that this is needed and was very useful after it was implemented. So I just want to say keep up the good work and if you have any questions whatsoever about in person events, technical or non technical events. I'm really happy to be a resource for you and help you answer questions about what what was done and what has happened in the past around code of conduct and friendly space policy issues. Thank you very much also for encouraging the drafting committee to come to you with further questions. And yeah, thank you for your insights. You're welcome. Thank you.


Welcome to this session in the course on data structures and algorithms. We will recall that last time we discussed implementation of a media player and demonstrated various functions that user would like to perform using a media player. In this session, we are going to discuss a C++ program which implements the entire functionality of a media player. First we discussed the data structures that we shall use for implementing media player functionality. There is a structure for song which stores information about the song such as its ID, title, singer, duration, etcetera. The playlist itself is a list naturally and this will be of the structure song. So, there will be multiple songs in our list. There is an iterator which we termed as IT. It points to a song in the playlist and this value of IT can be modified by increment or decrementing based on the functions that are used. What are the functions that we will use? First and foremost, open player which initializes the playlist by making the iterator point to the beginning of the list. Next is adding to a playlist so we can add a song to the playlist which will contain title, singer, duration, etcetera and a unique ID which we will generate for each song which is added to the playlist. There will be a function to remove from the playlist in which case a particular song will be removed. These are all various functions which will permit us to navigate through the playlist.  We have already seen this functionality. We will be writing individual functions to implement these. Please note that these five functions respectively written either true or false. It returns true if the function is successfully performed and if it is not performed properly, it returns false. Let us very quickly look at some sample conditions under which the function may return false. For example, if the iterator IT already points to the first song in the list and we say go to first or go to previous, it cannot be performed because already at the first there is nothing previous. Similarly, if iterator IT points to the last song in the list then go to the last is meaningless. Similarly, go to the next is meaningless because there is no next song. So, when we implement these functions, the appropriate precautions have to be taken such that the execution of the function whether it is successfully done or not successfully done is reported back. We have additional functions such as reverse to reverse the list of song sort on title which will sort the list on the titles of the playlist. As I mentioned, it will sort on ascending order, but it is a toggle list. So, if we press it again, it will sort in the other direction. Sort duration is another sorting which is sorting the which will sort the playlist using the duration of this. Display playlist and display song are two functions which are added merely to demonstrate the output of the program. These are not central to the functionality of the playlist, but this is for illustration purpose. We start looking at the details of the program. We begin by defining the structure that we require for these songs and the class for media player. The structure is very simple. It has an ID, title, singer and duration. The class media player has several private members. First of all song itself that is S. It will have a static integer value song ID which we will use to increment subsequent songs which are added. Please note that the list that we are declaring which is the playlist uses song as the structure as a part of that list. The list consists of such structure. Similarly, for the list we also define an iterator ID. The functions which are public are given in the next slide. We already discussed all of these functions. So, you have an open player function. Add to the playlist, go to first, go to preve, go to song, reverse, sort on title, sort on duration, remove from playlist, display playlist and display song. Remember the last two functions are merely for the purpose of illustration. Please note carefully the parameters that will be passed to some of these functions such as add to playlist will obviously have a song name, singer, duration, position, etcetera. The media player song ID is 0. Please remember we actually used a static integer and this is set to 0 to begin with. Initially there are no songs in the playlist. Next, we display the playlist. This is very simple. We just output this. There is a list of the type song. The copy playlist will permit us to copy the entire playlist. The iterator copy IT is associated with that list. Now, I iterate for copy IT from copy playlist dot begin till it ends. One by one I will go through that list and I will print the desired information associated with that song. So, this is very simple. Display song just displays one song at a time. The open player is the initialization function which merely sets the iterator at the beginning position of the playlist. Next comes the addition to the playlist. So, here I will have the song name, singer, duration, position as parameters all of these are assigned to various components of s, s dot id. I increment the song id which is the static integer that we have been carrying on. Then I insert title, singer, duration, etcetera. Now, I have to insert song at a specified position. So, I will say I will set iterator to playlist dot begin. If the position given is less than or equal to playlist dot size, then I will traverse for i equal to 0 to that position and I will insert that. If that is not so, then I will insert at the end. We have already seen this functionality earlier. To retain the original position, if playlist dot size is 1, that means the IT is set at the beginning of the playlist because that is the only song in the playlist. If that is not so, then we use the copy IT and restore it to the original position. Go to first and go to previous are two functions implemented here. Very simple. I just check the size of the playlist and I will check where the iterator is. If this is 0 and it is at the beginning, go to first will return false, otherwise it will set to the beginning. Exactly opposite will happen when I say go to previous and if there is nothing to go to previous, it will return false, otherwise it will decrement iterator and return true.  Please note the care that we are taking. If the playlist size is 0, then it will obviously return false in both cases because there is nothing to go to. If otherwise, I will increment that IT and check whether playlist dot end as read. If so, I will set IT minus minus to 0.2 last song and it will return false. It is only in this case that I will set IT to playlist dot end and it will point to the last song by reducing IT by 1. Exactly the same thing is done when I say go to next. All similar checks are made and if IT is not equal to playlist dot end, then it will return true that means I have gone to the next, otherwise it will return false. Reverse is a very simple playlist dot reverse is a single call which will reverse the entire playlist that I have. Next, let us look at the implementation of go to song. I will of course check the size of the playlist. If it is 0, there is no song, I will return false. Otherwise, I have to go through that list to find out what is my desired song. So, playlist dot begin is the point that I set IT to and while the playlist has not ended, I will iterate around. I will use the comparison operation using title and if the comparison title dot compare is 0, I will return true set IT to plus plus. At the end of this, I will say copy IT since song was not found, I will restore it to the original position and return false. We will now see how a particular song can be removed from the playlist. The main function here is they remove from playlist which will take a string which is the song title. Now, what we are doing is given the song title, we will assign it to r s dot title and then we will use a predicate which is associated with the particular list. So, playlist dot remove underscore if is a predicate. It takes a parameter which is a removed song. What is removed song? Removed song itself is a parameter r s. Notice the removed song here. So, it is actually an object function. This is a stuck inside which there is a Boolean operator to which we are passing this r s. Please note what this simple statement does s dot title dot compare title. It will compare the given title with all titles in the list and if anyone matches that means it is 0, it will return that. If nothing matches, it will return false. Now, if this returns to that means there is a particular object that will be removed from the list. So, this simple implementation shows you the power of STL that once you give a parameter it will be compared with all titles of the playlist. How so ever big that playlist is? The remaining functions are very straight forward. So, if I have let us say by title I want to sort something. So, here I have playlist dot sort by title and you will notice that by title is here. So, it will return first dot title less than second dot title. So, this is the kind of comparison that is being made for sorting exactly the same sorting is implemented here when I want to sort by duration. Here I have by duration instead of by title which will implement exactly the same logic for duration. The main program itself is extremely straight forward. I will execute open player which will initialize the player. Then various songs are added by add to playlist 1, 2, 3, 4, 5 like that. I will output that playlist it will using the display function which I had written. Now these are various operations that are being performed. You remember we said these are the different thing that we will do. So, look at what all we are doing go to song. Now if we are able to go to that song the display function will display that. Similarly, go to first go to last go to next go to previous go to previous again go to next go to first go to previous all of these are executed depending upon whether that particular action is possible or not you will get an appropriate message either the song will be displayed or an error message will be displayed. Here is some additional function that is implemented reverse. So, player dot reverse sort on title sort on duration specific song to be removed from the list. So, player dot remove from playlist this particular string that we give. You will thus see that the standard template library permits variety of operations on the list all of which have been illustrated in this simple example of the playlist functional implementation. You can actually use a similar mechanism to implement any other list with various operations which are required to be performed on the list. Thank you.


Hey, welcome back everybody. Jeff Frick here with theCUBE. We're at Data Privacy Day 2018 here in downtown San Francisco, the LinkedIn headquarters gracious enough to host this event bigger than last year. Last year we were here for the first time at Twitter and really the momentum continues to grow because there's some big regulations coming down the pike that are really going to be into place and have significant financial penalties if you don't get your act together. So we're excited to have the new Russell straighter, the executive director of the National Cyber Security Alliance organization behind this event. Russ, great to see you. Thank you very much for coming today. It was a great event. Absolutely, so you've been on the job, this job you said like less than two weeks, so. It's true. What do you think?  Well, I've known the organization, I've known the event, but the staff really has done an outstanding job. They made it so easy for me. Everything that they've done has just been terrific. They lined up fantastic speakers, they picked cutting edge topics, they put together a really well-paced program, and it was just a terrific day for all of us to get in, really have some good discussion. You're off to a great start. Thank you. So you said you're familiar with the organization. You know, why are you here? Why did you take advantage of this opportunity? What do you kind of see as the role of this organization and where do you see the opportunities to really make some significant impact going forward? Sure, the National Cyber Security Alliance is a who's who in the organization, people who really care about cybersecurity, who see it as part of their social obligation, and it was a wonderful group that I've worked with before when I was at Visa, and I see now coming in as executive director to really take it to the next level. We really are pushing, I think, on four separate areas that I think there's a lot of opportunity for it. Doing more corporate work, serving more consumers, more consumer education, more consumer awareness. I think working with educating staffers on the Hill and in regulatory agencies in DC on changes and technological changes and the cutting edge stuff. But also, I think working with academia, sort of getting involved and getting some of the scholarly, the cutting edge, the new ideas, and just preparing for what's going to happen in the next few years. Right, that's interesting because you guys are National Cyber Security. Security is often used as a reason to have less privacy. It's often the excuse that the government, Big Brother, would use to say, we need to know what you're up to. We've got red light cameras all over the place to make sure you're not running red light. So it's an interesting relationship between privacy, security, and then what we're hearing more and more, really a better linchpin to drive all this, which is identity. So I wonder if you can share your kind of perspective on kind of the security versus privacy kind of trade-off and debate or am I completely off base and they really need to run in parallel? Well, they do intersect a whole lot. People have talked about them being two sides of the same coin. Another speaker today said that security is a science but privacy is an art. Part of it is, security is keeping the data in one place the same way in as when you put it out, sort of an integrity piece, that it isn't being misused, it's not being manipulated in a way and it's just not being changed. So that's a security piece. The privacy piece is people choosing what is used with that data. Is it to help me with an app? Is it to give me more information? Is it to give me games to play and things like that? So that leads into a lot of different advantages in the web and on the internet. Now identity, since you've put in a trifecta of big terms. Everything's gotta be in threes, right? And there's three reasons for that. I think that the identity part is part of who are you? Now on the internet, you can be a lot of people, right?  Well, on the internet, you can be a dog, you can be the person who you are at school, you can be the person who you are among your friends, you can be the person who you are at work. And those different cells, those different identities are the internet of me. And we just need to make sure that you are curating your identities and sharing the information that you feel comfortable with and that making sure that those are reaching the right people and not the wrong people. Right. So there's an interesting kind of conundrum. We cover a lot of big data shows and there is kind of a fiduciary, moral and now legal responsibility as you're collecting this data to drive some algorithm, some application that you know what you're using it for and it's a good use of that. And you have an implicit agreement with the people providing you the data. But one of the interesting things that comes up is then there's this thing where you've got that data and there's an application down the road that was not part of the original agreement that no one even ever had an idea would ever happen. How does that fit in? Because as more and more of this data is getting stored and there's actually a lot of value that can be unlocked applying it in different ways, different applications. But that wasn't the explicit reason that I gave it to you. Right, right. And that's really tricky because people have to be really vigilant. There is that education piece. There is the personal responsibility piece to do business with companies and with apps that you feel comfortable with, but you still have to trust but verify. And you do want to look into your phone, look into your PC, look into your other device and figure out where things have changed, where things are moving. That's one of the great things about being in the Bay Area today is innovation. But innovation, you just want to make sure that you are participating and you're in the part of innovation that's best for you. Okay, so you mentioned academe, which is great. We do a lot of stuff at Stanford. We do a lot of stuff at MIT. So as you look at the academic opportunities, where is some of the cutting-edge research? Where are some of the academe focus areas that are helping advance the science of privacy? Right, well, you named two of the most forward-thinking ones right there. So I'll add to that just because we're talking about Stanford, we have to talk about Berkeley, right? And Berkeley does have a whole group in privacy and law. On the east coast of addition to MIT, you see George Washington is doing some things. George Mason is doing some things. And so you want to reach out to different areas. Cornell is doing things as well. So we want to be able to figure out where are the best ideas coming from. There are conferences already there and maybe we can convene some papers, convene some people and source out and give a little bit of more push and publish to people who otherwise wouldn't be getting the kind of publicity and encourage the kind of research in privacy and in cyber security. Because there is the business and the consumer educational component, not just the tech component to the academic work. So before I let you go, last question. Where do you see is the biggest opportunity? Where's the biggest either gap that needs to be filled, kind of positive that's filling in negative? Or an untapped positive that we've just barely scraped the surface of? Well, I think that it's all about the consumer to a large extent. You've got to figure out, how do you make your life easier? Go back to the iPad introduction. Nobody knew that they needed an iPad until they realized they couldn't live without it. You look at what's happened with mobile. Now the idea of having a wallet is on your phone. So while I'm waiting in line at the grocery store, I'm checking my messages. I'm texting back and forth. And I just point my phone and I pay. Those kinds of areas are the kind of innovations that are consumer facing that I think are really terrific. There's a lot of business work as well being done, but you have to figure out where that's going to go. And I think the consumer just has a fantastic opportunity. All right. Well, good opportunity to look forward to catching up a year from now and seeing how much progress you made. I think we had such a great program this year. I can't wait till next time. All right. Thank you. He's Russ Trader. He's the executive director. I'm Jeff Frick. You're watching theCUBE. We're Data Privacy Day 2018 in San Francisco. Thanks for watching. We'll catch you next time.