All right, so I'm going to talk to you about using P-SQL to watch Star Wars. Now P-SQL, that's the client, terminal-based client for Postgres, and Star Wars is a movie that I'm sure some of you like, and maybe some of you don't care for at all, to put me sort of in between those two extremes, I can tell you that I don't know the name of any of the bounty hunters except for Boba Fett, but I do know that Salacious Crumb is that gesture for Jabba, so you can sort of place me there. Real brief, my name's Will, I've done Postgres as a services for seven years now, first at Veroku and now at Citus. The slides here, and the code for the slides are up here on my GitHub, and the flight I came from San Francisco, and I only mentioned that because the flight was long enough that I decided to do it all as a program. You can see my commit messages are very useful, it makes up for my shaz. Okay, so the actual work here that you're gonna see is actually done over many, many years by this guy, Simon Jansen, who does AsciiMation.co.nz, and what it looks like is he actually has gone through most of Star Wars Episode 4 and turned it into, by hand, the sort of Ascii version, and so we're gonna put that into Postgres, you know, because of Postgres. So the first step is to get all that data, but unfortunately, you can't just curl it down from his site because it requires that you use compression because it's a lot of text data for the slides. That's no problem though, we can, we learned everything about compression in yesterday's talk, and so we can just say with curl, hey, give me something in Gzip, we can unzip it and then store it in site.html, and it is about two megabits of this guy who has gone through and done all this. Here's what it actually looks like. The first 30, 34 lines is just standard HTML and JavaScript, and then it gets a little crazy, and this line 34 is where most of that two megabytes is. It is just, he has this custom format where it's a number followed by 13 new lines followed by another number, and the number is how many times to repeat that frame, and this is sort of like a home-built compression thing, so he doesn't have to copy and paste the same frame if it's going to stay there for pretty long. And also my very advanced slide presentation software, I can do syntax settings there, so that's pretty nice. Okay, so we're going to put it in the Postgres, and the table here is not that complicated. We have a column called I, which is just an auto-incrementing thing to say what slide or what frame we're on, the number of times count to repeat that frame, and then the actual frame as new text. Okay, now we get to do an extract transform load job, so we're going to read that site into memory. We're going to find the one that happens to start with var film. Now, this is a little bit similar to the tofu not tofu problem from last, from yesterday, but a little bit different. There's something somewhere in that string that is just not parsable by, it's not UTF-8 compliant, and so we're just going to bulldoze through that and replace anything we don't understand with an empty string, because that's probably good enough. Also, since it was designed to be a JavaScript string, all of the single quotes are escaped, so we're going to go through and replace the escape character with a regular quote, and we're going to chop off the first part that says var film and the last part that was turning it into new lines, and we ourselves are going to split by new lines. And then we're going to put that into groups of 14, and so that way we have the first one in the group of 14 being how many times to repeat it, and then the other ones being the actual frame data. And now it's time to put it into Postgres. I really love the SQL libraries, we're going to use that. We're going to go through each of the things. The first one, again, is the count, and the rest of it is going to be the actual frame data. We're going to turn the count into an integer, and then we're going to rejoin the frames with new lines and then shove it into the database. And now we're almost there. There's still a couple more spots left. There's a lot of boilerplate here, don't worry about it, it's not that important, but basically we want to make a function inside Postgres that can sleep for the appropriate amount of time and then show the frame. And so Postgres comes with something called PG sleep, which does just that, it sleeps, and we can pass in like a speed thing, you know, some number between zero and one to say how fast we should sleep. And we want to look at the previous frame for how long to do it. And then we just look at our current, our current little counter there and show the frame associated with that. But how do we keep track of the counter? How do we know what frame that we're on? Postgres sequences. Now when you create a normal table that has an auto incrementing column, what Postgres is actually doing is creating a sequence and using that to keep track of the current number. But you can use a sequence for anything you want. It doesn't have to be attached to a table. For example, for a little while, the hit counter on my website, I used a Postgres sequence, and it was just a sequence by itself. And so we can create a new sequence here called counter, we can increment it, it goes up, it goes up, it goes up. You can set it to any number you want, and then it'll start counting from there. These are some of the things you can do with Postgres sequences. Okay, so are we done now? We have that go function that can show us a frame and wait for the appropriate amount of time. And we have our way to keep track of the frame. So we can say go, we can hit up and enter, say go again, up and enter, say go again, and we can slowly watch the movie. But there has to be a better way. And that is backslash watch. This is my favorite feature in Postgres. It was added in Postgres 9.3. It works like this. So we can see here this is the current time. I hit up and enter, that's the current time. But if I want to, you know, have it go, it can do backslash watch, and it'll just keep rerunning that last command over and over again. This is useful for a clock in case you don't have one on your computer. It's useful for, it's useful, you know, really it's useful if you're trying to watch something change, you can do a nice little select and have that go. I've also used it for inserting dummy data. Had something that inserted a bunch of rows, but just had that go over and over again with watch in case one of them erred out, the whole thing doesn't get erred out. But the reason I really like watch is because I think it might be one of the best contributions in the history of computer science. I've heard it argued. A little bit about Postgres. They don't use GitHub. They use an old style where you mail in patches to the mailing list. And see, this was added in 2013. And while Tom Lane was the person who committed the code, what's nice about Postgres is not only they list the authors at the end, but they also list anyone who happened to review the code because often reviewing Postgres features is a lot of work in and of itself. So, we have all the pieces. Let's watch some Star Wars. So I'm just going to turn off a couple things in Postgres that makes for a bad movie. We can select go, and here's a frame, here's a frame. Let's do watch with a short time out. And here we are, we're watching some Star Wars. This is not my favorite scene though, so we can advance a little bit and we can reset the counter to be, let's say, 2100 and watch and go. And we can see here, there's the Death Star. And so this is a perfect way, if you're tired of doing some work, you can pretend like you're doing some work and watch some Star Wars. And that is what I have for the talk here. Thank you very much. The code's there. And thank you.


