 Hackathon Showcase! Yay! So here what we're doing is presenting lightning talk style presentations of what was accomplished at the Hackathon. Just a little bit of details about what happened at the Hackathon for anyone that wasn't there. We had 200 participants. We had a 24-hour hacking room throughout Wikimania. We had 26 breakout sessions alongside the hacking. We had a mentoring program. We had a skillshare program. We had a volunteering program where actually 62% of the participants signed up in advance to help with volunteering roles related to the logistics. And then of course everyone else is volunteering as well but just logistically that was pretty cool. And then we also had some tasks for non-technical participants. So here in the showcase, Sebran will explain a little bit about how it will work and we're looking forward to it being awesome. Okay well welcome please find a seat. My first request is that all of the presenters try and be in this area in the etherpad. We have lined up about 15 maximum three-minute presentations for you. Presenters will have a clock here visible that will count down and I think there's some special light effects with green, yellow and red lights. So yeah make it really long if you want to see the red light I guess. In between the sessions we're going to change presenters and there's often going to be like a laptop change so that might give you some time to digest whatever you heard in the three minutes before that. The laptop change is a part of your three minutes time to the presenters. Presenters also please be aware that there's some non-technical audience here and yeah whatever you're explaining should be understandable or also for me for example. The sessions are recorded. Are there any presenters that don't want to be videotaped? Yeah okay then yours will be last. Please contact Rachel and we'll stop the video recording before you go on stage. Jack Jan, you're first. We were plugging. What's the cable? What do you need? HMI. We've had that before. Thank you. There we go. Let's see. Does it come up? Okay seems a bit shaky. Let's try it. I'm holding that and I don't have Where are we? Okay so we've, you might be familiar with coordinates in Wikipedia pages. We have them often here in the corner as well in the info box. When you click them you go here, pardon me, or you go back and you, stupid thing, oh well, or you have this like nice pop up over here so you actually have a map within the page. On Wikipedia, on the mobile website we don't actually have this. You go here and then you need to find the coordinates which is a very complicated process. If I can do it at all, where is it? Oh there we are, look. So useful and then you get this page, so nice. So what I was working on is to integrate some of the maps work that we've been doing in the past and I've integrated this into the mobile website so there's now a button here and if you click it you get this. Fancy. And the same within the info box as well actually, so a lot harder to show. And this feature is available now on the side. Is that correct? It is available now if I turn it on like just after I get on stage, yes. Next, next person. Cool, thank you. Next one is Kunal Mehta who worked together with two other people on the screenshots in the installer. Okay, hello. When you want to install MediaWiki, this is the screen you see. It tells you what version of MediaWiki you're installing and then gives you a link to an installer. Then you end up at a page here. It asks you like where your language is and stuff and then asks you a bunch of questions and eventually you end up at a page that looks like this and asks you like whether you want an open Wiki, blah, blah, blah, what license you want, some email stuff and then you come down here to Skins, okay. And if you've never used MediaWiki before or even if you're not like an experienced MediaWiki person, you'll see these words like monobook and vector and you'll be totally confused as what they mean and it's asking you which one you want the default to be. So with some work with myself, Izara and Bartosz, we added functionality to an installer that it now includes screenshots of each skin. So if you want to know what modern looks like, you can, there's just a demo page which shows like an example page and some public domain images. So this can be distributed and for skins that are fully responsive like Timeless, there can be multiple screenshots and I think the fourth one is the mobile view. Yeah. And so it shows like what the mobile view is and so there are different screenshots for like every resolution it supports. Yeah. And this is hopefully going to be like the first step for including more information about skins and extension in the installer. So like some next steps will be descriptions or like other things or some other information that we have about the extension metadata like license and stuff. And then I have one other demo that I didn't tell Sebran about that I wanted to show. Do I still have time? Which version of MediaWiki will the installer screenshots be enabled? The next one which is 1.30. Okay. So like many of us, when developing MediaWiki code, we use this tool called Code Sniffer and Code Sniffer, what it does is it goes through like your PHP code and it applies some like different rules and stuff just to make sure the syntax is valid and it catches some common errors or like in PHP there are like a few functions that can do the same exact thing but the function is called two different things. So you know we picked one function name and then it enforces that and also like it's for a lot of the common errors, it can fix the code so that way for like newcomers to MediaWiki you know they can just run the fixed code and it'll automatically apply the style. So at the hackathon we made one big improvement to it. It's now called Goat Sniffer. Thank you. Wonderful. Okay. The third presentation is by Ron Katow on push notifications for Echo. All right. So let me get my mouse cursor over to the other side. Here we go. So in MediaWiki we have notifications that will tell you when certain things happen like when people thank you for your edits or respond to you or do various things and we have our own notification system and it's kind of tied into email but there's not a super convenient way for you to get notifications in close to real time. So I decided to fulfill an old request and implement push notifications using the web push API for notifications. So this adds a column here to the preferences and you can decide which types of notification you want to get push notifications for and then when someone for example hold on I'll have to show you what I'm doing before I do it. I'm just going to mirror my displays real quick. This is fine. So then when someone reverts your edit say then you should receive once this goes through my computer is a bit slow you will receive a notification from your browser over here which will tell you that your edit was reverted and who did it etc. Furthermore if you know someone adds a thing to your talk page I'm yelling at myself I'm allowed then you'll get a notification and there's a link to the user page of the person who just hated on you and there's a link to the changes as well and you can click all these links they're the same as in the notification and they'll open a new tab in your browser. So we'll have to do a bit more work before this is actually production ready because it uses a library that is terrible and has hundreds of dependencies and we need to figure out a way for you to turn this off again once you've opted into it because that would be nice and to manage multiple subscriptions because you can also use this on your phone and it'll show you notifications through the browser app in your phone as well and it's so you can have multiple devices that you receive notifications on you can have multiple browsers on different computers so you need to be able to manage your subscriptions and unsubscribe again and all that and I haven't built any of that yet but there's a proof of concept and it works pretty well. Thank you Rowan. Next is Katie Horn. So this is obviously not code or a project that is finished and that is because if I were to show you how far we got it would just be a big fancy stack trace and you've either seen enough of those already this weekend or don't know what they are so the general idea that we are trying to get to with plantdata.io which is not represented there the first wild idea is hey you have a sensor you can put it out somewhere you have a piece of land or a balcony or something and you want to grow a plant and you don't know anything about plants so what plant should you get well maybe we can plug some environmental data into wiki data or something like wiki data and get a list back of things that will work with whatever you have kind of cool. At some point along the line we decided that you know maybe this data should not go into wiki data itself we really should have our own instance of wiki base that would handle all of these things so we could sort of have all the properties that we care about we could have cultivars that are like a little more detailed than they want to get right now but do it in such a way that if wiki data ever decides they want what we have we could import it fairly easily so far so good uh we spent the last well since wednesday um erica buna and myself uh basically looking for documentation on how to do any of these things that probably doesn't exist yet because yeah it's it's sort of a new thing to try so yeah uh oh darn it well you saw it anyway uh but we are going to continue to push on this we've learned an awful lot about how all of these systems go together and i think we're still very optimistic about being able to get something for the next hackathon so stay tuned thanks thank you rachel my laptop i kind of didn't know who was next we have jarl also known as pavel uh with a polish uh last name i think yeah that i cannot pronounce never mind yeah um yeah so a quick story why it's sharing uh why how can i duplicate my screen actually with this oh i need to drag it oh that's so bad okay that's you want me to help you yes yes okay preferences display preferences and you enable okay the limiters you enable the mirror oh that's so good yes perfect okay so quick story behind well what i've done during the hackathon so for this year uh wikilev's monuments will collaborate with flicker um so the flicker community is doing something called flicker photo walks and uh because uh well we want to help them a little uh i've created some basic applications basic application for finding the monuments that that they can photograph and then upload to flicker and we will take care of uh taking pictures from flicker to wikimedia comments so we can like share the same goal so what we can do is um share and uh search for any city where the event is and we will have a map of with lists of monuments and dots on the map that corresponds with the numbers uh on the map so uh if they want to like take them up with them they can simply click uh print and they will share they will say they will have like the printable version of the lists of monuments so they can they can basically have the pdf that they can like take with them or print this so that's it next we have uh isara with the timeless skin here you go yeah so we deployed the timeless skin to media wiki dot org and to test wikis which makes this the first volunteer developed skin to be deployed on wikimedia production possibly ever i don't even know how the others originally were because uh well vector was like in 2009 okay mono book in 2004 was the previous one so yeah this is the skin and it it works in mobile and stuff so it this is fairly low resolution but can you zoom out yes so it actually it fills the space if there's more space and it gets a lot it collapses if you have less space yeah thank you next we have mario as far as i can tell hdy2 yes i'll apologize in advance i talked a lot so i lost my voice so that means it was awesome though uh hang on okay all right so that is not good wait well that's we're gonna stick to that you can see anything all right so i'm starting out with this uh you don't really need to understand what's going on here but uh what i was working on is um there's a concept online related to the gender gap that we keep on talking about the gender gap and that the fact that we don't have a lot of articles about women and that we need to keep on working on those but there's another concept of the gender gap that sometimes we work on articles about women or men um and the way that we write about them is different so what i've been working on is called the concept replacer um and it's on a user script right now um so what it does is you go to any article on wikipedia and you can just decide to switch the concept so if i click this now uh and it will demo work there we go so now i'm reading about a man instead of reading about a woman and what that does psychologically is that we can start reading and if it if it feels like something is a little weird then maybe the article is not neutral for example for Ada Lovelace we can see that in the first paragraph we're reading about um you know chiefly known for his work on Charles Babbage's proposed mechanical general purpose la la la and that's the first sentence and i would look at it and i was like that doesn't usually read as a guy putting up you know the work of his wife on the first sentence i wonder if Charles Babbage uh is you know has his wife on the first sentence as the answer as you can expect is no uh in fact Ada Lovelace is like way way down in that page for Charles Babbage so that um that is a good way to kind of like look and see and you know that there is um some things that maybe are not entirely neutral uh you can do this so any article the fun thing about this tool is that you can also do this outside of Wikipedia um you know there's a wiki how article about how to treat girls and women that can show you how it might not be very um i don't know uh neutral uh if you translate it to boys and men um and there's uh there's a whole bunch of those kind of concepts online how does a girl show respects to a boy i mean when it's read read in its original form it looks so innocent and then when you switch it it's not so hopefully um this can help us kind of read articles and see if um we need to maybe be more neutral in our writing thanks when when you expect this to be come available so next steps i was going to say i need to clean up the code because as you know hackathons is you know dirty code i need to clean it up i need to make sure that it works and then hopefully it will be a user script you can pull from my um account or a gadget if you want it thank you mario um for the next presentation i have to declare a conflict of interest um i was involved in it um it's neat uh that's that's all i can say it's about the codification and this is a big and fish let's go i think this needs improvement oh no oh my god what a terrible mistake but but now comes improvement can someone please create a fab task for this uh right in you know goats are the new cats cats right uh sorry that's why now this is our plan yes we will see the improvement to that uh okay that's a lot of things yeah forgot what you just saw okay good afternoon good afternoon forget about the cats because goats are new cats as you might have noticed in the last two days because we were quite have been quite active and now we want to show you what you can gain from that so that's a awesome logo of the codification movement i i can call it the movement not now i think um made by brian davis um everywhere you see it you can notice okay this is part of the codification movement of course we are um software developer and tech people so we have a workboard and fabricator go check it out and let's go to um every great movement needs a goat of arms obviously so that's our goat of arms and also for use on wiki we have an awesome barn star with the logo in it by cameron 11598 we also have a twitter account um so source codes that's that's the one you should look like um we have uh i think we even have more followers now so it's it's uh up the sins two days so um it's really it's really a thing and the first tweet bergit said let there be goats and lo there were goats and bergit saw and it was goat so we did many other things like drawing extraordinary nice goat images and collecting them and also you know wiki love we will we also love goats very soon coming next week you already saw the goat sniffer so but this is when you hug a logo you can very soon detect when you go and use huggle yeah thanks add goat for that um also we have a conspiracy going on but there is no conspiracy goats goats are not evil goats are the good ones and um mark oca bloom did a nice give animated give that's really awesome more of it more of it goat for that goat for that yeah um so we also uh developed a plan for the goat movement strategy 2027 because 2027 is the year of the goat um it's a long way to goat but you know it go to be great thank you so so everybody is up to speed now on the goatification project right this was the big thing um c scott is next um on uh jason ld and image annotation um he introduced it to me as i have nothing to say because this is a back and back end thing um i still i managed to convince him that it would be interesting to uh tell you something about it yeah you didn't tell me i'd be following the goats though so i'll uh i'll uh preface this by saying uh this is yeah back end back end i've got no well i i told t brand i had no pretty pictures to show and so you're after a presentation which is like nothing but pretty pictures um let's see give me one second here um while you're fixing that lana we're looking for lana on the visual categories please report with rachel oh boy well uh that might work that doesn't look quite right but sure let's pretend you can see it it's a tiny tiny window of my screen but i've got good eyes um okay so um so the goal there's an extension that um uh mark homequist wrote as part of the multimedia team for file annotations or image annotations um and the idea is to actually do semantic markup of images so not just uh this is an image of of ducal sadans but like wiki data affide this region of the image is an image of wiki data item q 42 which can be then translated in all sorts of languages and wiki data has a whole set of really interesting properties uh you can you know describe which region of this image is an image of a gravestone or an image of a location or um or a gargoyle on a larger image or whatever whatever you want so um proper credit to uh to mark for getting uh for getting that off the ground um i went to an image uh an annotations conference uh a a couple months ago well i can't see where that went um uh and we're just gonna rent oh gosh um well uh so i'll just say uh so this is a i got an interaction designer from npr to uh contribute a really nice ui for like how this should work in the ideal case and he outlined a whole bunch of improvements to uh the existing image uh what's a ui what what's a ui uh user experience user interface um so a number of things about uh you know it's really tiny right but here's an image of a city and you're annotating regions on it and then you uh uh you click to add a new annotation and it gives you this beautiful wiki data fired drop-down box where you can select the specific thing that you're looking for and then the next one which is way too small for you to see uh lets you select a particular wiki data uh property to associate with that um so that's all that's all really cool um here's uh sort of what it looks like in practice on my current uh test wiki um so i can add an annotation and say that this region of this image is uh douglas adams and so here what i would really like to do is start typing douglas adams and have it associate with the wiki data stuff but that's as far as i got during the hackathon and getting wiki data installed beat me um but um yeah so you know if it was wiki data this is q42 is douglas adams and you can look and see all the interesting prop there there's some properties already about image and there's even a grave uh stone image link in here um and the the really invisible part which is what i spent most of my time on there's this huge long w3z standard for what the jason for a proper image annotation thing should look like and so i packed the patch the back end of wiki data to make it output beautiful jason ld so that in some future form uh future life once the actual front end gets beautiful and working we will be w3c compliant in our image annotations um uh yeah there you go beautiful that part i can't show you though thank you scott i'll say uh that's the part that works and that's the part i can't show you uh we're also looking for the um erron rose uh on mw wiki base get best statements uh we found him okay yes next is um ad johnston i'm ed johnston and the other people who worked on this were uh user wbm 10 58 and uh bartos that is matt marex is the person who did all the actual coding work there he is in the orange thank you and uh the complaint was originally open back in 2013 and uh it managed to get closed during this hackathon by a fortuitous uh coincidence of several people who all knew about it who were willing to work on it all at the same time and uh it appears to be about uh the special pages special permalink and special diff and the underlying issue is really uh not enough room in edit summaries and so you can stuff more characters into an edit summary if you can somehow compress the message that you were trying to give and if the original message you're trying to give happened to involve a pointer to a piece of code or to a notice board discussion then it would naturally be a diff so who is going to stuff all 150 characters or whatever of a diff into their edit summary to explain what it is that they just did well most people won't be able to do that however if you manage to compress what you're trying to say by let's see there doesn't seem to be a oh there it is okay if you if if what you're trying to say happens to be easily representable by a diff you can provide an invocation of special diff right in the summary and you can actually pipe it to something else like a few meaningful words and let me show you an example of that actually being done here's uh here's uh let's see all right in the move log you will perhaps if you happen to look in my move log from 26 July you'll see that i did the daring step of promoting this article from small letters to capital letters obviously a very important improvement and then the word requested is underlined and well in a google doc clicking on requested won't do anything and the actual log you can click on requested and it will expand out into a actual page of the requested move uh technical requests page where this request was entered by jacks 0677 so in this case the improvement is rather trivial because that's just the single word capitalization is entered as the reason for doing the move but you can imagine with a complex thing or it could be even a summary for why so and so ought to be blocked indefinitely and so clicking on a single word in the log will take you directly to the rationale and should you be an administrator trying to look into the record of somebody who's alleged to have misbehaved but you're not really sure why and three years ago some administrator that's not around anymore did something if they happens to have put into the log this reference to the actual discussion it could be very helpful and in terms of the mechanics of doing this there's rather a long story but the special permanent link and special diff are very valuable and now they're somewhat appropriately documented and the improvement to wiki p the English wikipedia is supposed to be in there in about two weeks so thanks by tosh thank you next is erin hellfaker um or his thresholds i think you're you have a link here somewhere go ahead all right uh so i'm going to demonstrate something that's uh not very visual i'm going to try and use closed source software to open a bunch of things and yeah i figured it out there we go all right so this is this is really actually a demo that's targeted uh primarily at ron and the collaboration team but before i say anything i got to tell you that i worked with uh justin do on this project excellent uh contributor very happy to see him here worked with him at the uh vn a hackathon too and so regretfully he had to take off for his flight um so we worked on ours uh or is this something that you might have heard about um uh it's a machine learning service one of the things that i'm really excited about with or's is doing better at reporting how our models work and how people can use our models from a machine readable perspective so if you're building a tool that uses or's and you're using it to say catch vandalism you know what sort of operational concerns you're interacting with when you set a certain threshold so or is currently this is actually the the production version of or's right now if you would like to set a particular threshold look at that that's cute jason um then you would go to uh the particular endpoint for that model so for example the damaging model and you can ask it for some uh model information uh and it will report a giant block of content and so uh one thing that uh we we've had to sort of resort to doing was putting lots of these statistics called filter rate at recall and uh setting different values there's also uh recall at precision and there's just a bunch of these test statistics each one of these represents some threshold optimization of making sure that you know a set your threshold here for or's confidence and it'll have these sort of operational concerns the collaboration team kept coming to me over and over again can you add another threshold can you add another threshold and the answer is I was yes but after a while we realized there's got to be a better way to do this and so that better way to do this now actually works so here's a nice cute little experimental version of or's same sort of thing just a different um oops just a different uh server that it's running from we're just about ready to deploy this it's uh it's a really big change but I'm gonna pull up uh practically the same endpoint here damaging and I'm gonna ask for model information um but what you won't see in this list well what you will see is actually there's a lot more information in here um you can dig into the machine that was actually built on there's a lot more information about the parameters that the model was constructed but then when you look at statistics you won't see any of those threshold optimization things it's just like the basic statistics of the classifier these fprs and match rates and pra ucs and precisions there's no notion of these optimizations and so I imagine this is probably making the collaboration team a little bit nervous because they need these things um so what we implemented is you can actually dig into the model information in a much more nuanced way let's say I just want to know about the environment cool that's all I have output we can do the environment and actually I just want to know the machine that was built on okay we've got that but I actually want to know something about the statistics and I want to dig into the thresholds and I would like to make a true prediction and I would like the maximum recall and precision oops at precision greater than or equal to 0.9 and we'll get a big error and I will check what I did wrong oh I forgot a space and there we go you can set any arbitrary optimization that you like what do you think Rowan all right thanks thank you we have a few more presentations there's a person with the name Braveheart can you please report to Rachel you have VGA okay you don't have HDMI okay so what's happened yeah I'm run I worked on improving the wiki data usage tracking a woman helped me so I will show the one sub task that I worked on so basically now that we are using more wiki data we want to track the changes in wiki data and so we open the watch list and enable wiki data and enable wiki data in the watch list what we see now in the watch list is many many changes from wiki data that are not really not really relevant to the page to the page so we want to improve the the user tracking of wiki data so only statements that are actually used in the page will be shown in the recent changes in the work and in the watch list so this is the database this is a query on the data on the production database of wikipedia and as you can see here uh this is the the tracking of wiki data usage most of the usages are something it's it's unknown x we don't know what is actually used in the page so whatever is changing the wiki data item is shown in the recent changes and we want to track only the specific lines that are used uh so there is a new change in the wiki base uh in evaluation that you can now it now tracks specific properties so for example if we use property number two uh it knows uh the database knows that in this page a only property two is relevant so i added a new way lua interface of wiki base get best statements where you give it entity and a property and property and you can use specific statement without loading the whole entity uh this will will allow us to later on track only properties that are actually used in the article uh that's that's it about the specific the specific a sub task it's a part of a more a more general task of improving the tracking usage and you can follow this a fabricator task to see more changes that we hopefully will get soon thank you thank you and now we have wiki data hind by uh uh yeah sorry wiki daheim muscle memory hdmi here it is i think i put it here somewhere okay hi my name is philip kipetski um next to me is simon legna we're both from austria and over the last few months we've been working on a project um that's all show in a moment so we have all these lists on on wikipedia about like natural monuments and this is like the the natural uh like the natural natural monuments and also monuments and this is the monuments list of house that which is a world hedges site and we thought like this is a bit of a difficult way to um display this information to especially to newcomers because it's it's a wiki table and wiki tables are notoriously difficult to to edit so we thought we would um build a new platform that can aggregate all the states and display it in an interesting way so um that is wiki daheim so and you can now put in a name or the name of a village like kalstadt for example and then you get um a list of older monuments all the nature in there uh all the public art and also some common infrastructure in their village um yeah and then you can also like filter certain images can also um filter nature and other things um yeah uh that's the that's a feature itself um or the website itself and for this hackathon we've done some improvements which um uh simon will now present so besides the national uh list of monuments one part of austria namely tyrol also publishes a uh a separate catalog on mostly public art some of it is also part of the official monuments and um we would also like to uh get wikipedia to take photos of those additional objects and for that we included this called kunst katasta to the platform in during the hackathon so um what we added is this link to the kunst katasta where people where uh dialogue opens with and access to the kunst katasta and then people get the a list of uh like all objects in this catalog uh they click on an item here paste based the link back to the the form and then it can open the upload wizard so why have we done this so complicated the reason is that the the list isn't uh uh public data or something similar so we had to do this uh detour via like asking people to open it and we did some additional improvements on colors and and some spacing and so on thank you and when can people use this immediately or yeah so it has been online since uh the end of july so what if you come to austria and um you want to see what you can take pictures of or write obstacles about and you can use the website to to get the information great thank you thank you uh next we have sage ross on program and events dashboard improvements uh hello uh i'm sage kathry and i'm a current google summer of coden turn uh working under the amazing mentorship of sage ross uh i work on the programs and events dashboard it's basically the outreach dashboard uh for uh easing the progress tracking of the wikimedia program programs including uh the uh which include the editing wikipedia so uh okay sorry it's been um so few days back i was uh working on making the dashboard mobile friendly and um so i there's this component sidebar react component called or react burger menu and um so i was working on integrating it with the dashboard to make it mobile friendly um so this is the current version of the wiki du dashboard and uh during the i had some progress on the dashboard but during the hackathon i made the final changes uh so this is how it is uh it looks currently and so it works on chrome and firefox but there are few changes to be made to make it work on safari so i also worked on checking uh what was actually failing and so i have figured out uh that there are a few css um clashes which are happening between our css and the react burger menu css um that's about it i so i have to yet work on making it accessible on safari but so yeah that that's my work thank you so this is a change i asked to wiki application team because i must track uh an event so i must know uh not only uh the revision uh made by a username but also made uh related to the articles they are assigned to them to them so uh for this we made another module uh it's available here i must uh join the program how can i change you said it so uh uh first was uh uh an articles was uh where uh a number a major number because it keeps portrays about uh all the revisions of the username then we put another another program and another module name article scoped program uh and uh change the option on the combo box uh we ma we change on on this new model and we track on the uh the the result related to this uh uh articles it's important because in this uh case uh the result of our real results are related only uh for this event and is it is important uh uh when uh someone ask for a grant because it it can use as uh metrics so for us it's very important and it's a work in progress because the next step is to uh trace the retentions so if people stays on the articles if people uh continue to change continue to discuss about these articles and so it's everything available thank you thank you thank you sage okay um then we have for this uh yeah with the commons android android app got fixed hdmi yeah can you please start the clock okay so right now uh when a user took a photo inside the commons app the and the upload for some reason failed uh the the photo that the user took would be forever lost so uh what I did uh was uh add the option in the settings for the user to use the external storage and when taking uh photos from inside the app uh saving them on the phone's memory so when the user was uh reaches the screen um uh the photo would be already uh saved on the internal internal uh storage space and the if the upload failed the user could try again or uh they might like to use the picture for some other reason thank you thank you okay don't we