coming to our experiment. I'm in a block of time today, so I'm anticipating about 30 minutes for content and 15 minutes for questions, so get those brains thinking about what you want to ask. Disclaimer, I come from a business intelligence perspective, so when you hear me say BI, that's what I mean, and this talk could be titled How to Implement Business Intelligence, but that's not necessarily what people want to hear about their data lake. So a data lake to me is any big store of data that is not organized and probably not useful. Does anybody not want to hear about how to implement a BI solution? Because I'd be really interested in talking to you. So who am I and why should you listen to me? Well, my name is Allison Stanton. My pronouns are she, her, hers, and I am the founder and chief problem solver of Stanton Ventures, where most of my clients are softwares of service companies, though I do have some in healthcare and some in fintech. My main languages these days are SQL, Python, and Lookamal, and I've been doing data full-time for the last seven years, even longer if you count part-time phone hobby stuff. So to begin with, we're going to have a reality check. You do not have a data lake. You have data lakes. So what are the things that would make these data lakes valuable to you? Well, you could make money with them. You could lower costs with them, or you could improve people's quality of life. But you'll notice that all three of those things can be accomplished by giving data that is useful to managers and employees of your company, and that's where the business intelligence side comes in. I specifically say employees, not just managers, because it empowers them and it values them. And data is its own kind of power. We should be using it for good. So what has to happen for your data to become valuable? Or in other words, what requirements are there for it to have value? Well, it has to be accessible. If people can't get to it, it can't do anything for them. It has to be accurate so that people aren't second-guessing it. It has to be on time because if you have to make a decision on Tuesday, it really doesn't help you on Friday. It has to be understandable, which means it can't be hieroglyphics to people, and there can't be room for interpretation. It has to be very clear-cut. And it has to be segmentable. So your data science team, if you have one, which most of you don't, because probably most of you don't need one, is that a random sample. How do you know it's random? You have to know things about it. You might want all the water in that lake that has a specific fish. We'll call her Melinda. She is a client. You have multiple clients. You want that specific client universe for talking to that particular client. All the water that has a swordfish in it or a goldfish or a whale or a shark, those are segments of customers. You could want all the water in the lake, which is your entire client universe. If you lose any one of those things, your data loses its value and cannot provide the maximum impact. So how are you going to get all of those things to happen? Well, people have to be... How are you going to answer those questions? I'll give you a hint. That's the business intelligence solution. So now you know you have data lakes. You know what you want to get to. Your data types do matter because they impact the decisions that you make on your infrastructure. So I'm going to start philosophically before I get to practically. I'm going to list these really fast, but don't worry. I will go back through them. Do ELT, not ETL. You can't keep the data in the schema that is currently in. You're probably going to have to move from a normalized schema to a star schema. Start with the easiest, fastest use case, not the one that people are asking for most, not the glitziest, not what's most needed, the easiest and the fastest. And you must have written definitions of your terms. This is a data dictionary. It's your proverbial Bible. It's a living document and a go-to resource for technical and business staff. So when I say ELT, I mean extract, transform, load. You want to extract your data and load it and then transform it once it's in a data warehouse. You don't want to transform it on the way there because you're potentially changing or losing data. My favorite method for transforms is to do it in the SQL itself. It allows for version controlling of your scripts. It prevents a lot of IO. It utilizes a language that's been optimized for aggregates and manipulations. And to put it bluntly, I can do more than 1,000 lines of SQL that I can do in 5,000 lines of Python. That said, in general, software developers are generally not good SQL writers at the level of expertise that I'm talking about. And so please involve someone who knows what they're doing, SQL is not for the untrained. You can't keep the schema that you have, right? First of all, for those of you who don't know, a schema is essentially a format that your data is in, in the data warehouse. It is optimized for app performance. Whether it's your app or someone else's app that you're pulling in, I promise 98% of the time they have not given any thought to anything besides the crud of the application, right? The create, the read, the update and the delete of a single record. And therefore, for performance optimization, you do have to change your schema. Even once you have a different schema or a consolidated schema that just brings all of the apps together, as you scale, you're still going to run into performance problems and that's where a star schema will come in. So start with the fastest, easiest use case and here's why. You are learning.  So if you take on the most complicated thing first, you will fail and you're going to be delayed. And you won't have built a positive, good track record with your coworkers. Once they get negative in suspicion, you get into reconciliation hell and we'll talk about that a little bit more later. So you must also have definitions of what terms mean. I know it sounds boring, but this is so important. Let me give you an example. Pretend that you are your favorite online retailer for a moment. Someone asked you for a count of total orders. That sounds really easy, right? Right? That should be easy. Wrong. What is in an order? Are you asking for a gross or a net number? Net of what? Cancel orders, charge backs. If someone adds an item to an order after it's already placed, is that a new order? Right? That's an Amazon use case because of how they take orders and group them and ship them. So what is the total of your order count? Here's what a term definition should sound like. Net total orders is the total number of orders placed and given a unique order number. It is calculated by taking the total number of orders placed and subtracting canceled orders. It does not account for charge backs because that categorization is post shipping. So look at what I did there. I gave a definition. I gave how it's calculated. I told you what specifically is not included in it and why it is not included. This definition is narrow, precise, understandable by business users and repeatable. So where do I start practically? Now that I've covered my philosophical beliefs on this topic on how to make a data lake useful, let's cover that practicality. Again, I'm going to go through each of these in more depth later. You're going to start with a survey of what you have and where you're at. You're going to identify your easiest fastest use case. You're going to extract and load those data sources simultaneously to make sure you have working written definitions that the organization agrees on across departments.  You're going to build the report, launch it. You're going to start collecting data you need but don't have. You're going to do that cycle 10 or 20 times. You're going to then iterate on those 10 or 20 use cases. If you don't have all the data sources in one place, that's probably the right time to add them. If you don't have a BI tool, get it now. Work on the highest impact reporting, the company-wide reporting including financials. You're going to iterate on existing reporting and stay up to date on new product features and company initiatives. So if I do all that, what do I end up with? Well, a data warehouse, which will have both schemas, one each, for each incoming data source. I'm going to have individual developer schemas and I'm going to have a master data warehouse schema. You're going to have an extract, load, transform data infrastructure that is version-controlled. You're going to have BI infrastructure. You're going to have reports used by the business that are accurate, timely, and useful for decision-making. You're going to have that data dictionary I talked about. You're going to have an ELT environment and script documentation and you're going to have your conventions in one place. So what do I end up with? To do that, I have to go through my survey. So what kind of data do you have and what does it matter? It matters because, as I said earlier, it determines the technical decisions you're making and how to pipe it all into one place. You need to know what infrastructure you already have so you aren't either double purchasing or making decisions that don't include a main data source. For example, if you buy some kind of ETL solution that doesn't cover the data source that is critical to your use cases internal to your company, you're going to be in trouble. So you have to know what you have. You have to know what audiences you're serving, both internal and external. Are you only responsible for the marketing department? Are you responsible for company-wide? Are you responsible for clients? Because once you're doing client-facing reporting, your requirements change as well. Now you're going to identify the easiest, fastest use case. This is, by the way, a worksheet that I put together for people to think through and survey what they have internally to their organization. So you'll see that you have inputs, you have timing because there's a very big difference between batch and real-time. You have how you're going to get information to people and you have what types of transformations you're going to be doing. I see somebody taking pictures. I'm going to go away. One example of an easy, fast-use case that I like to use is a help desk ticket dashboard. People would look at me like I'm crazy when I say that, but it doesn't just help your help desk team with the management of that team. It also helps your product with prioritization. If you have a help desk ticket that comes in from some large percentage of your clients or it's just your top ticket issue and it can be fixed in your product, fixed in your product and you don't have to hire as many heads for the help desk, right? And it also helps finance with product pricing. If there's a certain categorization of client that takes up a lot of help desk time, they should be paying more for it. So you're going to extract and load the data sources needed to do that first use case into one place. You're going to have somebody working on your written definitions of those terms, dimensions and measures. A dimension is a fact and measure is generally anything you would use a formula and excel for. And again, you're going to do the extract and load without the transform because the transform can skip or alter data that you might need in the future. And it's easiest to just have it all in hand and manipulate it later. The exception is JSON. Do not put JSON in SQL. Parsing it in SQL is not fun. If you do need to have JSON in SQL, then make sure you have a second import of the parsed version. The biggest thing people do wrong is not have those definitions. It's one of those like take your medicine things that people don't want to do, but it will save you a lot of time in the long run. And make sure you're getting them now because you have to have them before you're writing your report. Now you do the transforms, you build the report, you launch it to the team that's using it. You start collecting the data you need that you aren't collecting it. Everybody thinks they're collecting all the data in the world or they're collecting so much that they must have everything. And the answer is that they don't. Specifically, the thing that most happens is there'll be a categorization that is used in an internal vocabulary that they aren't codifying as a piece of data at the time they need to be codifying it. If you're always talking about X group of help desk tickets, then those tickets need to be tagged with that categorization in order to be helpful for reporting, not adding it later because then you're just rereading the ticket and involving another person in spending more time to do that. So this is the point at which if you identified something you want in your report that you haven't been collecting you're going to add that to your collection so that by the time you get back to iterating on that report it's there for you. You're going to go through that cycle 10 or 20 more times. This is a learning experience that you're there are always low hanging fruit data cases that you can use during this time. Now if you're someone like me and you do it for a living this is going to be a very condensed period of time. If you don't do it for a living it's going to perhaps take you know weeks or months if you're always getting paged into firefighting. Now you're going to iterate on those 10 or 20 cases and that by that I mean going back and making another version and launching it taking into account feedback right you had an original scope you're now doing updates to that and that is where one of the questions I put in my abstract comes into play which is why is interdisciplinary important. After you've done those 10 or 20 cases you're going to find things that are used across departments right the sales department and the marketing department need the same kind of information they just have a different lens on it. The product team needs information that the marketing team would be interested in they just have a different lens on it that's where you're going to get into a unified schema and you can get into data marts later on as you get into more complicated use cases or more specific cases but I have yet to find a company that doesn't need a unified schema for the majority of its reporting. If you don't have all of your data sources in one place at this point consider adding them and this is also the point where you can start considering a BI tool so that you aren't doing you know kind of one-off Excel or one-off graph kind of whatever happened to be on the shelf or what happened to be cheap. You can now have a better understanding of how you're going to have to present cases again you have to know if you're going to have clients involved or not. Now it's time to completely shift your focus to the highest impact reporting. Those company-wide reporting with financials these have very high visibility very high importance but you're now ready for it and you won't be able to hold your stakeholders off at this point anyways. Then you enter into maintenance mode so you're going to iterate on your existing reportings you'll have a ticket queue at that point people will know how to request changes or request new reporting and you're going to stay up to date on new products and features and company initiatives. There's more about how to do that and how to do it well in a talk I gave to PyData Chicago last year called what data engineers wish developers knew and that is available on YouTube. So moving on what's going to come back to bite me if I specifically what's going to come back to bite me if I don't account for it up front that is totally and completely avoidable reconciliation how which I mentioned before. This especially happens in organizations that have never had numbers or in organizations that don't like the numbers that they're being given. They're constantly going to question them and make you reconcile them to whatever they happen to think is the right thing. No one likes doing this work it's very painful it is tedious it is time consuming it is awful and once you get into that cycle it's almost impossible to get out of so avoid it as much as humanly possible by doing reconciliation up front for yourself before someone asked for it and make sure you have quality control measures in place. Sales Commissions is a very great example of this there is nothing that sales people have more time to do than nitpick a report that determines their salary and then there are multiple sales people and it just gets exponentially more difficult. In terms of the data architecture of that data warehouse the things that are going to be painful to fix later on are if you don't have enough hierarchy levels right in your categorization system if your objects aren't correctly delimited between each other and if you mostly it's if you there are three types of relationships in a relational database right one-to-one one-to-many many-to-many if you use a one-to- many relationship to just kind of avoid doing the extra work to make it a many-to-many that's going to bite you later on so do the work up front. I like to tell people about how if you do the infrastructure front yes it takes more time before anybody gets anything but it means that instead of taking two days to get a new report later on it can be as little as five minutes and then they generally back off a little bit. The other thing is to avoid binaries if you're going to do a binary make sure it's true to false not something like gender which is not binary and make sure that that true false is very specific and not a combined group you'd rather have more true false columns that you can calculate later on to make a new true false like then if you try to combine too much at one time but at least that's just adding a column so that's not as bad as what I've seen some people do in terms of a tech stack do not do something new and cool do not build a data warehouse in my sequel it does not have window functions you're going to want to use something that is postgres or similar my personal recommendation is Amazon Redshift mostly because it's been around and been battle tested at scale and you're also going to want to think about your caching where is it feasible to have caching where you're going to want caching and it doesn't have to be very complicated it can be as simple as a pre-calculated table don't over engineer it if you don't have to all that said you're going to run into problems data problems are going to be things like incoming data is crap especially if you're getting it from a vendor or if your own internal team hasn't validated it as it's been coming in the door the other problem we've already talked about is not having enough data tech problems could be cron job doesn't run there's an incomplete file load a file is skipped altogether a vendor goes down make sure you have the testing in place for that and you're going to get people problems which is really just complaints from your co-workers they generally tend to cluster as things aren't fast enough either they don't get the report fast enough or they click the button and the report doesn't generate as fast as they want it to not the right thing right they expected x and you gave them why and then you can go back to hopefully your written documentation of the request and say that no you actually ask for that and why haven't you been doing this thing that I've been asking for for months and yet to go have a prioritization discussion so what strategies are useful for troubleshooting those using an iterative approach making sure everybody knows that there's going to be another version is a lot easier conversation to have than somebody who expects everything to be perfect at the the first time we know that from software development it's the same as true for reporting have a data related test suites you want to make sure that any failures you do have are not silent a silent failure and data is going to be the worst failure you can have so a simple one is just making sure that a file was imported before you generate a month-to-date total right and communication focused on common vocabulary and especially around expectations making sure that people know that this is how something was prioritized and that's how long it will take so how do you automate it well that's a tools discussion my main point is taking data out of Salesforce is a pain in the ass okay and it's been done by very many people so don't rebuild the wheel my favorite implementation right now is actually stitch data integration which does a full sync to Postgres or whatever database just by o-offing and checking off some boxes it's beautiful it's like a breath of fresh air but given the time that we have at the moment if you want to talk more about tools please feel free to ask about them in the question section what does collaboration that rocks look like um this is not just the documentation and it's not just training it's also doing ad hoc office hours and making yourself available to people when they have questions in whatever communication channel that they are comfortable with making sure that you have a team and not just one person and that there is some skill overlap um project tracking feedback loops iteration and there is a fabulous stitch fix article um called engineers shouldn't write etl a guide to building a high functioning data science department that i recommend everyone um you can go into advanced lessons like a data layer but uh honestly if you want to talk about that you should be talking to ria gauche who spoke yesterday um she's actually implemented one and had some great success with it so with that are there any questions i work for a health organization so whenever we talk about any kind of data accessibility we get into protected health information we throw in that phi award to say no to a lot of things give any advice for how to deal with that yeah um get people to grant it and like whatever your anonymized rules are and then keep a set of data that way and build reporting off of that um uh also uh not having multiple copies of the phi right there's there's one version protected behind whatever wall and then anybody with permission can see the anonymized stuff right making sure you're getting into um you know the netflix data set you could if you had like three data points you could find a person um but really just having that wall and having written standards around it is the best thing that i've found you said that you suggest doing your transforms once you have your data in the data lake uh what about doing data enrichment do you recommend doing that before you put in the data lake or also just kind of putting all of that data in your lake and then doing that enrichment as a view once it's in the lake so an enrichment is a transform and transforms come after you have a clean copy import um and but you're also uh bring up a really good point which is the difference between a data lake and a data warehouse right to me a data lake is just like this big old pile of data set in a corner no one's done anything with and a data warehouse is that data lake transformed into something that's useful and organized so make sure your import is going into the data warehouse clean and then transform it will save yourself a lot of time so um you know somebody told me something uh that resonated with me that one of the biggest um a blessing of data is also its biggest curse which is that it can be copied and uh i don't know how many of you guys deal with some stakeholders who ask for a report so that they load it into their own excel and they parse it and they create their own report and maybe that happened multiple times multiple times so this is a big problem for us and we want a model where this is our vision where we can offer almost anybody the ability to on an ad hoc basis go and you know create what they need this is our nirvana right and the data stays on source doesn't get copied so the question to you uh considering this kind of aspiration yeah um after you you you you invest in your infrastructure you created the lake you put everything there what would be the next logical or series of steps to create this culture do not copy the data go to the source use get what you need and and leave it there um so as you're talking you are talking about a perfect use case for a product called looker which is a business intelligence solution that goes on top of your data warehouse um and allows people to point and click to make their own little charts and graphs and their own dashboards um and you can turn off by permissions downloading the full data set um and uh that is the source of truth right you have a dry look ml model um and if you want to talk more about that i'm happy to get into details i'm probably one of the top experts in the country on that program all right well thank you so much for the great talk let's give it up one more time


