Hello and welcome to the Tracking Website user's booth. This booth will be mostly about the social and technical limitations about tracking website users. I myself am Martin Sobelhelas from the, well, I'm working with the website team. I myself am a member of the Debian System Administrators team and also still a bit working within the Listmaster team, but not involved that much anymore. During last year's Webmaster team meeting, or web team meeting we had in Vienna in December, beside talking about the website we also had, we started some discussions about which content to move from the wiki to the website and vice versa. So we wondered which effect will that have to the web pages if we start moving content around, if we start moving content around within the web page and not only moving content from the wiki to the web page, and we very fast came up with social limitations on that problem. What shall we do? What can we do? What things we should not do about that? Our current status is we have very, very few informations about our website users. The only thing I am currently aware of is the link over there where we have the web logs from one of the WWMIRRORs in some sort anonymized, so we just only get the link from the web page and the account of pages, the account of views of that specific page. And actually we cannot tell anything at the moment about how many page impressions do we have per date, how many, if we have a release, is there any difference on the user, do we expect a user peak or if we change content on the main page, what will happen to the traffic of the web page then? And we started thinking about what we can do. I think the easiest thing is having something like a web serializer or AV stats running on the web logs. But it's a big social problem if you start gathering all this information to, should this information be public and available and so on and so on. Well, we would like to see how many users we have on the web page. We would like to see the effects when starting moving content around within the web page, from the wiki to the web page and vice versa. And there's also interest especially for the translators to see if there's content on the web page not yet translated. For example, let's say from India or wherever, and a page viewed quite often from the Indian developers or the Indian website users. So we could start prioritizing translations. So we get those pages, which are quite often viewed, but not yet translated before other pages, which are not that common used. So for example, Debian news items from 2002 are probably not that much viewed than, let's say, the www.debian.org slash develop page, something like that. And we would like to gather information about that if it's helpful to have some pages translated with a higher priority. What we could do is, well, the obvious things. We could start analyzing the Apache log files. Nowadays, all the web mirrors are on debian.org or DSA maintained hardware. So we can easily get the Apache logs. Other techniques that could be done as having some sort of icon, not one by one pixel, via a CGI script or whatever, together information also about the, for example, about user agents and so on. And mostly of that can also be done using JavaScript, like some sort of Ajax request, for example. We then would also get information about the screen size of users and other different things. The problem is, do we want those informations? If yes, which social limitations are we facing with? That's actually the thing I would like to discuss here in this box so we can gather information and then the web team can use this information for setting up some sort of tracking, I think. The obvious question is, should we start tracking at all? And if yes, do we want the tracking information public available to all users? Or is that only something the website team should be viewing? Yeah. I think I would like to discuss that with all of you in here. But the persons on the streams want to hear the question as well. OK, so first of all, information that you want to gather will be probably used for making user experience better. So information you gather will help you to better organize your website. And in that sense, I think that that kind of information gathering can be useful. Secondly, if I use the internet and if I make a request to your site, as soon as my request leaves my computer, it's not private anymore. So this is something that you can't call private data anymore, I think. And that is the reason, I think, that there is nothing wrong in gathering that kind of data if it will be used for increasing user experience. So this is my sense. OK. Yeah. I have some kind of personal experience because we introduced some tracking technique at the institution I'm working for. It's a German-based institution, so I'm not sure how, well, how well you've said experiences. But we had major difficulties with privacy issues when we started to doing this. We had, I think, three lawyers writing some kind of privacy statement, which we just put somewhere on our website, the lawyer said it would be OK, but we needed to publish that. So if we need to do something similar for the Debian project, it might be a little bit more difficult, because we might also add other sub-projects or things like list stuff or things to our global privacy statement on our web page. But I'd really like to see something like that. You were talking about do we actually track individual users or should we just gather statistics about the site usage? And there's a big difference between the two. Do we actually have a use case at this point in time where we actually need to track individuals or individual users? For all the cases you've given so far, just statistical analysis of the site would be sufficient. If we don't actually have a use case for doing it, why even spend the time and effort doing it? You've already stated from a statistical point of view that it would be good so we could see what translations need to happen. And so that is implying we haven't got enough bandwidth in workload to cope with what we need to do now. Why make more work for ourselves? Just give it to Razup. One of the reasons for why we want to track are what useful things that might come out if we are tracking users is there's usually a lot of people complaining about the bad navigation and we might want to have input on how we can improve this. And if we know what paths people go and which directions they follow to get to the information they need, we can get actual information out from that, how to improve on that level. And that's one of the main reasons why tracking users is useful for us to improve the navigation part. The idea is not to have one-to-one mapping between, in the log files, but to have some sort of anonymized IP or however we, on the DSA side probably in the end or whoever is going to implement that. We will implement some sort of anonymization on the log files, but as Randa already said, tracking the paths a person takes over the website and for example, merging content from two pages into one because mostly all persons view both pages, for example, merging the content into one page would make it one click less in the end. Okay, so this will be boring to Zauwil because I told him over lunch. But in general, previously we already had a web allizer analysis on Clacker Debian Org when it was 3W's Debian Org that gave way to, I don't know, BitRot or something so we don't have it anymore. So as far as statistical analysis, I don't think there's any downside to it. And we could even, if resources permit, publish the results, you know. So tell the users what we gathered from the logs about them. And as far as the tracking goes, there's one use case where this is something somewhat anecdotal but I think other people have told me they have the same experience so I'm going to lay it out. You go to a website, you can't find what you're looking for for example at www.debianorg.org. Then you go back to Google and then you search for a string that leads you back into the Debian Org domain but at the right place. So if we had originally, when the user was at www, set a simple tracking cookie. So no actual information is relayed other than the existence of this cookie. And then when we receive back that user on the website, for example, securitydebianorg.org or packagesdebianorg.org, then we know, oh, this user was in this session already at one of our other websites but did not come with a refer field that said he was linked here directly. So this is a useful bit of information. We don't have to, obviously, we don't want to keep this information where was the user and spying on them and whatever but the essential component was our navigation was broken. We did not relay this user through internal links to our website because we cannot verify it in the refer field because refer field says Google or it says Yahoo or it says Bing or whatever. Or it says, I don't know, random forum where some other user who had found the same solution backlinked it in the right place in our hierarchy. So that sounds like one simple usage of a tracking cookie and a very trivial tracking cookie. No extra information, so just PHP sessions and whatever. Okay, so if you think that collecting statistics or tracking users would be useful for you, then you probably should, we probably should do it and figure out how to do it. So that answers at least from my point of view with no head on the question of whether at all you should do it. One of the things I would like to see in the setup however is that privacy is conserved in the sense that nobody should ever be able to figure out whether or not I have visited a website and certainly not which sites I personally have visited after the fact. So collect the data, run some kind of post processing on them and then work on that data. And if we did the anonymizing step right, then there's no reason not to publish that data because somebody might be able to do something useful with it. So collect the data, anonymize it and publish it and then put whatever kind of statistics or whatever you want to do with it on that data. Do you want to direct on that or may I pass the microphone to? Somebody previously mentioned a privacy statement. Modern day websites powered by lawyers. This is a realistic thing. Users have come to learn to expect a privacy statement. In Debian, our users who know us, they expect that we won't invade their privacy so they don't really look for a privacy statement. But it would be okay if we spelled it out. If we told users, okay, we have no financial interest in tracking you and selling you the latest version of Debian or whatever. Just spell it out. For example, simply have a page that says, okay, we won't do anything evil because we will do this, this and this. For example, we do collect logs because Apache writes them to disk. Okay, we will not turn off that feature but these logs will not be sold to adclick.net or whatever it's called, whatever agency. So maybe just spelling out the obvious would be our privacy statement. It is obvious to us but not to random web users who might be alarmed because they read on a random website. Your privacy is endangered by any cookie or by any log or by anything.  Spelling out the obvious is fine but then we should not use the existence of this privacy statement to rationalize things that otherwise we wouldn't do. It shouldn't be a place where we tell people, oh, and we are going to be very evil and it's okay because we just told you. I wonder if some initial navigation tracking can already be done with the current logs by tracking IPs and web browser identification strings. I mean, that won't be totally accurate because obviously you may have like thousands of people behind a knotted address but it may already give some ideas about some pages that need to be merged and that may be like a first step in the sense that you start getting some information and try to use it and so you can validate if that information is actually useful and you don't need any privacy statement or anything because that's data we already have and then from then on that could be a second step.  I think we're back at the question of are we collecting statistics and paths for the sake of it or do we actually have a genuine use case? If we've got things we want to do, let's go ahead and do them. I'm still trying to understand are we actually trying to say, look, we could do some cool stuff with the statistics to make things better or are we saying I want to make the flow better, I want to merge pages together where it's obvious that actually this should be one page or even split pages up or improve our, if you've got a specific task, go and do it. I don't know, I'm just kind of wary about this or let's just do this globally, we collect loads of information and then we can mine it later because you'll always find that you've never collected the right information. You've always got to have to collect something slightly different later when you need to do it. So half the time the exercise is pointless. I'm still, as I say, give it a use case, have a specific task to do with it and then go and do it. I think it's kind of, it's to us in the web team or all guys in the web team like me, it's kind of obvious what needs to be done because we have all these sorts of diversity of web portals because for example, we have packages Debianorg and www.debianorg because these aren't the same virtual hosts so the logs are separate but really they're one and the same. They're the same website as far as Debian user is concerned. They want the official Debian information and packages Debianorg provides official Debian information. That's the kind of thing that needs to be analyzed but yeah, definitely. As I said, in the first place we had the web allizer once before so statistical analysis first and then we can work on that. More questions? Well, one of the things, for example, which annoyed me a bit during the, I think it was Lenny release cycle we had this big picture on the main page which used more or less the half of my screen resolution so do we know anything about the current screen resolutions of our website users and could optimize graphics and so on directly to the, let's say to 50% of our users. Is that an appropriate thing to track or is that tracking too much information? The same thing I said at lunch. Okay. Well, at least we have to spell it out. If we discuss it in a big group I think there's more consensus just on the two of us. So you have to, anything we do with the website accessibility is always in the back of our heads so we have to be able to any kind of new technology or old technology that we are not using now do we detract from the experience of the lowest common denominator user? So if the tracking cookie will not be loaded by a user who doesn't like JavaScript or who uses a, how do you call it, ad block or no script? No script. If they actually see all the content and they are not harmed in process then there's no real realistic reason to go against it. And for everyone else, if it brings a concrete enhancement that's okay. And this builds on the general ideas about what do we do about the website. For example, one of the examples I promulgated was that we need to have more RSS feeds and readers and to be able to integrate. For example, the web page on the official website about the Spark port should have an RSS feed from the Spark mailing list so as to integrate better these things. So, and if we do this with an iFrame we need to be able to know that does anyone still have a browser that doesn't support iFrames at all?  That would be a bad thing. So we shouldn't do that and we should instead do some other technical measure that accomplishes the same thing, but. Yeah, also like collecting information, statistical information about browsers. No more comments, questions on the whole topic. Paul. So the Debian Wiki publishes IP addresses of everyone who changes a page on the history. Yes. It's not that visible, but it's there. The other thing is that the Wiki has several statistic pages about which pages are the most popular and stuff like that, which pages are the most edited and all that sort of thing. I'm not sure of the URLs right now, but those pages are there. The other thing that I'm thinking about here is the publicity implications of this sort of a thing happening. I'm just imagining a slash dot headline. Debian starts tracking users or something like that. Well, in that case, we might really publish some privacy statement and hope that's a headline on slash dot is Debian publishes privacy statement. Yeah, my point is that we need to manage that release and make sure that it's positive rather than negative. That's our job. Wiki makes things easier and here too. The page history is clickably available directly from the same page. All of our changes to the main website are logged into a version control system that has a web front end. So basically we're doing already the same, as far as that privacy aspect, who did what, when and tracking those users, actually publicly tracking them and telling everyone when they edited the website and stuff. Wiki unobfuscates that process. Now it's hidden in a CVS repository so you have probably 15 clicks from the website, from the main site, but it's there. So it's kinda, you know, we shouldn't kid ourselves about this information really being private, but exposing it completely may not be really smart. And we're not even spoke about bugs, there'd be an arc yet. Bugs? I have my own small website where I look at the Apache logs, directly, they're small enough. And it's kind of interesting in the Google searches, it actually includes the search string. And it's interesting to find how people find my website searching for combinations of words that, yes, all of those words are on that page. I guess it does fit, but they're obviously not looking for me. Does anyone remember that? Yes. Dueling benjos. Yes. So, more comments. You were saying before that it might, you were saying something about the bug tracking system. I think it might be interesting to track which of the most popular bugs that people are finding and looking at the web page for. You want to comment on that? No? Yeah, oh sorry. But isn't the bug tracking system something where we should try to take the privacy even more serious? Because think of security related bugs. I'm thinking more general statistics of which is the most popular bug, not necessarily revealing who's looking at that page. Okay. The bug tracking system has an outstanding bug report for like 14 years now. Please hide my email address in the web search because there's a battle of priorities there to conflicting requests. One is the request from the social contract. We will not hide problems in any shape or form. We will allow people to comment. So they need to have access in some form to those email addresses. So you might as well publish them on the web but then it's also a huge privacy issue because an unsuspecting user uses our bug tracking system, reports a bug in good faith and then we give his email address to a flurry of spam bots that then abuse him for years and years to come. So that's really a use case where privacy issues are really huge and we don't have it fixed, you know. There's no fix really. I'm not really authoritative blarist here, the active member of that team but Baku and I was involved. The official line was there is no official line. We're not going to change the status quo because we were still disadvantageing the old users who had previously posted their email addresses to the bug tracking system and got abused and then the new users are spared but then again a spammer could just subscribe to DebianBugsDist at least Debianorg and then harvest all those emails anyway. So it's a multifaceted issue, so there is no real solution and a real hardcore privacy issue for actual users. Want to directly comment on that? Our current policy is that as we are publishing their email addresses, we frequently get requests for people, please remove this from the ear bug logs and the canned answer we have for that, I didn't write it but it's someone dead, is that it's already been published, it's already been distributed on multiple mailing lists, removing it from our website probably won't do any good and it does make responding to the user more difficult. And if we can't, if we cannot email, easily email the user and with a reply to their bug, it makes the bug fixing much more difficult. So it is a trade-off and some people are requesting simple obfuscation which some spammers won't be able to work around but most spammers will work around so easily that it's... Coming back to your statement earlier of we shouldn't change the status quo because it would disadvantage people who've already had, come on, we change things all the time, we make things better. Should we leave everything as bad as it is? No, we improve things. That's not an argument. Blar's argument was the retort to that question because the trade-off goes both ways. So if we obfuscate, we fix one problem but we create another problem, potentially just as disruptive to the development process. So if the users are harmed by the inability to talk to each other directly, then that's the problem again. Hi, for the... In general, well, sister there certainly is this trade-off between accessibility of contacting the people who submit bugs and the privacy of them and maybe their request not to be available to receive email. For the initial submitter though, we do have an alias submitter like bugs-submitter at the BTS. So it seems to me that at no loss of anything we could hide the initial submitter's email address and follow-ups. Well, we can email them back saying, well, maybe the page can just say, just so you know, your email address will be public and then people hopefully understand for the follow-ups. Calm down. I suppose we could set up email address redirects but then the submitter addresses are definitely getting spammed. It goes through our spam filters, obviously. But I think also we are losing a bit of track of the... Tracking? Tracking? Yeah. You've got to relay it. Nobody catches those bounces. Yeah. Unless something changed in the back end since I last looked seven or eight years ago. But nobody catches the bounces for NNN, their submitter at a bugs-debian work.  The mail server over there will not deliver that. So it's not perfect. There's a lot of overhead in this. I agree. This is now off-topic for website tracking. So I'll talk more about it later at all. Should have used a smaller room. Yeah, Dan? Oh, it's a really... Okay. So more about tracking and social issues about tracking. Not really. Then we close this up. I just want to point out that... Well, from my point of view, privacy statement is one issue and how you actually do the tracking or whether you do the tracking and whether you record IP addresses is another issue or how you do it. Actually, the different things are the implementation of doing it and the other thing is like how you make it public and how you present it to the public. What I wanted to say about the presenting it to the public is that there's a Mozilla approach to create some privacy icons, which are nice to... Can be nice. It's not really final yet, but they're trying to make some icons which will show user easily how data is collected and used on the site, which could be nice for Debian 2, I think. I can post a website URL on the copy in a minute. So, no more comments? Well, if I may go. Maybe I missed it, but I guess it makes sense to state it just to... From what I understand about the social issues, there seems to be a sort of consensus that as long as we don't surprise people by doing something that we don't say we do, we don't consider it controversial to start tracking users if we need it. Yeah. That seems to be a consensus and I think that's an important one. I mean, I have no problem with it and I was kind of happy to have it stated clearly. Yeah, and I think we are also mostly out of time, so I take that as a... If there's no... No, good. Final words. Yeah, well, just an idea, just thought. Um, we could... Well, obviously, we will have this kind of depth conf and announcement and something in the project news. So, would it be worse to summarize the idea that we might consider tracking users and, well, use that opportunity to ask our users if it's okay, if we also say we will anonymize... Well, you know what I mean. Anonymize. And just ask for their opinion. I think... Would it be worse, an idea? I think the idea is good and I think what will happen before we actually activate that or if we actually start that, there will be probably an email on Debian Project saying so, that we are doing so. Well, an awful thing, we need to take care that we don't end up in a slash dot with some negative views, but asking users might be a good idea, I think. Yeah, okay. Then I would say we've closed the discussion here and thanks for coming.