Over the last decade, the Freeride World Tour has established itself as the world's most prestigious big mountain skiing and snowboarding competition. The first stop of this year's Freeride World Tour was in Hakuba, Japan where the snow is usually so deep you need a snorkel. But this year, the legendary Japan was in short supply, leaving low tide conditions on the lower mountain, but still good snow for a Freeride competition in the high alpine. The cosy town of Hakuba, with its 9,000 citizens, is one of Japan's most famous ski resorts. It's located in the Nagano Prefecture, surrounded by nearly 3,000m high mountains and is famous for its snow quality and powder. This year's venue, slash playground, was the mountain Kuzurezawa, the perfect location for the first stop of the Freeride World Tour. Next, the tour went to Kicking Horse. This famous resort sits just above the bustling town of Golden in British Columbia and is known as the Champagne Powder Capital of Canada. About 3,500 residents live here and the average annual snowfall at the Alpine Kicking Horse Mountain Resort is 650cm. This year, the ozone-facing Kicking Horse offered two different starting points for the riders to choose from. The third stop of the 2020 Freeride World Tour took the riders to Ordino Arcalis in the Pyrenees, known as the most remote ski resort in Andorra with a summit elevation of 2,625m. The town of Ordino has a history stretching back to the 9th century and today it has a population of just over 5,000 people. Andorra is a landlocked sovereign microstate deep in the mountain range of the Pyrenees. These huge rocky summits on the natural border between France and Spain, with peaks reaching nearly 3,500m, the face was at Quince Metros, a short, fast descent demanding precision from the riders to link together features. The last stop of the 2023 Freeride World Tour was Fieberbrunn in Austria. It's located in the Austrian district of Tirol in the middle of the Pilleci Valley, near the famous town of Kitzbühler and right in the middle of the Kitzbühler Alps. The main event and also the rerun of the snowboard men's event from Andorra took place on the Vildsiloda mountain. For Jacqueline Passo, the new season didn't start that well. In Japan she had an uncharacteristic crash right at the beginning of her run and had to settle for 8th place. Things started improving for her in kicking horse. She didn't make it into the top 3 but a solid run secured her 5th place on the ozone. Like her husband at Rene Bakrid, it would appear that Jacqui is only getting better with age. In Andorra she sent it off the top lip and linked it straight into the second drop. Then on the big cliff band in the middle of the face she sent it. It was another clean run for the American in Audino Arcalis and her first podium of the season. She was building momentum, she'd been threatening retirement at the end of 2019 but the big mountain specialist had skied fearlessly and she backed it up with another big line in Fieberbrunn 2nd place for Jacqui Passo in Austria and 3rd in the overall rankings. Hedwig Vessel, the mogul skier who competed in the Winter Olympics in Sochi, has transitioned seamlessly into free ride skiing. In Japan Vessel opened up with a very solid cliff at the top of the face and then stomped one of the biggest backflips of the season, forcing the judges to reward her with a big score and 1st place in Hakuba. In Canada all eyes were on the Norwegian in the women's ski category but it wasn't to be for Vessel in kicking horse, a crash saw her slump to 10th. In Andorra she was looking to make amends for her disappointment, again we were treated to an impressive backflip. She tracked down the face with a couple of conservative drops making sure she was clean and consistent. In a very strong field she was rewarded again with 1st place. In Fieberbrunn light kicking horse it did not go well for Vessel, a crash on the upper part of the face saw her end the Tyrol event in 11th but her efforts were enough for 2nd place overall. Let's get to know the reigning world champion in the women's ski category, Arianna Tricomo. My approach to the season, I don't go out with a plan, you know when I ski I don't tell myself today I'm gonna drop cliffs, I just go out and usually I just improve because I'm having fun without even realizing and I see an improvement from winter to winter so I just guess I stay with the fun and see what happens. It's so crazy when I think I'm double world champ, like when I think about it I still I can't, I don't realize you know what it means. So winning the last 2 years has been of course amazing and it broke me so far and just opened up so many doors so I'd be forever thankful to the world tour for doing that to me. One is like telling me oh yeah get the triple, get the triple. I'd love to, I mean I can't lie it'd be awesome to get the triple, I do my best, I might try to send it a little more because I know I could and I don't want to get stuck on thinking about judging and points too much but just enjoy myself and progress as a skier and as a person. Expectations were high for the double reigning world champion but she kicked off the season in Hakuba with some very tidy and stylish skiing showcasing her trademark 360 in the middle of the face it was good enough for second. In Canada her confidence was again proved by her relaxed skiing she threw another 360 and that would in the end prove to be the different for the Italian claiming another second place. In the Pyrenees Tricomi was carrying an ankle injury but on the face she looked as stylish and as solid as ever. Her line choice wasn't as aggressive as usual and she got bucked slightly trying to shut down speed for one hit which could have seen her docked points so she had to settle for sixth place. In Fiberbrunn Ariana was under an immense amount of pressure but she didn't hesitate taking on the household cliff at the top and then making her way out to the left hand side onto this wind lip where again we saw that trademark 360. In the lower face she sent a huge drop to the finish it was first place for Tricomi in Fiberbrunn and first place in the overall rankings. Inarguably the hardest fought category this year women's ski Tricomi is three-time world champion in second place the Norwegian head Vig Wessel and the American Jackie Passo in third. Before we look at the top three in the men's ski competition let's have a chat with the 2018 world champion. I am Christopher Judo. I spent my winters travelling America, Japan and Europe skiing with my best friends and competing. The main thing is just to stay healthy through all the travels you know you survive jet lag, upper skis and get lost in Tokyo, carry over ski bags all over the world and eat healthy so if you manage to catch a cold or hang over on the wrong day you want ski as good so you have to like take care of yourself and have good timing try to keep everything simple and keep your routine so you can just focus on your comp run. I mean learning the face and watching it in your redoc class because you're not allowed to go into the VNU at all before you run it's like it's a huge part of the sport and people often don't realise that that we are not actually able to ski or be in the face before so the more time and the more you know and being able to turn that around in your head and experience it and visualise it because I think it's super important for safety and being able to put down a good run. It's impossible to pinpoint who is going to be on the podium because there is at least half the field could win the comp it feels like it comes down to who is having a good day who is feeling having the best feeling and good timing as well in picking a line that works that day. Andrew Pollard was rookie of the year with a fourth place finish overall in 2019. He opened his account in Japan with a fast solid run he stomped some sizeable cliffs in Hakuba and was rewarded with a fourth place. Pollard had proved he'd picked up in 2020 where he left off in 2019 now he needed to back that up and launched his first cliff in kicking horse and then showed the rest of the face a clean set of heels third place in Canada. Pollard then opened up in Andorra with a stylish 360 and doubled into a drop to stay consistent and claimed sixth position but it wasn't to be for Pollard in Feverbrunn. Another strong 360 and two huge jumps but it would only be enough for ninth place on the Vilsiloda for the American. Still his consistency meant he took third place in the overall rankings. Turdell was not in good shape in Japan he opened with a nice cliff drop but his 360 had a sketchy landing it was 12th place for the Swede. After that disappointing start in Hakuba Turdell didn't hesitate in kicking horse and threw a huge backflip over this ridge. He was then able to control the speed and cut back into another cliff before sending the line into one of the most technical zones on the face and taking on one of the biggest cliffs in the zone. He lined it up perfectly there could be absolutely no doubt in the judges mind who would take the win in the men's ski category.  From there he kept his foot flat to the floor blasting an amazing backflip then rather than take the skiers right hand line he headed further to the left opted for another backflip. His efforts were rewarded with third place in Ordino Arcalis. It wasn't to be Turdell's day in the Tirol although he started fast and solid he ended up getting caught up in some shrubbery. It was a costly mistake which would see him finish in 17th place but due to the cancellation of the Verbier event Turdell found himself on the podium second place overall for the Swede. Isaac Freeland showed two huge drops in Hakuba. The rookie then backed that up with a solid 360. It was enough for fifth place. In kicking horse Freeland opened up with another solid cliff followed by a stylish 360 a fast run but only good enough for 11th. The Californian who plies his trade in Ulta, Utah hadn't yet unveiled his freestyle repertoire until this switch misty straight into a mute grab. He then backed up that stunning top section with a very fast midsection, a strong run from Freeland and a statement of intent worth second place in Andorra. Freeland had proved his freestyle credentials. Fiberbrunn would be a completely different test though he's now the turn of his big mountain skills. He opened with the 360 and redirected instantly off the household cliff. Then he controlled his speed perfectly on the traverse managing another 360 off the wind lip. He then hit the gas as if he hadn't already. Claiming second place in Fiberbrunn and the Freeride World Tour Championship for 2020. So Freeland in first, the Swede Turdell in second, Pollard in third and a trio of young Kiwis waiting to leave their mark in fourth to sixth. Montana raised but currently residing in Oregon. Erica Vikander aka the Viking was very strong in her Hakuba run. She used strong edge control in variable snow conditions to really shine and took third place. In kicking horse, Vikander opted for start number one. A half cab off the top cornice was a brilliant way to PK the judge's attention. She then laid out some huge turns in the middle of the face, leaving a massive vapor trail like an F-15 fighter jet. Canada offered another third place. Unfortunately, Andorra was not to be for the Viking. After two third places, she had to settle for fourth place in the Pyrenees despite a very technical line. In Austria, Vikander used her trademark style and got stuck into some big turns. She even flashed out a method and then followed that up with a front side air into some of the deepest snow on the face. It was another solid run and third place in Austria also secured third place in the overall ranking. Australian rookie, Michaela Davis-Meyen, knew that some of the big guns were out for 2020, so it was her chance to leave her mark at her first ever Freeride World Tour event. She started strong in Japan with a solid run and was rewarded with second place in Hakuba. In Canada, it was disappointment for Davis-Meyen, fifth place, but it only served to fire her up for Andorra. In Audino Arkeles, the slope-style rider turned freerider, went into her line and popped straight off a rock which really impressed the judges and turned heads amongst the spectators. Some solid turns are all the way down into the finish and the judges rewarded the rookie with first place. In Fieberbrunn, the Australian got stuck into one of the most exposed areas of the Vildsi loader. Her line score was maxed out after blasting through the steepest section of the face and a beautiful method off this drop, second in Fieberbrunn and second overall. Raining world champion Marion Hayati got a perfect score of 10,000 from last year's tour. In Hakuba, she opened once again with fast, solid riding all the way down, confident grabs and good flow, all trademarks of Hayati's riding. The judges rewarding her with first place. It's no understatement to say that Marion Hayati is in a class of her own in the women's snowboard category. In Canada, she took on three big features on the ozone face and left the rest of the field in awake. Another first place for Hayati. In Audino Marcalis, she started her run in a very strong position, taking on one of the steepest and most exposed areas of the face. But from here, you could say it wasn't the same aggressive run that we're used to seeing from the French woman. The first chink we saw in Harama, she had to settle for third. In the Tirol, she was back to winning ways and she set out of the gate aggressively and didn't hesitate in airing the most critical section of the face. She then controlled her speed in what was a master class in free ride snowboarding. Hayati then found a monster step down yet another solid run and yet another title. World champion in 2020 for Marion Hayati. So confirmation of the results, Hayati again dominates the field to be crown world champion, followed by Michaela Davis-Meyen and Erica Vicander. There has been some truly incredible riding during this year's free ride world tour, so let's take a closer look at some of the best POV footage. Yeah, see at the bottom, man, have fun. Do your thing, stay on your feet, and shall we have a beer at the bottom? Excuse me, could you make our way? Could you make our way? That's my kickoff. Switch under flip off the top. Let's now hear from Sammy Lubke, one of the veterans on tour. My name is Sammy Lubke. I've been on the tour for now. It's my eighth year. Yeah, I've had ups and downs. I've had a few years getting close to reaching the title and then three years straight of winning it. And kind of the last couple years have just been just having fun. What's kept me coming back for more is probably just the excitement. People we compete with are like friends, family, you know, like so coming back to see them and traveling to all these places, but still exciting competing against like such young, hungry kids these days. So I guess that kind of keeps you going. Sammy opened in Hukubo with a packed top section and floated into the mid part of the face where his board control came to the fore. Working his way across the big spine into a front-tide 360 and then looked for a transfer with this stale fish grab. Unfortunately, a big ice ball in the landing proved to be as undoing it was fourth place in Japan. Sammy Lubke is one of the most experienced snowboarders on the Freeride World Tour. He knew this kicking horse face better than most. With a very clean run, he earned himself second place. In the rerun of Andorra, which took place in Fibrebrunn, Lubke opened with a sweet backside 360. He then linked that with a frontside 360 further down the face before he headed into the forest.  Lubke was then able to make a men's in Austria. This run was bookended by a beautiful start on the household cliff and one of the biggest heirs of the day to finish. Victor Deleroux is part of a very impressive snowboarding dynasty, but he's set about making his own legacy. The 2019 World Champion at the first time of asking, set himself up in Japan with a huge hit at the top. They managed to hold on to that, but it put him offline and he was forced to improvise on the lower section of the face. But he was still good enough for first. In kicking horse, Victor opened his run with a beautiful backside 360. He then tore into the face with some beautiful lines, making his way down onto a smaller cliff at the bottom. Third place for Victor Deleroux in Canada. In the rerun of the Andorra event, Victor took fifth place and did open with a stylish 360, but he lost his edge and took a tumble further down the face with the benefit of hindsight. Could be the mistake that cost him the title. Victor just couldn't find his mojo on the Vilsiloda face that day. In fever run, he had some decent drops, but by his standards, it was a conservative run. Eighth place for Deleroux, which would seem slipped to second in the overall rankings. American Nils Minnick blew up on the freestyle scene with his brother Hans in 2012. Since then, he's steadily been building his backcountry credentials and he proved them capably on the face here in Hakuba. A beautiful backside 360 in the middle of the face, followed by a couple of technical drops and second place for the rookie in Japan. In kicking horse, Minnick showed a fast and solid run, but couldn't impress the judges. Instead, he had to settle for sixth place in Canada. In the rerunning of the Andorra Snowboard Men's Contest in Feverbrunn, Nils Minnick opened up with a beautiful frontside 360. That was then backed up with a rotation in the opposite direction and backside 360, slight backseat landing. But he put a full stop on the run with this huge backside air to finish and finally Minnick claimed his maiden victory on the Freeride World Tour. There is no doubt that the Vildsi loader face seems to lend itself to Minnick's style of riding, because he looked so comfortable. In the Feverbrunn event proper, he opened up with another frontside 360. We then got into some big mountain turns, but it was this, a shifty late backside 180 that really defined his run. Road switch, then another frontside 360. A very, very impressive day for Nils Minnick. Two wins and first overall in the rankings. So those two wins in one day secured Nils Minnick, the overall title in 2020. Victor De La Rue in second and the veteran Sammy Lubke in third. The Freeride World Tour 2020 was a huge success, although everybody missed the last stop in Verbiade. But this just increases the anticipation for next season. Stay tuned when the best freeriders in the world take on the Freeride World Tour in 2021.