Jim, let's start with your reaction to Delta's earnings. Yeah, Delta's a little disappointing versus the fact that everybody else was doing much better, expectations were therefore driven up for Delta, so frankly I was surprised. Delta has a lot of international routes and the international routes are not helping. I want to circle back to the fact that United Kingdom is good and it's a very inexpensive stock, that people were saying that Southwest has got too much of a premium right now. It's an ActionAlertsPlus.com name. If it gets to 60, just pull the trigger.


Hey there YouTube, my name is John Hammond. This is more Pico CTF 2018 This challenge is called truly an artist for 200 points in the forensics category It says can you help us find the flag in this meta material and you can find the file here But we are given a download so I have downloaded this and just judging by the challenge prompt I think we're gonna be looking at some metadata. So let's check out what this file actually is it is just an image file right PNG file or the other logo and We could do some stuff with it if you want to run strings on it. You could do some anons Looks like that actually pops out the flag pretty easily, too So the the go-to here right in this is running exit tool And if you don't have the exit tool already installed just sudo app install exit tool But it will allow you to view metadata, right? So you can check out the man page for it. Why did that give me Vim that's weird read and write metadata and meta information and file so exit tool on this file Will give you the artist right hence the challenge title truly an artist with pico CTF looking image So turns out strings will work on it very easily, too So let's go ahead and just grep for our flag format and pump that to a simple get flag script pretty easy Not too hard of a challenge so cool Oh, let's actually follow through with all that. Let's mark CH mod. I Have this horrible problem sometimes when I'm recording. I wear a headset, right? Sometimes my my my ear starts to itch and it's just It's kind of bad. I like pause the video. I'm just like itch my ear Weirdness, let's go ahead and submit that This is real as it gets guys. It's a solvent CTFs for realsies There's no filter and John Hammond videos. Alright assembly one is the next challenge. It says what is SM1? 0xcd so some hex value return submit the flag as hex. Okay, so we've done this before an assembly zero Let's check out what this is. We have a source file that we can download and I have it in assembly I don't have it actually. Let's go. Let's double you get it when I recorded earlier my Internet was awful. So I try to download a bunch of stuff, but I guess I just didn't get this far We can double you get it real easy get the link and let's check out what we're working with here Let's set the syntax to assembly and if you aren't using sublime text or whatever You can if you are using sublime text You can solve that package if you don't know the package manager you can find that on Google whatever so SM zero as some SM1 Sorry, let's take note of what we're trying to call this with Leave this comment here. So 0xcd we have let's let's go through this line by line, right function prolog as usual and Let's do this in a Let's do it in one page more function prolog and then we determine if Our first argument right we cover that in assembly zero is Greater than zero xd e these numbers may be different for how you're you're working on it because just their they're Really cool random generation of challenges. So let's say greater than Zero xcd should be greater than Zero xd e and we can use Python to test these values, and that's false. So we won't jump to part a Now we test if ours is not equal to Simple zero x 8 and that's obviously true. So we're gonna go to part b So let's jump down to part b. We'll say ex is gonna equal our argument. So ex can equal zero xcd and Then we subtract three from it. So ex will now minus equal zero x3 so doing that we have Let's put that in hex Zero xca fine, and now let's compare if our argument if our argument right is not so not not zero xca but zero xcd if That is not equal to zero x ee Which we know it is not So we will jump now to part c So part c will take ea x Which again is now being set to our original argument. So zero xcd and Now we'll add three to it. So now we have ea x plus equals zero x3 so We want zero xcd our original argument plus three and Then let's just turn that to hex and zero xd zero now we go straight to Part d because we don't have any conditionals. We're not jumping anywhere. It's not branching and we have our function Epilogue, okay. So our final value of ea x should be zero xd zero in my case Let's go ahead and try that let's submit zero xd zero and I'm wrong. All right. What did I miss here? Oh? Oh, I completely forgot to jump to part d. I don't know why I just like mentally missed that line.  I didn't mean to lead us all down that rabbit hole.  Let's just go ahead and take our Original argument minus three because after we subtract then we go straight to part d and end the function So we don't even need to worry about part c My bad. I'm sorry. This is real as it gets Cool That's correct. All right. Thanks for bearing with me. I hope that wasn't too awful Maybe it was still good for us to go through that process and read through some some assembly together Hopefully that's that's still cool Hope you still love me. I make mistakes. I'm human. It's whatever. All right quick shout out to the people that support me I'm patreon. Thank you guys so much one dollar month on patreon will give you a special shout out just like this at the end Of every video you'll have your name up in lights at the end of a youtube video. Aren't you just famous? Whatever. It's one dollar And I'm just I'm grateful for it. It helps me out and some public celebration of you Thank you for being willing to support and and help this channel grow five dollars a month on patreon We'll give you early access everything that released on YouTube before it goes live because I like to try and have a backlog of Content to be readily released kind of on a schedule and let YouTube gradually upload them But I still got to get got to get a little bit better at that I I do have a job and other stuff that kind of takes away my time But hey if you did like this video, please do like comment and subscribe join our discord server link the description Cool community full of CTF players programmers and hackers hang out with me other cool people way smarter than me We'll be tackling a lot of CTF's pico CTF 2018 is awesome and now that it's alive and well as a wargame like it'll be online forever You can always work on it and get better. That's awesome. I miss pico CTF 2014 and 2013 guys Can you SyLob? Can you please bring those back? That would make some cool YouTube content tool All right. Hey Thanks. Thanks for watching. I'm bad at these. Hope to see you on patreon. Hope to see the next video. Bye