Hey guys, Chef Shaybeard here today. We're gonna be cooking steaks on this portable grill It is a disposable grill. It's already got the charcoal in it Let's check it out and see how it does Okay, guys, we're getting ready to take this outside and try it out says here Unwrapping place the charcoal grill on its wire stand You light the bag at all four corners using the flammable stick provided The solid fire starter included in the bag will easily and safely start your chart Charcoal grill without lighter fluid Then you wait 15 to 20 minutes or until the coals, you know to be White before cooking, you know, it's like you would any other thing It's designed to create an even cooking heat for about two hours. So that's cool We'll check that After cooking extinguished charcoal completely with water, sand or dirt Let's take this outside Let's give it a shot Let's open this up Now what I have found out is This is made and printed in in Canada, okay, Toronto Toronto, Ontario, Canada, okay And but it's sold by cam pro USA limited and It's got their post office box. They're out of Champlain, New York. Okay. They do have a phone number now There's there's no there's no I mean when I when I look up cam pro They're open right now. They close at 530, but when I went to their website I couldn't find anything like this on there. They sell tools and stuff But I didn't think to look at that that phone number match now I scan that code that barcode and when I scan the barcode Hold it up there. Maybe you can scan it and see what you think what you come up with But it it keeps taking me to some kind of Chinese writing stuff and it's real weird Like I said, there's there's there's no Website or anything on it. So I Don't know guys You know, this could be a very rare thing that I'm about to use But it says you can use it reuse this so or throw it away Okay, but it says to put it on the stand. Okay Let's see if I'm doing it right Okay The stand goes like this That's what it says to do so you set it up on its little stand there you open this up But it's kind of cool. There's the little grill It's pretty cool Now these are fire starters here Because you can break this into fours. So it's kind of windy out here, but This don't work guys. I got charcoal fluid in the house. It's kind of cool though. I don't know. That's pretty flimsy I don't know if that's gonna hold a steak or not I'm only putting two on there, but hey, we'll see right. We're gonna see if this lights up like it should I'll give it a couple minutes and I'll be back with you Okay, while the charcoal is getting ready. I Have had these marinating all day these two steaks here and this some Steak seasoning stuff here. Now. I also put my seasoning on it as well and what I've done is I've cut I don't know if you can see them, but I Made little slices in there. So that way the meat could soak up the The steak seasoning now what I'm going to do is I'm going to tenderize them just a little bit not a lot but just a little Just to give it a little extra something, you know so Let's go ahead and put those over here and Then as they are cooking I'm going to use the leftover sauce that's in there and baste them While it's cooking while they're cooking. Okay. Now.  We're gonna take these out and put them on the grill Here's the steaks that have been marinating all day. We're gonna put these on here For about two minutes Then we're going to turn them quarter turn For another minute or two, and then we're going to flip them and do the same thing Okay, as you can see it's been two minutes. I turned them a quarter turn now I'm going to baste these a little bit and in about one minute. I'm going to flip them Which it may be close to that right now When you flip them you never want to put them in the same spot if you can help All right, that's my timer So let's go ahead and flip these over So I'm going to kind of go. Oh, look at that Want to kind of go like that for two minutes And I'm going to turn them a quarter turn cook them for another one minute Then I'll check the internal temperature Okay, the timer just went off. I check these they're about 135 in the center Let's take them in the house. We're going to let them rest and we'll cut it into one see what it looks like Just give it one of these real quick And it helps here There's our steak Let's let them rest and check them out Let's try a couple dogs on here for a brand. They are plumping Okay, we've let them rest for about 10 minutes. Let's cut into one of these see what we got That's the way she liked hers I like mine medium rare.  Is it good? All right, and then we got Bruno there. You want to give him a bite of his hot one of these little hot dogs Yep Yep Very good. Got a lot of flavor in it. All right guys. It's another episode of chef Shea Bearer. So Hope you enjoyed that little grill. Sorry. I don't have any more information on it, but that's all I could find so Anyway, it did its job So we probably just used a $400,000 grill on anyway guys Yeah, so anyway it worked out great so I Won't say bye-bye for now. Thanks for watching and keep it cooking guys. It'll get more