analytics team. Not working? Now? Hi everybody. This is a tech talk on mostly an overview of the analytics infrastructure that Wikimedia uses to process data. It's mostly going to talk about sort of like a few different technologies and kind of how we plan and have had this set up and we'll have it set up in the future. A little bit about some history, where we came from, etc. and how to use it. So data sources that Wikimedia analysts need to access in order to do an analysis on the data include mostly, as far as I know, media wiki databases and web request logs. The databases are great.  People use them all the time to do a lot of analysis. The web request logs are a very large data set. These are a, you can't see the slides? Okay. Nuriya just posted, or somebody just posted, not sure the slides are being shared. Like shared? I can post the slide back. I think I can post it to the public handle. Okay. If it's not there. Okay. Should I continue or should I wait? You can continue. So basically, we need to select the window with the slides. I think now everybody is still looking, seeing the slides. Okay. Oh, because my mic is selecting, I see, my window. Probably. Because I'm using this mic. Right. So web request log. So this is a log for every single HTTP request that hits a Wikimedia foundation website, which is a lot. You can see there that it maxes sometimes at over 200,000 requests a second.  It's very appropriate for this time of the talk because that was during the World Cup final. We had a huge spike right there. Historically, web request logs have been collected via a piece of custom software that the foundation wrote called UDPTLOG. This software actually works fairly well, but it doesn't scale very well. As Wikimedia has grown, there have been many cases when these UDPTLOG demons that are running out there on servers collecting all the web request logs, they drop packets or people will change the configuration slightly for a new use case to collect different types of data, and things just won't work. One of the big problems of this scaling in the way the system is designed is that every single instance that's collecting this data has to process every message. Every packet of all this data has to come through each box's network interface and then be processed. It's also UDP, so it's unreliable traffic delivery over the network. So it's hard to tell necessarily whether or not all the data is making it through. The stats at Wikimedia.org is many of the, probably most of the stats that are on there are actually generated from this UDPTLOG data. There's lots of page view data in there. Ericssaka has worked a long time on getting this up and it's been around for a while, but the data that's there is generated from UDPTLOG collected data. That data is sampled via UDPTLOG. One of the hard parts is that it's because there's so much traffic, we don't have the storage space or the capacity to actually process unsampled logs, and for a lot of statistics that's fine, but for smaller Wikis and for other statistics that require unsampled data, this doesn't work well. It kind of limits us on the types of analysis that we can do. So we would like to have a system in which all web request logs are saved for easy and fast analysis. That's what we're trying to go for here. So I'm going to describe sort of the Analyst Cluster as it is. So we use Hadoop for batch processing of logs. I'll explain sort of what that is to those of you who don't know. And our current direction is that we're using mostly Hive to make it easier for analysts to get at this data inside of Hadoop.  There's a lot of buzzwords. There's actually a lot more than this. I kind of limited a few on here, but I'm actually going to talk about each one of the words on this little cloud here. So this diagram will pop up a few times. I'll try to describe each bit of it. First, we'll talk about Hadoop. So Hadoop is really just two parts. It kind of refers to a whole ecosystem of software frameworks that allow for distributed analysis of data. But the main two pieces of it are a distributed file system. So you have a bunch of nodes and there's a file system that's mapped on top of all the nodes. So it looks like one file system even though it's distributed across the network. And a framework for doing computation on that distributed file system. So the idea is that you write code and rather than putting all the data in one place and the code works on one node and processes the data, the code is farmed out to the locations of the nodes where the data lives. So you write a job and the system knows where the data that you want a query is and it sends out the code and runs whatever analysis the code is supposed to do on the data and then brings you back the results. So in this diagram over here, this little bit over here is the Hadoop cluster that we're talking about here. We just got a bunch of new hardware. It was actually installed last week and as of Friday and or yesterday kind of like coming back online with a later version of the software. We currently have 22 data nodes with about 770 terabytes of storage and a total of almost a terabyte of memory across the whole cluster. Which is great! A lot more storage capacity which will allow us to keep data for longer and do more analysis. So a hypothetical question that maybe some analysis wants to answer might be how to get the top referrals for a particular article. The great way to do that is with Hive. So we use Hive to map SQL like tables onto the web across data in Hadoop. So that allows people to write SQL queries that then get translated into MapReduce jobs. MapReduce is a framework that runs in Hadoop to do distributed queries or distributed analysis. So it's a really handy interface. So this looks like any SQL that you might see if you're writing a MySQL query or any type of SQL in general. There are some limitations to what Hive can do here and there but for the most part a lot of the simpler use cases are supported. So this is a query that Oliver actually wrote. I found it on a WikiTech page that he made to compile a bunch of useful queries that he was writing. And you can see that this query will do what we're trying to do, how to get the top referrals for a particular article. So this article is looking at the London article on English Wikipedia and collecting the top referrals there. Counting them. What's cool about this is this actually lets you run SQL on top of text data. So the log data that we're importing is JSON and there's configuration that tells Hive how to read the JSON into a particular format so that you can write SQL and query it. This middle part of the cluster here is called Kafka. This is what we're using as our UDP to log replacement. So we want a system if we have all this data inside of Hadoop we also want to be sure that it gets there reliably and in a timely manner. So here's a bunch of buzzwords about Kafka. Kafka is a reliable, performant, PubSub, distributed log buffer. So there's a bunch of brokers and they act as peers and the front-end cache servers which we'll talk about in a second all know how to talk to these brokers and send their data to them. What's nice is that they all the Kafka broker nodes talk amongst themselves to figure out who needs to get what data. It's very horizontally scalable. You can just add more brokers to it and remove them. And so far it's working really great for us. So yeah we've got four brokers up right now, approximately 80 producers. The producers that we're talking about here are the varnish front-end cache servers. So these are all the servers that actually get the web requests from the internet. So a web request comes in from the internet, produces data to Kafka and then it's stored in Kafka for a while for us to send to HDFS. The stream of data that we're sending is maxes at around 200,000 messages per second, which amounts to about 30 megabytes a second. We're consuming this data out of Kafka into HDFS about every 10 minutes. And that data is then available for querying at about once an hour via this other piece of software called Camu. So that's just a little piece on here because it's really just a, it's just a job that runs on Hadoop. It's a piece of software written by LinkedIn to consume from Kafka from in a distributed fashion and write the data to HDFS. All it does is just launch, it tells Hadoop to run this code and knows where Kafka is and knows what data you're supposed to read out of Kafka and then writes it to HDFS. The most convenient part about it is that it will, it's configurable so that you can tell it to inspect custom content based time data in the data you're importing. So we can tell all the jobs that are importing into Kafka to look at the data as it's being imported and see what the request timestamp is actually in the message. So that will allow us to store the data in proper bucketed directories based on the actual contents timestamp and not the timestamp when the job runs. One of the disadvantages of the UDP Deluxe System that we've been using is that logs just come in whenever they come in and they're archived and rotated via log rotate. So a lot of times, especially on the borders of a rotate, there will be some data that is from the file will be named, like the example that I have here in the slide, the file will be named July 15th at midnight, but we'll actually have data from a different hour or something if it's rotated hourly. And that's great because then we can be sure that if people are running queries or looking at this data, all they have to do is make sure that they specify a particular directory and they will be sure to have all of the data for that particular hour. So if someone's trying to query based on hour, then their counts are going to be correct. Another buzz word that was up there before is Uzi. I'm going to kind of just kind of the next couple slides just go through them a little bit fast because you can ask questions more afterwards about how they work. Uzi is just a Hadoop job scheduler. Similar, we could use Kron for this, but one of the nice things about Uzi is that it will allow us to launch jobs based on existence of data rather than the current time that's passing by. So in Kron, you can say like, oh, I'm going to run something every hour and it will just go. In Uzi, you can say like, hey, check for this data set to exist and then launch all this like this like complicated workflow jobs that will like do things like we want to do like aggregate and anonymize or geocode or whatever it is we want to do. We can all trigger that based on once one of these Camu jobs finishes importing all the data for a particular hour. Hue will be a nice thing when all of it actually works really well. Like I said, they recently reinstalled the whole cluster and there's a new version of Hue and it's been pretty good, but I haven't had time to play with it since it's been reinstalled. But it's just a web GUI for interacting with all these technologies. It's got a Hive query interface. You can build Uzi jobs in it.  You can browse the HGFS file system. It's got a lot of features and there's a lot of add-ons you can add to it too. We envision this to be a way that analysts and others can interact with Hadoop and Hive in an easy web interface, but the command line interface is available as well. That's the whole cluster there. I think I got to every part of it. I just wanted to point out we're importing the data with Camu into the cluster, but on the right side of this diagram you can see there's all these sort of like loopy back arrows there with things like geocoding and sanitizing and page views. These are all envisions to be batch jobs that work on the data once it's in HGFS. The plan is to collect all this raw data from the varnish front and caches via the Kafka cluster and have it in HGFS for only a short period of time. This would be the raw logs as it comes from the varnish cluster. We would keep maybe 30 to 60 days, something about that depending on how much space it takes. Then probably every hour there would be more regular jobs that would take that data and transform it into a format that is a little bit safer for people just to get at, so with personally identifiable information removed. I'm sure there will be some pretty regular aggregations that we'll do. Aside from just ad hoc analyst queries we'll standardize some aggregations of data and store it in HGFS as well. We'd then also like to export the smaller aggregated data sets into something that's a little bit more easy to get to, so whether or not that's MySQL or Redis or whatever is sort of like something to think about down the line. It would be really nice if the Wikimetrics project could also access some of this. If we stored some of the aggregated data sets in a MySQL database somewhere that Wikimetrics could access then there would be a really nice way for people to associate some of the cohorts that people are using Wikimetrics for with page view and readership data. Right, so all of these technologies are actually pretty thoroughly puppetized. They work easily in labs and in vagrant. The labs actually, I'm not going to go over that right now because it's a little bit more complicated because if you've used labs before there's the managed instances pane and you can check boxes and have certain boxes applied and that all works but the actual boxes aren't out there for any project. They only work in the analytics project right now. So while making the slide deck I put a little to-do on there for me to make that easier kind of like get the puppet groups formalized and the full managed instances interface. But for vagrant, all you have to do is enable a role. It's good to have extra RAM. I've tried to limit the amount of memory that these processes need in vagrant but it's still good to have a little bit of extra. So I'm not going to go through these full instructions right now. They're in the analytics role class in the vagrant puppet code if you want to look it up. But all you have to do is up the RAM, enable the analytics role and provision your instance and they should all come up. You should have Hive and Hadoop and Uzi and Q, all the stuff available to you on a vagrant instance. I'd like to put it to-do on here as well for myself to make some of that a little bit better so that a sample web request table, the stuff that I just kind of went over is also populated. Right now that's not the case. You'd have to sort of figure out that on your own right now. But it'd be nice if there was a table there for you. And I expect a lot of questions so the talk is a little bit short but that's the end of my slide back there. So I know that was very fast but yeah, questions. So how are we as a developer or product owner or a manager, how can I expect to get access to all this data that's being stored and processed in Hadoop? Depends on which of the data you're speaking of. Most of the data that I've been talking about here are the Hive tables that will be mapped on top of the raw web request logs. Eventually we would like that data a little bit more restricted and maybe only accessible by ops people but I think that there would be more sanitized data sets that would be more accessible. In the short term and in the long term we would like Stat1002 to be used to access this data. So there will be Hadoop and Hive clients on that machine and you can access the cluster and run Hive queries via there. That in conjunction with the heweb interface that I mentioned before, those would be the two ways. If you want to get access now, the way to do it would be to submit an RT request and get approved. Just like shell access to anything else in the cluster, you can just submit a request and get approved. So is Stat1002? Now that should be used to access this data. And note that when you're doing that, when you actually log into Stat1002 it's very similar to the reason why you would use one of these stat boxes to connect to one of the MySQL slaves. It's more of a bastion than anything else. You can save local results there for further post processing but really all that's installed on that machine are clients that interact with the cluster elsewhere. So when you issue a Hive query, that query is then off to the Hive server which is then translated into one of these MapReduce jobs which is then submitted to the Hadoop cluster which then knows how to translate all the data into something that is queryable, gets processed and then send back to you. Andrew, a question from IRC is to add to Toby's question. What about random members from the community? I might actually let Toby answer that question. You're doing a great job, Andrew. So there are two concerns with community members and both of which we're thinking about. The first is respecting the privacy of our readers. We're going to be addressing this publicly very soon but the concern is that these are basically the web logs and we need to anonymize them and aggregate them before we really let anybody outside of the operations and analytics team use them. That's one big concern. And then the other concern is maintaining like a public Hadoop cluster is kind of a hassle or hassle is probably not the right word but it's a challenge because Hadoop is not, it's a great processing system it's not a great multi-user system so what we anticipate is that these aggregated logs will be made available probably in labs in a MySQL for the community to access. We think that this is the right balance between making our data open and actually being able to support reliable access to that data but giving the community access to this data is super important. So I've read that Hadoop is very good for text processing as well. Do we have any plans to put the dumps on Hadoop? Yeah actually they're not there right now because like I said I just reinstalled this cluster but before the reinstall we were regularly importing the page you count dumps and those were going on to Hadoop. I think they were there sort of like as a proof of concept but those could be used to generate data sets too. I was actually looking at the corpus like the actual encyclopedia. I don't know if we have plans, if that's useful then certainly yeah we can use Hadoop for processing really any type of data that people large data that people need processed so the web request logs is their main use case because it's kind of one of the biggest data that the foundation has but it would be very convenient to be able to join that data with other data sets so whether or not it's like editor data sets from the SQL databases we can import those into Hadoop and use those in conjunction or the I suppose even the XML dumps of the whole encyclopedia could go there too. Those are edit logs too. Yeah I'm not sure which way is better but yes is the answer like if that's a useful thing to do we can import other types of data sets and use them as well. It would also be interesting to do like sentiment analysis of talk pages and things like that anyway yeah. Awesome. Does anybody else have any questions before we end the podcast? Not podcast, Tech Talk? Okay great thanks for coming everybody. Thanks everybody. Thanks Andrew. Thank you.