Mi yw Catherine Maitland. I'm a pediatrician and I'm based at the Cymru Welcome Trust programme in Caliphia in Kenya. I've been there for the last 20 years where I have been, my focus of my research is the critically ill child, particularly the child who's just presented to hospital and we've been looking at how best to keep that child alive. So first of all we did a series of what we would call physiological studies to try and understand what was causing them to be unwell, particularly children with severe malaria. So my initial focus was trying to establish whether children with severe malaria who came in in a very desperate state, whether they actually had features of what we call shock. And so we had to actually underpin the work that we subsequently did by looking at the physiology of these children, putting in central venous pressure lines and studying them over time and over their course of illness. And we were able to establish that like children with sepsis, children with severe malaria also do have shock. And then that allowed us to be able to justify to do fluid intervention studies as you would normally do in the emergency rooms in the UK. I went on from that study to do a very large phase three trial and the results were extremely surprising for all of us. We weren't anticipating them. They actually showed that although children who had shock, and this was not just children with severe malaria but also children with sepsis, we were able to give them fluid and that corrected shock, but that did not save lives. In fact it actually worsened the outcome. So children receiving what's normally given in the emergency rooms here actually had a worse outcome than children who actually didn't receive fluid boluses. That piece of research was published in the New England Journal in 2011 and it caused quite a stir in the world. And I think we're now eight years following that and people are still trying to understand the results of that trial. But that's not only changed practice in Africa but it's also changed practice elsewhere. If you think about what you do when you first see a very sick child, the first thing that we recognise is that a very sick child comes in in this chaos. Everybody's wanting to do something and I think the most important thing is that all the teams are trained and there's a course called emergency treatment and triage which is EATAP for short. And that's had a very significant impact because it trains teams not only to recognise very sick children but also to actually then do a standard set of treatment and also looking after them beyond that. And I think getting people to work together in an organised systematic way has an enormous effect but that's before we even start to consider the treatments. So the second part of trying to improve outcome is looking at the guidelines which is what people try to follow and say well has this guideline which is often give very strong recommendations, has this been tested in a clinical trial? Because that's the best evidence. So as I've given you an example before about the feast trial, it's the only controlled trial that's ever been conducted in the world and the results were surprising. So we also need to test other interventions that are commonly given in the emergency room. So for example one of the recent research trials that we've completed and just published this August in the New England Journal of Medicine was a transfusion trial. For this trial it was in African children who have severe anemia and there's no surrogate population around the world. This is a very, very specific question for children in Africa. So severe anemia is a very common problem when they present to hospital and the WHO guidelines often recommend because the children use a lot of blood from the blood transfusion services. They often recommend not to transfuse children who are less severely ill even though they are very unwell because they've been hospitalised.  So we actually conduct the trial that showed that with between a hemoglobin of four and six if the child is stable you do not need an immediate transfusion. So we actually confirmed the WHO guideline but there's one caveat to that. This is that we were able to show that you must monitor these children and by monitoring them you'll find that at least half of them or nearly half of them will develop severe and complicated anemia within the next 24 hours needing a transfusion. So we were able to show that you can allocate transfusions according to not just as soon as they come through the door but if you monitor children you were able to show that you can preserve the very precious supplies of donor blood. So over the last decade I think what's really been instrumental in making big changes in terms of research and output is the way people work. I think it's been recognised instead of one group of people working at a single centre producing a small piece of research showing A or X and another group saying oh no we disagree why. Now people are beginning to work as quite considerably large consortia which means that actually you can move through research questions in a much more integrated manner and you also have a much bigger impact. Not just obviously in clinical trials but across huge consortia and I think many of the other people who work in this department have been able to show that when you pool your data you pool your efforts you work collaboratively. You can make enormous impact for the populations that you're working with but also to policy makers because you come with a very very strong body of evidence. I think I've often been asked we know why you're not trying to prevent children from coming into hospital then actually trying to save them when they come in because they're very sick. Well it's a really important targeted way of reducing child mortality because if you have a very strong evidence base that you're able to show that treating children in a particular way because you've done this in a clinical trial then that can save lives. It actually is a very cost effective way of improving outcome. Where our research group and our focus of our research group actually has similarities with the rest of the world is that even in rich emergency rooms in the UK and beyond many of the guidelines have not been tested and so it's not a unique field. And I think people struggle. I mean it's also actually conducting this type of research has huge ethical challenges and practicality challenges and we've been able to address those in Africa and so we think we're an exemplar for the rest of the world. So our research is almost immediately translatable because we do large clinical trials designed to be run in the settings in which the actual guidelines will be taken up. And so we don't try to replicate artificial settings so when we come up with a result and it's a definitive result it can be immediately translated into policy and also then put in to practice another words translation. So we think we have a capital T for translation in terms of our research. Thank you.