Jeremy found a good one for us, huh, John? Yes, he did. While looking for an earlier version of main stage to download because the current version is so dreadful, I clicked on a wrong download button and it inadvertently allowed a virus onto my Mac. I got caught. Mostly advice points towards something like malware bites to find the offending in a room of it. But neither malware bites, clean my Mac or Onyx fail to identify and remove the malware. However, I can triumphantly announce that for any of those who are similarly infected, here's how you get rid of it, and it's stunningly simple. In Safari, go to the settings, then under the websites tab, scroll down and hit notifications. For me, the offending malware was sitting there. Bold as you like at the top of the list sporting a Mac OS system. Settings logo, but with no text next to it. Simply delete it. Problem solved. Okay, good one. Code.


I had the privilege of building the AWS CDK at Amazon. And as I said, you know, we weren't super intentional about creating the open source community around it. But in hindsight, I feel like we were able to distill some lessons. The first one, we called it build an open team. And what I mean by that is that you ideally want your core team to be the core of the open source community. So there's this continuous move between the core team and how they work and how they communicate and the tools that are using and the workflows that you're using and the open source collaborators and the community that's involved. And so for example, one thing that worked out really well for the CDK almost coincidentally and more intentionally in Winglang is that we have a distributed team. Like we have people from around the world within the core team from day one. And the fact that there's a distributed team forces us to use distributed team, distributed development methodologies, right? Like so we use GitHub and we use pull requests and we use RFCs and we use Slack and we use asynchronous communication. And those things really enable contributors to have equal opportunity to contribute, right? Like when a contributor submits a pull request, it's the same way, it's the same thing as a core member submitting a pull request. There's no difference in how we work with core members and with contributors. So that was, that's something that was very effective both in the CDK and this in Winglang right now. And again, I think those methodologies are also really good practices from a software engineering perspective. So it's well aligned in that sense. So that's one lesson. The second lesson was to be explicit about what do you expect? Publish design tenants, publish code of conduct, publish culture documents, right? Like what are the values that we have as a community? Publish expectations about how you want pull requests to look like, how you want issues to be created. And sometimes it's neglected to just be explicit about those things really helps elevate the bar on the quality of your open source project. And people really are looking, contributors are really looking for this information and it's really making it easier for them to contribute if they have that information when they come and contribute to the project. So that was the second lesson. The third lesson was about understanding why people come to contribute to open source projects. And it's actually not that trivial, to be honest. I think a lot of people are misunderstanding something. What's the motivation of someone spending some of their own time or private time contributing to open source? And what I've learned is that the primary reason people come to contribute to open source, the reward that they're looking for is the contribution. And that's not, it almost sounds weird, but people don't come to get swag, right? And they don't come to get fame, right? Like they come because they wanna contribute, they wanna learn, they wanna, it grows an engineer. And the more you understand that, the more you're able to give them what they want. Because for example, that could be, that's something that I've ran into a lot is like, when you get a pull request from a contributor, sometimes your initial reaction is like, oh my God, this person's actually contributed some time for my project. I'm just gonna prove this pull request and I'll fix all of the things later. Maybe I don't agree with some of those things, but I just wanna get that contribution and encourage this person to contribute. But I found that it's actually the opposite. Opposite in the sense that I found out that actually if I insist on quality and I send comments and I say, you know what, maybe this design needs to work, you need to work a little bit on that design or maybe add some more testing or document more what you're, like if you're actually insisting on higher quality bar for this pull request, then not only you'll get a pull request that's better and you're gonna keep your code quality high, you're gonna get a better contributor eventually. And contributors really, really appreciate you helping them improve their coding skills, right? Like because that's why they're there, they're here to learn and grow. And then obviously their next contribution is gonna be at a higher quality, right? And so you create these long-term relationships with contributors and you have to think about them this way and it really changes how everything, right? Like it changes the dynamic of the project. And last thing, it's gonna be short, I promise, is to lead with love and understand that people are people, are humans and they need to feel a sense of belonging and a sense of identity. And if you create that environment in your open source project, then you create strong communities. You create a foundation of people who really come from an emotional connection to the project and more than just from a functional connection.