The genome-scale metabolic model, GSMM, of Vibrio-Natrigans, ILC 858, was created using an automated draft assembly and extensive manual curation. It was then validated against empirical data from mass spectrometry-based proteomics, and compared to the metabolic model of Escherichia coli. The model revealed several unique features of V. Natrigans, including its ability to use sodium as an energy source and its adaptation to high salinity environments. Additionally, the model was used to create a resource balance analysis which showed how carbon resources are allocated within the cell. This model provides valuable insight into the metabolic capabilities of V. Natrigans and can be used to inform future metabolic engineering efforts. This article was authored by Lucas Coppens, Tanya Cherhard, Dagmar H. Leary, and others.


because we were almost tied in the halftime so in the locker room you know coach came in and said we had to play that better defense you know take away their shots and that's what we did you know well I don't know if they picked it off from the bit of booker you know and that's what we did we know we we do it that way we made our shots we played tougher and eight win in your last nine games why is this team playing so well thank you so much for joining us today I didn't totally before we play like a team you know we support each other we we got each other's back you know and we are helping each other you know we are pushing each other really hard and that's the spirit you know we just go together first career double double for you how gratifying is it yeah first rare double double how gratifying is it to be given this opportunity and playing so well I didn't know I didn't know that I double double so that's that's cool you know first first first double double in my career I'm happy for that you know I'm happy I'm helping the teams like teammates with a rebounds you know that's actually that's what coach told me like to do more go for a rebounds help the guys out help the aid and a jerk jerk with a rebounds with a big so yeah that's how doing you know I'm just helping the team man thanks a lot