Okay, what? Oh my god. What? Already? What? You started the video already. Hey everybody. Not yet. People are waiting. I'm sorry, she's not normally this nervous. Hello everybody, it's Nerdiversal back here with another video. Hold on, I'm controlling the camera. Okay. Okay. I'm gonna fight you so hard. You guys really want to support a man abuser. Okay, so for today's video we're gonna be recording a, or actually I have to speed paint recorded and then he's gonna voice over it thinking or explaining what I'm doing and I'm just gonna be there. She's gonna be judging me. I'm gonna be judging him so hard. So I hope you guys enjoy this Valentine's Day special and now we begin. So I don't know what to say.  I'm reading off here. Like, explain my process bro. We're starting with circles. We're gonna start with the mushroom hiding behind the circle. Very interesting start. I would, you know, I would do things my own way. Then we're gonna continue down to the paintbrush handle. One of those wide ones. And then we're gonna top that off with some lines. You know, that's what makes art lines. Let's build lines right there bro. Yeah, look at those. Oh my god, look at those lines. It's like she's professional. Professional liner. How long have you been doing these lines? Okay, okay, okay. I guess those lines run up to par. You know, not all lines are equal. But these stockings. Those are stockings. Those are legs. Yeah, they're legs. And you know, legs are amazing. Lines. I see your little bias towards your lines.  Wait, what? What? You know. I love the way you draw hair. You just, the little thing sticking out. Oh, I like, yeah, she has little hairs at the top. She just does her signature. Well, it's like you can do little eyelashes. Yeah. That's cute. They're tiny. I feel like that makes her look like she has mascara, you know. She does. They're very cute. Very cute. I want to see if she looks like color. But you know, you guys got to watch for that one. You'll find out next week on Dragon Ball Z. Next time on Dragon Ball Z. You know, well for now we'll keep you entertained with some ditties. Some, oh yeah. I ended up taking those out because that looked really suggestive. Those would have been, well. It would have been more Valentine's Day oriented, I think. It would have been suggestive. It's suggestive, but it would have been a good fit in my opinion. Does this remind you of Britain? Because it reminded me of Britain. I see Sweden. Sweden? What does the Swedish flag look like? You can pull it up right now. Thank you. Appreciate that. Do not say anything about the toes. Well, you know. Francisco? Alright, so what am I drawing now? I really don't know. I think you're putting on a scarf. You could be just making her a little bit wider. I'm the artist. I don't know what a body looks like. I only see my own. You know. Oh, what is this? That's like a nap that does that? Yeah, yeah. So it's like a program that allows me to move the doll so I can position correctly. Oh my god. So I forgot to take the sound down on that part, but by the time you guys see it, it'll be edited out. No, there was a squirrel in my room. There was a whole squirrel, huh? It was fighting the germ one. Dude, like the squirrels at your college? I like the colors you're using. Pink and black. Those are really cute. Thank you. I tried. I can only imagine how cute the hearts would be with the pink. Oh, that would have been nice. And then it would have matched the undies. Oh my gosh. What are those? You know, sometimes you just got to take risks and draw better toes. But you know. What am I doing now? As you know, somebody who's really good at art once said to me, you can always improve. Oh, yeah. I talked to the same person today. Yeah. He's kind of famous. Well known among my college campus. He's a guy that we used to go to high school together. And he's like really good at drawing. But I don't have any examples of his art because... Yeah, he's racist now. What? He's not. No way. He's not racist. No, he's not. Oh my God. How could you incriminate such a sweet man like that? It's pretty funny to say he's racist. Why? Because I love accusing people of things. I know you ate my food last night. Me ate your food? I wasn't here last night. Yeah, okay, buddy. What am I doing to her? Okay, so you're shading the stuffs? Yeah. My art teacher told me there's always... There's one thing you need to care about when making 3D objects. And that's the three values that make an object shaded. So for you, you have the dark black, the medium gray, and then the light, light, light, light. Yeah, so is that like... Why do I do the darks and the lights? To emphasize the depth of the wrinkles. Yes. And then what is always better to start with? Your darks and go to light or lights and go to dark? Well, you know. I went to community college. I'm going to college and professionally what I've learned is as long as you start with one and then lean towards the other half. Really? Yeah, as long as you. I've always been told that you're supposed to start with the lights and then work your way darker. But I think that's just... I'm using oil paints. That it doesn't matter. Because for oil paints, it just depends on how much pressure you put on the paint. Oil paints? I want to use that. How much pressure you put on the paint and how much white you use. Okay, the video's over. Goodbye, buddy. I want to see the finished project. I want to give my critique. Okay, hold on. Okay, nice pink background to match the undies. Is that a scarf? It's like a robe. So she has a nice half poncho. I like it. Yeah, half poncho is actually a pretty good description. I like the half poncho, especially in this rainy weather. Thank you. And she just has nice blue eyes. Okay, can I rate it? Yeah. Out of 10. So if you look at the entire keyboard, this one, I give it all of the letters and numbers out of all of the keys. Bro. I'm just making more work for you so you have to edit. Bro. Thank you. Ciao, everyone.