Hi, my name is Fabiola, and I want to talk to you about gender and what it has to do with migration. Around the globe, more people are under move than ever before, and half of them are women and girls. So why should we talk about that? Well, when we put our gender lenses on, we'll see different stories when looking at men, women, girls and boys. Gender influences every part of a migration journey. How is that so? A young woman who is not allowed or encouraged to aim for a quality job or education might look abroad to find them. Or she leaves to escape family pressure or gender typical roles in society. Yet today, many women and girls don't have access to information on the risks and realities of migration. Irregular migration can be dangerous for anyone, but the stakes are higher for undocumented migrant women. They may have fewer options to pay for services of smugglers and get more often trapped in sexual abuse, exploitation and human trafficking. If she makes it to her destination, she'll make less money than a man, yet she'll still send a larger portion of her earnings back home to her family. By sending a small amount more often, she ends up paying higher transfer costs, but they're not only hardship on her journey. Money is not the only thing she sends home. Being exposed to different culture and experiences, she's contributing to a culture shift within her community, paving the way for young girls to do more. And that's why it is important that we support her through every step of her journey. Here's what you can do to increase gender equality where you are. 1. Advocate for equal rights under the law in employment and mobility. 2. Come back discrimination in all aspects of daily life. 3. Learn about all the ways that gender affects migration. To continue learning, visit the link below.