Okay, so back a little bit to text processing. We're going to speak about lexical semantics a little bit. I could take the risk and say it's the hottest topic now in terms of what NLB tasks you perform, because it's a task that interacts very well with the new trends in machine learning and deep learning. So let's flesh it out a little bit from the beginning. So what is it about, this is a work by James Pusteljopski. I think it's very nice to start a presentation on semantics. What is it about the presentation of a lexical item that gives rise to certain extensions and to the phenomenon of logical policy? So what is there behind meaning of words, the interaction between these meanings and how as researchers in NLB are we going or are developing systems that account for these phenomena? So lexical semantics is about understanding the units of meaning of the language, not necessarily words but also compounds, phrases and fixes. So you need that you may want to encode language as. And in NLB we have gone a very long way from the original formal logic way of representing semantics into path-based and now distribution of semantics, which is what we are going to talk a little bit about now. It also intersects with relational semantics, so when you are evaluating a system that identifies the meaning of a word, intrinsically you are also putting that word in context with the other words in your vocabulary. And the intuition of distribution of semantics is based on an assumption that we only believe it holds, which is that you should know a word by the company it keeps. So, and this is a classic example, right? So I don't know if anybody here knows what the one thing on the map is. No, no. But if I put the word in context, maybe it can bring a bit. So here is the one thing with the substance passing around and we also have some. So I'm pretty sure now most of you already have a broad idea of what this is. But actually if I take the word one thing back and I say that we found a little here in one thing back sleeping behind the tree, now the meaning that you are assigning to that word has probably changed quite a bit. So in fact, one thing that doesn't exist is a made up word by Magdalen and Branstad quite a bit quite a long ago. And we use this to illustrate how much we rely on context to understand the meaning of words. And this is the distribution of hypotheses. Words that appear in similar context exhibit similar semantics. So with this assumption, this assumption is what has given a rise to all the work on continuous version of representations and word embeddings because of the following. So in distribution of semantics, as I said at the beginning, you would traditionally compute word, context, concurrency, matrices, and you take a word and I look for context. I define what a context is for me and I encode these occurrences for isolating words with potentially occurring context. The problem with this is that you have to use a very long vocabulary because the vocabulary is not in the language, it's very long. If you encode one dimension third word in the vocabulary, you are inferring the varsity and also when you are building a concurrence matrix and you are encoding the context, the word context concurrence, for example for dogs, you are not implicitly missing a lot of information from cats or other animals because you are looking at explicit appearances of the word and its context. So this has changed with the predictive model, so instead of counting, predicting words by a context. This small change made the representation of text specters very similar to other type of media or other type of data whose nature kind of fell. Kind of forces you to encode any real value dense vectors like audio or images. By predicting words using the context, when you are modeling the vector of a cat, you are also extracting inherent characteristics of other types of other words that shares in that context. And this is a projection, these artificializations from word to bed vectors are very famous algorithms for building word embeddings. And they come from the TensorFlow website tutorial on word embeddings, highly recommended. And as you can see, because the context of the embeddings are similar, there are certain semantic properties that emerge in your data, even if you don't have to define them in a category. So in the first main female relation appears on the left, so you see that the vector difference between king and queen is very similar to the man and woman, or other relations like the verb tense or country capital, you name it. And I think that the coolest thing about this is that you're not telling the model to learn, this is emerging from your data. So as long as you have enough data, you may be able to see stuff in how people write that you may not have thought about earlier. And how this translates into code, well, everybody that does data science with text at some point has imported gems in, because it has a Python implementation of the original word to bed algorithm. And so, okay, let's go back into lexical semantics. So in semantics, you have a system that needs to learn the meaning of words, and how do you evaluate that? So there are different tasks for evaluating how well a system knows how to assign meaning to words, right? So this can be, for example, done in the TOEFL test, in the English test, where you have synonym equations and destructors. So as a student, you go and you're given an English test, and you say, this is a synonym, this is a synonym of this, and these two are not synonyms. So a system, a distributional semantic system, is traditionally evaluated on the same exams. Also, this semantic data sets, pair of words, look for hyperlinks. So tell me which of these pairs of words are, are types of. So any cat, animal, cat, hover. So I mean, my system needs to say, first one, it calls an essay relation, but the second one is unrelated. And also analogy, and there are data sets where you have to kind of solve the equation of a, b, a is to b, as c is to x, where x is what your algorithm has to discover. And with word of evidence, this was a lot of the news, because it was very cool to see that, oh, if you could say, if you take the vector of man, of the vector of king, and subtract the vector of man, and then add the vector of woman, then you, the closest, the nearest neighbor to that resulting vector is queen. So you can actually solve analogy tasks in a supervised way. This means that you don't need training data. And for, and it's also very simple to, to, to exploit it, you can see it's one line of code. And this, this one answers the analogy question. Man is to king, as woman is to queen. So this is everybody, more or less, who works in, and we have seen this a few months. So how does this translate into music information retrieval? Without any supervision, you can play with your data to look for representative instruments. And this is, the examples I'm going to give you now are by querying a model, which is already pre-trained in the World War II web page, trained on Google, on, I think, one million Google news web documents. But it's not music specific. And it's, so it's, it's generic. So if you want to solve handy, this is to the cards, most of this to x, the nearest neighbors to that, to that, the, that first piano is accordion. So it's kind of, it's, it's kind of nice. You can look for associated music genres. For example, another thing that came up to mind. So I really, it says it's to both ascend this presently, it's to the output, it was country and ready the first two. No, country, road and then ready. Of course, ready doesn't make any sense, but at least it's a music genre. So there is some kind of semantic property that is being preserved. So in the, in the website of the, of the tutorial, you can download a work of a model trained only on music, only on music texts with more than 16,000 groups, biographies, last 10 days and some five documents. And yeah, so now there's a lot of work, there has been a lot of work, especially since 2014, so for the last few years or so, in how to enhance these, these word environments models, how to make them more sensitive, how to make them semantic, and also how to make them domain-specific, sensitive. And this is one of the examples. Because we were working with already, with, with information that was already in the music domain, musical entities were already tokenized. So Meet Jagger is not the vector of, it's not the central of the vector of, of Meet and the vector of Jagger, but it's actually one single entity, so it has its own vector, so it's easier to explore the data you have. So it's more of the same thing. So John Lennon used to be those as Meet Jagger, he was involved in Stones, or something a little bit more convoluted, I would say. They did that as dance of a CC docus to jazz rock. So with music, music data, you can actually query these things. Another thing that I found very nice is that if you take the central of the vector group and see, but, but if the nearest neighbor was another, another team-floating member, I thought that was very cool. And also the, the closest to it involved is, is by this Meet, so it seems to make sense. Of course, I'm giving you the juiciest examples.  But yeah, it's a matter of exploring your data and see, again, this is unsupervised. You are not pre-labeling anything and you are seeing what kind of regularities are emerging in your data by doing this. So, so for the cases where it doesn't work, do you think it's a problem of the, of the model or of the lack of, lack of data? Well, first it's a problem of lack of experimentation by our side because it's worth to try all different parameters that the work of the algorithm has. So you can play with the window or with the context window. You can, you can, it has, it's not quite single algorithm. So you have continued power force as you have a model. Then whether you want to use negative something, so you want to actually give a lot of relevance to negative cases and introduce artificial negative, negative cases and we haven't done this. So, this would be, if you ask me, the first thing to do is play more with the model, with that data. And of course, in data science, get more data and it's probably better. Okay, so what things can you do using this kind of, in the using domain? This is something that I've been working on, which is doing worse than disambiguation and entity linking, but instead of using other shared tools, attempting distance, using vectors. So let's say, for example, you have a following sentence. The influence of sisters of mercy became evident in later poetry. Sisters of mercy could be, they're not going strong, but it could also be the sermanitas de la ganita, the religious order. So, and here, at first glance, I don't have too much information about which of them I should choose other than poetry. And even maybe there was a lot of cultural and literary production from the sisters of mercy. The thing is that, at least I have one five-fold word that I can use to attempt the disambiguation of that entity. And we have done, so we have not published anything on how well disambiguation works using vectors as opposed to other shared tools for entity linking, but they are always being part of longer pipelines. But we were very happy with the end results, so implicitly I would say it's at least worth trying. We used, for this last sentence, which are mapped to pavement. So you already know that pavement is a large semantic network where you have concepts from wordnet, like hoe, shoe, or summer, and named entities like mid-jaguar, the Beatles, Barcelona, the club metro station, you name it, whatever you have in the media. Now, these vectors, which were presented specifically when you sent some bed, it was presented in ACM 2015. And the beauty of these vectors is that you have, for example, the vector of bank. We have as closest neighbors things like financial finance, money, transactions, things related to the sense of financial institution, but also river, nature, water, also vectors, which are related to the river bank sense. So in this model, since they are disambiguated vectors, the clusters are very clearly separated between the two senses. So we use these to perform a disambiguation strategy, which is the following. You take your two candidates and you assume that the closest, the closest two senses in the vector space from all the available senses associated to each appearance, that would be sisters of mercy and poetry, that would be the most likely disambiguation, the most likely senses for those. This intuition may work, for example, in relation to strategy. If you have Neil Armstrong one to the France, Armstrong may be the saxophonist, maybe the cyclist, or maybe some other guy, the thing is that, but to the France, which vector of to the France is going to be, which sense of answer is going to be closer to to the France, the one with the sport sense. So this was more of our intuition. So you keep the two vectors from each set that maximizes the cosciety of them and you keep the two of them that are the closest. This translate has to go as this.  I'm not as adventurous as him, so I'm not using any notebook. You have to trust me, this works. So you get the most senses, then you get the poetry senses, and then you go close the senses, and if your intuition is okay, then you expect the disambiguation to be correct. And I tried this yesterday, but the sense, the Babelnet ID, this ID here, you can actually go to Babelnet.org and check it out. It was actually the result that we were expecting. So we had the sense of sisters of mercy as the international cause. So we thought this was a very nice application of using word embeddings for disambiguation, and since we are speaking about music, you can always disambiguate against the music sense. So, let's see the semantics. What's the password in NLP? Again, you can see it interacts very well with the word embeddings. It's not a fashion anymore, it's a word embeddings scenario. And because it models the semantics and classes neural approaches, it's clear to know how well we're developing our research. In fact, it was kind of a joke, but it was very illustrative. EMNP is a very strong conference in NLP. It's got a theoretical methods and non-language processing, but I read a blog post about it. I attended the set of the inside, and I'm joking, this whole word that the EMNP now stands for embedding instead of the musical. So you can see that this is already, this is clearly something that everybody is willing to work in. Because it's giving very good results on pretty much every task, combining deep learning. And these are the references.


coffee and crayons for adults and it's really just a relaxation class that we offered for adults to come and relax, enjoy coffee and hot tea and snacks and just stress-free coloring. I guess the reason the main reason why we started it is we have a lot of women who come here looking for crafts and things to do and in a meeting place really just a meeting place to to gather and enjoy conversation and so that was the main reason why we brought this to the library.