It is the touch right here on Y254. Those have been the highlights of the national athletics trials that were happening at the Nyanya National Stadium. 32 athletes have already been selected so far to represent Kenya at the world championship. The other batch will be told after the ADAC, the Anti-Doping Commission, has already given us a go ahead to say that they are claimed to go and compete in September 27 in Doha, Qatar. But for now, it's all about us discussing the state of rugby in Kenya and I'm joined by the chairman of the Kenya Rugby Union, Mr. Odwar Gangla, here in studio with us today. Mr. Odwar, welcome to Y254. Sorry I'm used to KBC channel one, but it is Y254 today. How have you been? I've been very well and thank you for inviting me to the show. It's always a pleasure to be here chatting with you about what's happening in the rugby field. Big news that has been happening all the way, but we've got to start off with the 7th circuit that has just come to an end last week in Mombasa with the driftwood 7th and the Kenya commercial band KCB RFC taking the main title. How was it so far? What is the update from the circuit? First of all, I want to obviously congratulate KCB rugby for winning the men's circuit and also we also had the women's circuit which was won by Impala and I think if you look at the men's circuit in particular, it was a very competitive tournament. We've seen a lot of young players come through the ranks, but also we've seen the more experienced players who have been playing in the circuit for many years also put up their hand and give a very good account of themselves. The coaches have been working very hard. Even if you just go at the turns, you just find everyone with a laptop analysing game from game, strategising, and you see that the quality of the games have gone up. If you look at also because of the investment by Stan Bikbank as the lead sponsor, there's a lot of improvement in terms of the look and feel. If you just look at something like the presentation ceremony, it's now similar to what happens in the World Series, the way we've organised it. It just looks like a really good event to be to and to attend. They've been great after parties and you know rugby goes with the festival and people have all enjoyed themselves across the country. Mama of crowds, I'm told in some of the venues you've been having up to 6,000 people coming through the gates. So yeah, it's been a huge success. Which one was your best leg of the circuit? Must be driftwood. Must be driftwood. I think the climax of everything is something to watch. Dala was also very good. I think Dala is quite popular. And this year also did very well. I think the Nairobi crowds were a bit starved of rugby. They came out in large numbers and it was quite a successful tournament as well. In the game of rugby, which kind of players that really had an impact on you more? So the young players that you saw that these guys can actually get to the national team at one point in time? Now you're putting me on the spot. Okay, leave that man. Some of the young players were impressed. I saw the Kenyatta University of Black Blood, Desa, was one of the kwaesa. It's been played well. It's unfortunate he had some injuries. So he didn't play all the legs. I think he only played the last two. But he saw his impact when he came on. If you look at Nakuru Monatiakui, definitely a player to watch. He has a lot of positive attributes. If you go to Wamba in Zuga, the winger, if you go to KCB or Quach, a very interesting player, Asati.  Onyalla, outstanding. He just showed what one year being in the circuit can do for you. And you can go and look at Oilers. Oilers has a relatively new team. It's not the same team that was playing 2 years ago, with the likes of Ombasa and Ngethe. So the young players have come through. There's a lot to build on from here. And really it's for KRU now to nurture these players to be able to compete at the world stage. Big one for us there from the 7th Circuit. In your follow-up from what you were discussing earlier and we talk of how Stan Bikbak has come to help in the sponsorship of the game and how it's going so far. Yesterday you also signed another deal with the EABL, Kenya Brual is limited with TASKA to come and sponsor at 115 million. So actually one of your campaign promises you will try to bring back the sponsors on board. How is this sponsorship going to impact the game going forward? Thank you. I think this new partnership with TASKA is a watershed moment for the game. TASKA used to be a very big sponsor of Kenya Radbi. They scaled back the investment a bit. And so this time while they never really left I think this is the time now they've come in with a big investment. If you look the investment is being split into call it 4 parts. So there is the 37.5 million which is coming to Kenya Radbi Union which will go 20 million into Safari 7s. 10 million we will put TASKA on the Kenya 7s chart. Then there is 2.5 million they will also go on the Kenya lionesses chart. Sorry I meant short. There are short sponsors. So we will also put them on the lionesses chart. You know the lionesses have few assignments internationally so the sponsorship amounts can't be the same. And then also there will be around the test matches. You know when like Zimbabwe when they come here we have to host them. We also have to look after our team. So there is money for hosting the internationals going into next year as well. So that's one part. Now if you look at the 7 circuit they worked with the host clubs. So each host club did receive some cash money in terms of going to the organization. But also all these events have been sponsored by TASKA the after parties. So they've paid for the setup. You've seen the setup has been very good the entertainment. We've had very good artists predominantly local coming and entertaining the funds. And just that whole look and feel they've also been investing in the media. So every tournament has been advertised. And you see my estimate roughly at least 4 million, 4 to 5 million going per club in the 7 circuit. So that is part of the reason why we've seen very big numbers coming through. For safari 7s they're obviously going to have a very going to take it a notch higher from what we've seen in the circuit. Because now we are going to an international level. And I think at the right time you'll see us rolling out the build up campaign going into safari 7s which will be quite a big campaign. We're going to have the formal launch next week and at that point we'll be able to discuss everything else. The other thing which is very significant for TASCA is there is about some money which has been earmarked for universities. The universities league. The universities league. And they are working with the Kusa Kenya University Sports Association around this so that they'll also support the universities rugby. If you see universities rugby is quite big but it has never really been commercialized properly. And so TASCA have seen that that is one area which they could also come in. And you see all these players it's part of the pathway of getting to the national team. From actually high school university to the national circuit. Last year we had Shadon Munoko from Main Machine. He was the captain. And he played right up to Kenya 7s. He played in Vancouver and other tournaments. It just shows you that we cannot ignore universities. We had at least two players from Black Blood, Wahina and Levi Amonga who has been on the fringes. He is now going to KCB. I remember Wandaeto. So there are a lot of university players as well. So we want to widen that net and help have a very competitive universities league. Is that also your angle for development? Because university development is one of the key facts when it comes to rugby development in any country. It is a very critical part of our strategy for development because people go to university from call it between age 19 and maybe about 24, 25 and they must play. And continue playing and play well and be competitive. There's a time in Main Machine were the champions of Kenya. Yes, back in the 90s I think. In the 90s they were dominant and they produced a lot of national team players including Vice Chairman Tomas Opeo and many others even Hilary Tella came through the Main Machine system. So we must continue to invest in the university. They've been somewhat because of the funding challenges especially in the public institutions at times they have to compromise on the investment in sport which is hurting. And if you look at the game it's now headed semi-professional the clubs are getting a lot more investment and so this will go in terms of boosting the universities in terms of being able to remain very competitive. A big one for us there. Mr Chairman before we leave the question of sponsorship what other options are you exploring on sponsorship because I understand Bitcoin is your short sponsor on the back we have got also tasks coming in as a short sponsor what other options are you exploring so far? Okay, if you look at our flagship product which is Kenya Shuja at the moment really Bitcoin is at the back of the chart and now we've gotten a short sponsor we still have quite a number of slots on the playing kit the most prime being the front of short sponsor the shorts you can actually have two sponsors it's allowable and we are looking we are actually in discussions with other parties as well and at the right time we'll be able to announce and unveil once we conclude the discussions and also we've considered it's still not pretty common but if you look at other international leagues some companies maybe may not be able to put in the 10 or 20 million to get on to the short but they can decide to maybe sponsor a particular player or a particular short number so in Europe it's very common below the number of the team at the back of the chart they have a different sponsor for each player so you can then use that to even augment what we pay the players and that player can also become an ambassador of that particular sponsor so it's still very early stage but it's something which I'd like to see where individual players imagine if onyala had a sponsor as well and Rillindi had a sponsor and Tabu had a sponsor to make a big impact for them as well in terms of getting ready and building on their professional whatever because there's a limit to what care you can obviously afford to pay so you have to be creative how we maximize these assets we are still hanging out with the chairman of the Kenya rugby union here in Y25 for the touchline and we are discussing all matters rugby here on the set today a big game coming away next weekend the Nakulu Athletic Club the Victoria Cup Kenya vs Zimbabwe how are our preparations so far preparations are going on the team has been training we came back to the training camp last week putting together the paces I think it will be a blend of still using some of the young players who have come through the Chippu system and blending them with some of the more experienced players a test match is a test match that will be exciting I'm sure Nakulu crowds will come out in large numbers again we promise that we will take this game to the people that was actually going to be my next question and Nakulu everyone was going to Nakulu and it's right in the middle of the rugby playing hot spot so think of people from Eldorant Kitale people from Nairobi it's three hours drive from every except Mombasa so we are quite excited about being able to partner Nakulu Athletic Club Chairman Mwangi Mushemi and his team have been working very hard to ensure this comes to fruition and we'll continue with this gospel let's take the zimbabwe around next year we want to have a test match in Mombasa we were discussing this last week with the governor's team to see how the Mombasa County can come on board we really want a test in eastern province whether it's Meru or Machakus we hope one of them we can work on Nairobi we look again at the rift valley maybe Nakulu again if not maybe Eldorant all I'm saying we are open minded we have not closed the door on anyone Kisumu kaka mega where we will all go and be do we go back to Kisumu again do we go to Kaka mega because also Kaka mega is very keen exactly and if you look Kisi has also developed very good infrastructure Kisi's study was redone and it can host a test match so we are open this game is for all Kenyans we have discussed more on the zimbabwe and the 7th team and also going forward also the Olympic qualifiers for the ladies are coming around the corner our preparations on that front yes we continue to prepare for the both the Olympics qualification for the women we are playing in Tunisia we came before safari 7 I think it's 12th October springboks are also trading for that so it's going to be it's going to be tough we have obviously been working with the government in terms of our funding applications we still haven't received the money from government it's a bit frustrating at times because you want to be able to give the team the best possible chance and it's something which we very much like to see come through but the team is psyched up in the circumstances and I'm confident they'll be able to do a good job for the Kenyans they always do now the big question is actually now all over the world the rugby world cup is here on our side Kenyans actually did not make it to the rugby world cup but how do you see the world cup coming around which team will you be rooting for is it Africa or are you going outside I happen to be an all black supporter I've always loved the way they play the game the approach to the game in the last two world cups they've been out and out favourites not this time I think South Africa are very strong and if you look at also a team like England have been building nicely they have a very strong team right from the time the likes of Faril Wainanda 20 they are very competitive and now they are reaching the peak so I think between England New Zealand South Africa to my mind top three I think Wales and Ireland are also good but I'm not sure they are as good as those first three and then never right of Australia Australia can play poorly for four years but when they get into the world cup to another zone and we just saw the other day they hammered the old blocks which doesn't happen too often so there are six good teams with a chance the other guys who I'll be looking to see how they perform is Fiji because Fiji have developed their rugby a lot of their players if you look at how they use their sevens team they use their sevens team as a pathway as into professional rugby so the estimate is about four to five hundred Fijians playing rugby in Europe and many of them are playing for top clubs in England in the top 14 they are quite a number in the best clubs and now it's a question of in the run up to this world cup how will they come together it's unfortunate they don't get to play as many internationals as the other nations I think if they were playing 11-12 test matches a year they'd be competitive so don't write of Fiji they are a very tricky pool I think that's the pool that excites me the most because I think Fiji will come out with something special so thanks a lot Mr Chairman for coming here on Y254 The Toucher and your final word on matters rugby and going forward what we can be expecting for the Safari 7 rugby is in a good space now it's a very strong endorsement and support from all the stakeholders be it the clubs, be it government be it commercial sponsors and I just sense a good vibe about where the game is going and I'm looking for a very competitive Safari 7 this year but more importantly as we go forward to just have a united cohesive game which everyone is proud about we want to make Kenya proud about rugby and take it back to what we were a couple of years ago and hopefully have a very competitive world series I'm also keen to see us qualify for the Olympics both men and women and finally to get the women into the 7th circuit in the HSBC they now have 8 tournaments which is a lot and that will help us really professionalize the women game and then the Reaper Church it hasn't been announced but I think the bigger girls who play in the T5 or back in the gym getting ready for the Reaper Church and we see how it goes from there ok, thanks a lot Mr Chairman we really appreciate you coming on board to tell us everything that has been happening in the world of rugby as the season comes on end and as it picks up because I know many things are on your way that has been the touchline here on Y254 today we have a shift on our running order and everything that we do here on the touchline but we have come to the end of the show enjoy your afternoon I'm Robert Osoro, Maksyola Sika we'll be live from the Davis Cup in Nairobi Jim Kana to tell us at Nairobi Club actually to tell us and give us an update of the Davis Cup that is happening there from everybody on Y254 good afternoon enjoy the rest of your broadcast