Good afternoon everyone. My name is Carol Werner. I'm the Director of the Environmental and Energy Study Institute and we are so glad that you are here to join us this afternoon for this briefing on Mapping Environmental Justice. How can you use EPA's EJ screen tool? We are very very glad that we are able to hold this briefing this afternoon and to have someone to present this information who has done this presentation many many times in an effort to really help inform people all over the country about this important tool that EPA has developed and basically started using or had ready to begin talking to people about to demonstrate last year and and this actually is part of a fulfillment of an executive order that was issued clear back during the years of the Clinton administration. So it is an important tool that has many applications in terms of helping EPA be able to help its own agency as well as other federal agencies really have a better look at what is happening in terms of of impacts from the whether it's energy plants or other exposures to toxics to really look at some of the critical issues around environmental justice issues. What are those impacts? Where are they? And this is a way that we can learn much more about that with regard to thinking about states, regions, communities across the country because we can all do a lot better job the more we know about what kind of situations everyone's constituencies are facing what our communities are facing and how we can do a better job in terms of protecting both our environment, but also really protecting human health. And so to give us a demonstration about this tool both what it can do, how to use it, how you can make use of it in terms of helping to do your work and actually in terms of thinking about people in your organization, in your office, how you can all make use of this to learn a lot more about what's happening in your state and your congressional district. We hope that this will be a really really effective way to just sort of feel like you're getting on the job training and to demonstrate this and to talk about what its role is and how it can be used and what you can learn and what you won't learn from it is Kevin Ulp who is the director of communications for the Office of Environmental Justice at EPA and Kevin has been at EPA for about five years and as director of communications there is responsible for for really overseeing the development of EPA's website materials, a lot of stakeholder outreach, and engagement with regard to environmental justice issues. Kevin? All right, thanks Carol. And thanks everybody for showing up today. I'm excited to talk to you about EJ's screen, EPA's new geospatial data tool for analyzing environmental justice issues. And before I get into the presentation, I wanted to start off by playing a video actually to sort of remind people of the very human costs associated with environmental pollution and exposure and to understand the importance of being able to use a tool like this to be able to quantify and analyze those impacts and understand them when it comes to community involvement and analysis when it comes to rulemaking, grants and all sorts of different ways. So let me play this video. Hopefully it works. I think for me the moment where I realized I had an epiphany around environmental justice was after my first born son was born. I was born and raised in a little village. I lived there pretty much my whole life and when he was about four or five months old he had an asthma attack and I was a single mom. I had no health insurance, no car, and I didn't really know what to do.  And we spent about two days in the hospital and I learned that he had asthma and he was put on a nebulizer. But it was incredibly scary. I was 21 years old and I was upset. Actually I was pissed. I was pissed because I thought that I had done something wrong. I thought maybe I ate something wrong, maybe I exposed him to something. And so I started to want to understand why my son had asthma and I talked to the pediatrician at the local clinic and I talked to my parents and I started talking to our neighbors and what I found was that there was a lot of kids in our neighborhood that had asthma. But what did it make sense to me is when I would do my research, Chicano's Mexican Americans in this nation don't have a very high percentage of asthma in children. And so it made me even push even further to try to understand why this was happening, what had I done wrong as a mom that my child had asthma. And in walking around my neighborhood and understanding where I lived, what I found was that there was a huge coal power plant. About five blocks away from our home, that was putting out a lot of air pollution. And as I started to do my homework, actually ironically at the same time, Harvard School of Public Health published a report about the two coal power plants in Chicago. One is in Little Village and one is in Pilsen, the neighborhood right next door to ours. And what I found was that part of the problem was the air pollution that was coming out of these smokestacks. And I think what made me even more upset was understanding that these coal power plants did not power any homes in our community. They didn't power any homes in Chicago, much less the state of Illinois. And so we were bearing the brunt of this coal power plant for no electricity in our community, for no jobs in our community. And it really riles me up to want to do something about it. So I went door-to-door with... So this is just to sort of provide a little bit of context behind what it's like to experience those types of pollution and the impacts that can be felt especially on young children and having to deal with that as a parent. The two power plants that she referenced, the Fisk and Crawford power plants in Chicago, were shut down in 2013. And the study that she referenced from Harvard University actually showed that about 160,000 pounds of soot came out of that those coal-fired power plants every year. About 500 pounds of mercury came out of those power plants every year. And about 30,000 pounds of sulfur dioxide, which can cause acid rain and also create particulate matter that speeds up the process of asthma. And so when we're talking about coal-fired power plants, a lot of the times we're thinking about climate change and we're thinking about faraway impacts that will affect future generations. And we forget there are people that live in the backyards and the neighborhoods around these power plants that, as she mentioned, are bearing the brunt of the pollution in their communities. And so environmental justice is about making sure that low-income and minority communities are properly protected and ensured the same basic rights that we, all as Americans, do access to. And the definition that we have at EPA emphasizes fair treatment and meaningful involvement. And EJScreen is really helpful in terms of analyzing fair treatment. Our community is getting a disproportionate share of the burden of pollution compared to their neighbors. And also meaningful involvement. When we go out and talk to communities and understand their needs, we have to understand that a lot of the reason that it's hard to reach environmental justice communities is that they have different needs, they have different issues. And if we don't think about those in advance before we engage with those communities, a lot of the times they're lost and they're left out of the conversation about decisions that very much affect their lives. And I promise I'm not going to be on PowerPoint too long because these are really boring. And so when we're talking about environmental justice, we obviously want to consider environmental exposure, but it's also important to understand demographics. And why is it important to understand demographics? We have two reasons that we want to talk about. The first is one that I think everybody here is pretty familiar with and it's vulnerability. We already know a majority of the pollution is in this country disproportionately exists in lower income and minority communities. It has to do with unhealthy homes. It has to do with proximity to polluting facilities. It has to do with exposure to lead paint and other issues like that. So that's not anything that's particularly a surprise to most folks. But the other side of the coin that's equally important but often less discussed is susceptibility. And susceptibility is more biological. It's more intrinsic to ourselves in terms of when we do have environmental exposures, not everybody can react in the same way. And there's a reason behind that. So for example, when it comes to asthma, we know demographically that lower income communities and households generally have healthy houses. So exposure to molds, exposure to cockroach allergens, exposure to dust mites can all be triggers for asthma. And then if a child also lives in a community that's vulnerable, because every time he goes outside there is a lot of heavy metals in the air from air pollution coming from coal fire power plants, those cumulative impacts make those children much more susceptible to negative health outcomes. Another good example of this is with lead paint. We know that children are very susceptible early in their life to lead pain exposure and the effects from that. We also know that children that have less access to healthy foods and less nutrition are a lot more vulnerable to the negative health outcomes because we know that lead actually competes with calcium in the body. And if the body doesn't have healthy nutrition and doesn't have a lot of calcium, then lead actually will stick to bones and be absorbed more into the body. And so it's important not only to understand environmental exposure but also demographics and the communities that we're in and why some communities have such negative health outcomes compared to other communities with different demographics. And so EJ's screen, a little bit of background is EPA's new geospatial data tool for environmental justice analysis. It was released in June of 2015. So it's been about a year now. It's a web-based GIS system. It's really similar to Google Maps. So if you've ever used Google Maps, it's actually based on Bing Maps but nobody uses Bing, so I'll just say Google. But you don't have to download anything. You can zoom in, zoom out, you'll see it, but it's accessible. You can pull it up on your phone. So it's pretty cool. It's a product of PLAN EJ 2014, which is EPA's strategic plan to integrate environmental justice throughout the federal agency. The tool was built heavily with the support and academic assistance from the National Environmental Justice Advisory Council, which produced a 112-page report that a lot of the assumptions and the way that tools were built was based on those decisions and recommendations. And then finally, it was peer reviewed in 2013. So we have worked with academic experts and got a lot of feedback and used that to make sure that the tool is being used in a way that understands the restraints of the data but also it can be made as useful as possible. So some of the key features in the tool. We have 12 environmental justice indexes and I'll be demonstrating those soon. What those do is actually combine demographic information with environmental information so we know those places that are truly most vulnerable and susceptible and we can prioritize those places when we're doing analysis at EPA. We update the data in the tool annually, which is really helpful. So when you're using the demographic data that's in the tool, it should be the best available data that's out there as soon as we refresh it. So we're going to be refreshing it and putting out a new version of the tool sometime next month and that will have the most recent data. It comes from the American Community Survey. So it's a sample of data that is recent to 2014 for the next version. All of the stuff that's in the tool is very easily accessible and you can get printable reports, maps, bar graphs. It takes really complex data and it turns it into something that's easily understandable and I think that's one of the real powers of the tool. We have these data sets of stuff that's really important like cancer risk and diesel exposure but a lot of the times it sits in an Excel spreadsheet and even if you can access it then it's for census tracks and where are those and being able to take all that and put it in one place and put it in plain English in a way that is accessible is really important to expanding the conversation and allowing for people to understand and have meaningful involvement. It's also based on census block group data and we'll show you what that means in a little bit but basically we push the data as far as you can go. Neighborhood level data is very important because we know that environmental justice really does change neighborhood to neighborhood not every county is everybody demographically the same. There's lots of variations so being able to understand where those populations are sometimes of 600 residents sometimes 1200 residents being able to get that high resolution data is very important and then lastly all of the data that's in EJ screen is available for download for the public so you can take the data you can put it into your own tools you can bring your own data into EJ screen we try to make it as modular as possible for all of the people use it for various reasons it can be incorporated for different use and analyses. A few limitations that I always have to say before actually going to the tool. EJ screen is a starting point I like to refer to it as kind of like a sifter you know if you're going out and panning for gold you run everything through it and it helps get rid of all the stuff you clearly don't need and what's left you can sift through but that's not all gold you need to really look you can initially consider but it's not the endpoint it doesn't use it as a basis for decision making it just helps us when we want to get initial information so we can take a deeper look. It does help highlight places for further review but it is not a decision-making tool and that's an important distinction. It's always important to realize that this data because we're taking stuff that needs to be nationally consistent across all 50 states and have full coverage that oftentimes there could be better state and local data so before any decisions are made it's important to understand the different options available and if there is better data and local experience it should be supplemented into any decisions or analyses and then finally lastly it's important to realize that EJ screen does not designate EJ communities. Environmental justice movement started outside of EPA so it wouldn't be our place to make those decisions and beyond that practically speaking there's so many different things that can affect communities in terms of environmental justice so we don't capture in the tool that it would be inappropriate to use this is a way of making designations for places that are or aren't this is just simply a tool that can be used to see if there may be potentially environmental justice concerns in the area that you're analyzing so I'm done with the PowerPoint now. So this is our website and you just need to go to epa.gov slash ej screen. We have pages here that are pretty useful for understanding how EPA uses it and how it was developed there's more background here I'm going to be clicking through a lot and there's so much stuff to actually cover that if you actually want to replicate some of the things you're seeing today or learn how to use it this how to use EJ screen page has these little accordion files that you can sort through to find out how to do pretty much everything that you see me doing today so this is really helpful for actually learning to use the tool. We also have a quick five minute video so it's important to understand how to describe what EJ screen results do and don't say and learn the language. This five minute video I think is really helpful in walking through and being able to speak the EJ screen language and then lastly you know this is great for all you technical experts this is where the data is and more information but we also have this additional resources page where we have links to our technical documentation a fact sheet here's our full user guide we have FAQ and we have a full hour and a half presentation on YouTube that you can view as well and then here's links to other tools that are useful for environmental justice analyses that have been developed by EPA and other federal agencies so without further ado let me actually go to EJ screen and so we're going to start out here in the United States and you can zoom into any place and since the video we were looking at was in Chicago we can start there so I'm just going to just like you would in any other browser or mapping software you can just type in you can type in an address you can type in a city you can type in a state county and it will take you to the resolution that you actually type and so EJ screen really presents data in two ways that is most useful the first is through maps and that's helpful when you want to zoom out and understand the community and be able to zoom in on hot spots so that's good for being able to look at the data one at a time but if you know a place that you want to look at say around a coal fire power plant say around a river that needs cleanup any different site you can actually map a site and then pull up all of the data into one easy to use standard report and get a lot of other information so I'll start off by showing you the maps because I think that's really helpful for understanding how EJ screen works and I'm actually going to pull up the power plants that we were talking about the Fisk and Crawford power plants so I mentioned to you sometimes the data is not as recent as possible those power plants were shut down in 2013 but they're still in our system actually so we can look at them and understand how it can be useful to understand analyzing power plants in the day that we have for those types of work so right here is actually the Fisk power plant and the Crawford power plants located right around here and this is the neighborhoods of Pilsen and Little Village so I'm going to start off by going into the demographic information so what we're looking at here is what are called census block groups all these irregular shapes there's about 217,000 of them that cover the entire United States they're defined by census a block group is literally just a collection of residential census blocks so we all live on a block on average block groups are about 1400 residents and we have census block groups that cover all 50 of the United States so everybody here lives in a census block or another and the data that's displayed is displayed in percentiles which is really helpful so it helps to understand are the problems that we're looking at relatively common or rare or is the the view that we're looking at rare or common so when we're looking right here at percent minority we can see that all the block groups that are in yellow are in the 80th to 90th percentile compared to the rest of the United States for percent minority so what that means is the percent of residents that are a designated minority is higher than 80 or 80 to 90 percent of the rest of the nation so in other words only 10 to 20 percent of all the 217,000 block groups have a higher percentage of minority residents the areas in orange tell us the places that are in the 90th to 95th percentile meaning places where they're in the top 10 or excuse me 10th or fifth percentile and all the places in red are in the 95th to 100th percentile and so for example if I click on this block group I can see that there is about 3520 residents that live on all of the blocks that are part of this block group it's a 99 percent minority which is at the 97th percentile meaning there's only about three percent of block groups in the rest of the country that have a higher percentage of minority residents so I'm going to go through these one at a time we also have low income here we have linguistic isolation well let me say we define low income as two times the federal poverty threshold we have linguistic isolation which is defined by census says no one in the household over the age of 14 speaks English very well and we can see there's a lot of linguistic isolation right around where the Crawford plan is see percent less in high school education this is all adults over the age of 25 that don't have a high school degree or equivalent and then we also have under age five and over age 64 and again understanding susceptibility we know that people children under the age of five and adults over the age of 64 tend to have a higher susceptibility to air pollution and other types of contaminants and so we're looking at things like coal fire power plants this can also be very useful data we also have this for all of our environmental indicators as well so right here I'm clicking in particular matter and I can click on any one of these block groups particular matter in ozone the first two are more of a regional air quality phenomena so you'll notice there's not much variation between the individual block groups that's because this is something that usually if you go within a mile of any area the air quality is generally pretty similar when it comes to PM exposure or ozone so I can see here that the particular matter is 12.7 micrograms or cubic meter which is at the 98th percentile so again it means that in terms of air quality exposure to PM 2.5 only 2 percent of areas in the rest of the United States have an exposure similar to these block groups that we're looking at so there's a lot of particular matter that's already being dealt with by the communities that are living in or around these facilities near or around these facilities we can see overall it seems like ozone is much less of a problem in this community we can see traffic is high again when we want to take a step back actually and uncheck this for a second and if we look at this we can also I should just show you this this is cool too everybody knows you have these different map features but it's important in terms of just understanding a community switching to a base map so you can see actually what is going on we can see for example along the river there's a lot of industry right here and then there's a community here but then we see there's a highway on the other side so the community is literally couched in between I-290 and the all of these industries that are along the river so again now that we look at traffic proximity they're seeing red along all of these makes a lot of sense in fact if I click on one of these block groups we can see that about 680 cars passed by the average household in this census block group every day which is a 97 percentile you know only 3 percent of places have more than 680 cars have passed by their households in the United States compared to this location so I have lead paint this is an indication of older housing but also a potential for exposure to lead paint as a stock of housing pre 1960 this is approximated to superfund sites and it doesn't appear that there is a superfund site close to this area we also have approximated facilities with risk management plans these are facilities that are permitted under the Clean Air Act to be able to store large amounts of potentially dangerous or volatile chemicals so they have to have risk and safety plans we have approximated transfer storage and disposal facilities these are handlers and movers of solid waste landfills and then we have approximated major water dischargers and these are going to be people that are legally permitted to discharge large amounts of pollutants into the river and we can see right around where the two power plants are because they do have water discharges those are a large source of water pollution in the river and then we have what are called our EJ indexes and so what an EJ index is helpful for is basically what we do is we multiply each one of our 12 environmental indicators by what we call our demographic index so I'm going to show you now and the demographic index is very simple it's just percent low income plus percent minority divided by two and that we use this as the basis for understanding demographic vulnerability because the executive order 12 898 for environmental justice specifically references these two populations as being the federal government's primary duty to protect those communities and so basically we use this as our proxy for understanding demographic susceptibility and vulnerability we multiply this by each one of our environmental indicators to understand where are the places with the highest amount of pollution but also low income in minority communities so again when we look at p.m. now we see that the block groups that are lighting up in red will have both a very high exposure to particular matter but also have a high percent of low income and or minority residents so to understand that I can actually click on this block group and I can see that the again the p.m. 2.5 exposure is at the 97th percentile so it's very high and then the demographic index percent low income plus minority divided by two is 92 percent which is at the 99th percentile so this would be a place that we would probably look at more closely understanding the again those basic principles of susceptibility and vulnerability we could do that for all of these but you see generally where there's a lot of traffic but also high low income minority populations those areas light up red and we can go through these all the time all the way but I'm trying to make it through and have plant time for questions so I think you get the idea we also have other map layers that can be really useful and these are in our map supplementary layers so again I'm going to find exactly where those power plants that we were talking about are so I'm going to zoom in where I know one particular plant is and I'm going to go to toxic releases I see a dot here so I'm going to click on that and that's not it that's the Welsh ready mixed plant but here we have the fist generating station and that's useful for being able to see exactly where the facility is but there's so much more information you can access here so remember when I told you all of those numbers in terms of the total amount of heavy metals and other pollutants that were coming out of these facilities we can actually see all of that right here in this really easy to use and very useful tool this is our TRI indicator so what we're looking at here is total releases from just the Fisk power plant from 2003 through 2012 at the peak year in 2008 there was about 378,785 total pounds of just barium that was put out into the surrounding communities into the air and it looks like there was just under 500,000 total pounds we can see that here there's 11,000 pounds of copper 36,000 pounds of hydrochloric acid 36,000 pounds of hydrogen fluoride and we can also go through these one at a time so I'm going to just uncheck all of these the ones that we talked about at the beginning one of them was mercury so let's go to them look at that look at that in about in 2005 there was 125 pounds of mercury emitted from the power plant which the powerful neurotoxin is very much can affect the developmental abilities of especially young children so even 100 pounds dumped in the community can have a substantial effect you can look at sulfuric acid and see especially in these two years 2006 and 2007 there was 13,000 pounds of sulfuric acid or 11,000 pounds so you can go through this tool there's a lot of information buried in there you can also try to see if water quality we know that there's issues with air quality but what about the discharge is happening in the river and so I'm going to go to map supplementary layers I'm going to go to water features and I'm going to click on impaired streams see do these streams meet EPA standards for being fishable and swimmable rivers so I'm going to click on this stream segment right so I'm going to click on this one that's by the Crawford power plant we can see that the area that we're looking at this is specifically the Chicago I don't know what sand is an abbreviation for and ship canal anybody oh okay and and we can see what the causes of impairment are we have ammonia an iodized we have dissolved oxygen phosphorus and PCBs and so all of these make this river that's in this community's backyard unfishable and unswimmable it's not a safe river to swim in for obvious reasons and so these are additional things when we're thinking about the totality of community and the things that they're dealing with also understanding that the water quality that's here is also a problem another thing that's important when we're looking at the power plant is proximity for schools that was something I mentioned earlier while kids are playing outside one of the things we never really thought about a lot of us in the communities we grew up in is is the air quality actually harmful for us while we're running around on playgrounds and so we know the power plant is right here let's see if there's schools nearby so I'm going to go to places and I'm going to get rid of this and let's see where all the schools are and we can see that within less than a mile there is a number of schools and very close proximity to the power plant we click on it and see exactly what the name of the school is this is an art studio this is a commensi school this is actually an elementary school and this is another elementary school so we have under places schools we have churches which are also a good place in terms of if you want to do community outreach finding out where that data is and we also have hospitals in terms of access to health care this can be a good proxy and we can see there's not really a close hospital nearby so there's a lot of other things in the supplementary map layers we have transportation if you want to see where freight lines are or where airports are we also have tribal boundaries we have areas to see are they in a attainment for air quality standards for different things like particulate matter ozone sulfur dioxide we also have boundaries so if you want to see the county boundary if you want to see the congressional district if you want to see the state you can pull up those different boundaries so we have a lot of other data that you can pull into the tool that's very useful for analysis but now i want to show you the reports because that actually can be really helpful and in terms of understanding and community now we're going to go over to little village so if i'm doing an analysis and i know the the crawford power plant i mean just is right over here it's around here and i know that the area i want to study is right here i'm going to actually get rid of this stuff and do an analysis of the place specifically so one thing that you can do if you want to do just a circular buffer so you know the specific site you put a dot on the map you can specify a buffer so i want to make a two-mile buffer and just hit add to map that's two miles and that's two miles in every direction what this is going to do is some uh add up the average of all the block groups that are within this circle and give me the average demographics and environmental exposure for every all of those maplers you saw in one place sometimes you might want to do an analysis around a highway or a river so you can do a path or a trail so i can follow just do a bunch of single clicks and then when i finish i'm going to double click i can also add a buffer on either side of that if you want but in this case if possible it's always best to actually specify the exact boundaries of the area you want to look at and so what i'm going to do is draw in a regular polygon i'm going to start here just again through a series of single clicks this usually always goes wrong so i'm impressed that it has and then i'm going to just double click to finish and so i can go explore reports is a good quick look at all of the data that we saw in one place we'll start with demographics and takes a second to load takes two seconds to load so while it's loading all of the information that we saw it sometimes will take a little bit to pull up it can be we'll show up in one place we have the demographic index we have minority population low income linguistic isolation uh less than high school education and and also another feature that's pretty cool is you can also now compare to the rest of the state region or us so for example and let's try that for environmental exposures this isn't a great example because most of these pair but a lot of the times you might see for example that pm 2.5 could be at the 40th percentile nationally but at the 99th percentile compared to the rest of the state and so what that will tell you is within the state this is a very high value but compared to the rest of the nation it's not that high of a value another way of looking at it is i'm from montana right and so if you want to look at uh transportation or a number of cars are passed by the average household if the number is 150 or 200 that number might be close to the us average but in montana that number could be very high so it helps you get the sense of is this relatively rare or common within my state uh as well as compared to the rest of the country and sometimes it's a lot more useful to compare just to the state uh for your for your needs so it gives you a sense of again that commonness rarity but at different perspectives so we have all of that data here you can check it this is for epa regions which is less useful for people outside of epa and then we also have that for our ej indexes as well but what we can see though across the board is is there does seem to be a lot of a particular matter is a particular issue there does seem to be a lot of old housing in this area there is proximate to a number of facilities with risk management plans and major water dischargers which are both indicators of living near uh facilities or industry uh so we can see that there are things going on as well as uh potential for demographic vulnerability and susceptibility as most of our indicators demographic indicators are are high around the 95th percentile or higher if you want to get all of that information in one place in a report this really easy use all you need to do is click this button hit printable standard or get printable standard report you have to have patience with this too but while that's loaded i'm going to pull up another report that is also pretty useful so here's all the information for our um ej indexes that we saw here's the graph that goes along with it if i go to page two here's the map of the area that we pulled up and then if i go to page three i can get the actual raw data to interpret all of that and then also uh you know understand this a little bit more bless you so for example if i'm looking at linguistic isolation i can see that it's 33 percent is the actual raw value so i mean one in three households in the area that we're looking at which is 73 000 people one in three households no one over the age of 14 speaks english very well oh yeah go ahead absolutely so all of the demographic data is from the same vintage and from the same source that's from the american community survey the data that we're using in this version of ej screen and let me actually go back to show you it we can see it's 2008 to 2012 the next version we're updating to 2010 to 2014 so it will in the next version be the most recent available demographic data available to the public the vintage of the different environmental data sets does vary and that's an important thing to note actually so if i go back to the web page and i just go here we have the environmental indicators or demographic indicators if i click on environmental indicators i have the uh where it's from um what year that it was uh developed and where i can get more information on it and so these are all links to to that information as well so all of that information is detailed and if you want really explicit detail if you go to the uh technical documentation right here that also has a lot of really the couple pages per environmental indicator why we select a rationale for inclusion um you know environmental effects things like that so the technical document uh is also a really good resource let's see where were we uh and then so this is the so basically this is the um one of the main features the ej screen standard report and it has all the information we've covered today but i also want to point out the acs demographic report because this is also very useful um so we can see for the area that we've selected which again is just this community that's highlighted right here the population is about 73,600 residents that we have the population density we see the total number of households here in housing units we also have a population broke down by race with extreme detail we also have information on educational attainment and so this is going to be really helpful because sometimes you'll see a community that has 35 or 40 percent with a bachelor's degree or more but you also see 35 or 40 percent with less than a ninth grade at education and so understanding the variability that exists within a community is that homogenous is it all the same or is there a lot of differences within a community it's really important for understanding context on the ground for a lot of different reasons that's also true in terms of income we have income levels broke down we can see for example that it seems like 18,000 or excuse me 18 percent of households um make less than 15,000 dollars a year um 21 percent make between 15,000 and 25,000 dollars a year 34 percent make between 25,000 and 50,000 dollars a year per household to get a sense of what the average economic levels are and if there is again disparities or if it is relatively the same so just a lot more demographic information that you can use so really understanding the potential for communities in terms of doing community engagement and then also those questions about vulnerability and susceptibility so that's basically EJ screen in the nutshell I there's a few other features I can quickly point out for those of you that do have other data that you have built out you it's very easy to add it into the tool you just need to publish that and ArcGIS copy and paste the link and hit add to map and you can bring your own data layers in so if you have state or local data you want and you also want to access the demographic or environmental data and look at them side by side you can bring your own data into the tool if you know about other layers that are already out there you can click on this search available data and we do have some map layers that are in here that you can get in terms of this is some better schools data here's information about other hazard environmental hazard pollutant risk so just a lot of information that's available but at the end of the day I think this is just a really good tool as a starting point for considering environmental justice in a lot of different ways and understanding the real human impacts that are behind the work that we're doing and and I think that story at the beginning really sticks with me in a lot of the work we do especially with coal fire power plants to realize that there are a lot of people impacted by that by those effects and we need to keep that in mind in the work we're doing why it's so important so that's a great question we have translated some of the materials including fact sheets and some of the pages into Spanish it is a longer term objective to translate it we have very limited resources and there are real costs in between you know building another version of the tool that's in another language I think that's a point that's very well taken and it's something that we have talked about with this first public rollout and release of the tool we had about 250 requests for different features and functionalities and we expect those to level out over time and I would say you know we'll definitely work to make future versions available in Spanish and I 100% agree in the importance of that and this tool is not only about being able to find places where there's linguistic isolation so we can do translation but also it should be translated for the very principles that it stands on yeah so C first is more of a cumulative impacts or risk analysis tool and so EJ screens really good as a starting point we have a lot of data and it's really about being able to have user to find areas and zoom in and get all of that with C first you have risk characterization profiles and you have the ability to go in and sort of tell a story and pull in pollutants in and analyze and what are those health effects and kind of walk through a series of steps to talk about something more in depth so we have used these things hand in hand we actually have done presentations where we show how communities use EJ screen to identify priority areas to focus on and then they use C first to develop risk profiles and plans for action so they really do work well and there is a lot of overlapping data but in terms of functionalities and the different ways to use them C first is a lot more for digging in deep and understanding things more and EJ screens more about trying to understand everything that's out there and then zoom in on those places that are most affected or most impacted it's been really overwhelming honestly and I think unexpected we were excited to release it to the public and we knew there would be a lot of potential users in the first month though when we released it we had over 150,000 users access the tool and we've had a lot of regular users since then and we I've done presentations for every stakeholder group imaginable so there's a lot of different users we have had some big successes in working with FEMA to integrate the tool into their own geo platform so when they're considering cleanup efforts after things like Hurricane Sandy they can target those places they know are most vulnerable they had had the least capacity to weatherize and protect themselves from storm surges and other places that might have pollution issues that could be exacerbated by storms so incorporating it into FEMA to consider environmental justice as a layer of analysis was really important we also incorporated the tool into HUD's community development block grant tool so states can decide when they're delegating funds for where new housing and assistance is going they can consider environmental justice issues it's been used by states and local governments in a variety of different ways it's actually been proposed in legislation in New York City and it's being used by community groups in a lot of different ways in fact we're working with climate justice experts that have been using the tool just to pull in the demographic information to see where there is communities that are less prepared and resilient and ready for adaptation for climate justice issues so they look at those this information with their own data and we're working with them on the next version of EJ screen which as I mentioned will be coming out in June to see if we can't bring in additional map layers on climate change and climate vulnerability as well so it's being used by EPA to look at places that we should be targeting for grants understanding places that we should take a closer look at when it comes to enforcement and permitting efforts there's been a lot of different uses and different purposes and I think that speaks to what there was a real need to be able to access a lot of this data that is available by different federal agencies in a really user-friendly accessible way that's what we're working on right now and there's a lot of great federal agencies that have developed tools on that already and so we're looking at where we can find maps where we can see where there's potential for coastal flooding for places where there are heat islands and heat vulnerability we're looking at places in terms of a lot of different indicators there's hundreds of map layers that have been developed and we want to really narrow that down so I would say there is a lot of that data that's out there in a CDC health public health tracking network has a great tool that would definitely recommend you look at that's the CDC public health tracking network and they have abundance of data that they have these things so you can look at heat vulnerability by county and you can go from 2010 to 2020 to 2030 all the way up to 2080 to see in Texas or Florida how temperatures are going to change over the next 60 to 80 years and again understanding vulnerability in places to focus on that could be useful so we're looking at places where it makes sense obviously we don't pull everything under the sun into the tool but those few map layers that are most critical for understanding will bring bringing into this tool over time so the other question I was curious if you can understand my previous understanding was that you couldn't overlay both like multiple environmental things like smog and water and lead and also see that in terms of the demographic. Yeah and that is correct so each of the environmental indicators you can only look at one at a time but these are pre-calculated the EJ indexes and so specifically how it works is we take the raw environmental indicator scores to say it's traffic and there's 280 cars that pass by the average household every single block group in the United States has a number associated with that environmental indicator we multiply that by what is our demographic index which you know in an area right here we can see the demographic index is 82 percent and but actually to be more specific what we multiply it by is the demographic index minus the actual national average and so what that means is that any place that's below the national average for demographics of 35 percent is not going to show up as an issue because mathematically that'll be a negative number but anything above that and the higher that the demographic index gets that's a multiplier so we understand both of those things together and we have in the technical documentation and an explanation about this again I mentioned on the page we have this how to interpret a standard report this five minute video I think does a better job of explaining it than I'm doing right now but that's again just trying to understand those places where there is that individual environmental indicator a high level of exposure or potential for exposure and as well as high demographic indicator as well yeah absolutely absolutely for houses you mean for energy efficiency or that's stuff that we've looked at and unfortunately you know we're really limited by the data that's actually collected and this has been a great exercise for us because as a result EPA is developing new datasets that we can incorporate in the future unfortunately I have looked into that and there's nothing that has been developed at a national level I would say though the lead paint indicator which is just stock of housing pre 1960 is a really good proxy for energy efficiency because houses that's older generally will have less recently been built with insulation that's more modern or windows or doors where there's you know gap underneath and so older housing generally or the lead paint indicator is a good proxy for understanding whether there's energy efficiency or not well I did mention on the additional resources page we have these are all of the EPA ones and I and we were putting more on here as well and there is a lot of good stuff out there in fact we should be putting more of those things the CDC public health track network has is a great tool HUD's developed a lot of good tools about healthy homes and if you're looking for any specific data and you have a question afterwards I'm happy to help you do point you to people or websites that might be useful I Kevin I wanted to ask them to follow up on that when you were talking about you know that they're that you're building out a variety of new datasets and everything like that but there are certain areas where there just isn't information available so are you also like identifying those bringing because it seems to me that this is a great opportunity to identify where there really is a lack of information that would be very useful as as you were indicating so that it's very hard to to unless unless we identify those gaps to really get those issues addressed and that that could be another great service that this whole tool could could provide and could help other agencies in terms of thinking about and help Congress in terms of knowing here's where we really do have some very important information gaps to make sure that that gets followed up I mean I think that would be very important and then the other thing would be as you were saying to really expand the list of other like cool data information like the CDC or the FEMA maps or whatever if they're not going to be able to be layered into this but so that there really is a comprehensive list and then if we could make sure that the different agencies are kind of also providing the same sort of information including EPA's EJ screen in terms of their various platforms so that we really get it all coordinated and be awesome yeah I think that's a great point so I have a few thoughts on that first of all in terms of data gaps I have a lot of thoughts on that and I'll keep most of those to myself I think there are a lot of places where we can constructively work to fill gaps and sometimes it happens for different reasons I mean for example there are very regional issues so if we're talking about mountaintop mining if we're talking about KFOs or controlled animal feeding operations those are more regional so the data set does exist but we don't have it in as an environmental indicator because it's not nationally representative but we are looking for other map layers so when we talk about you know these map layers the supplementary map layers when we're looking at places and transportation water quality issues and sites we're looking to bring in things like KFOs and other places where we can find data to bring in for those more locally useful issues in terms of data analysis and gaps I don't want to share them now because it's controversial but that's a long conversation and it is complex but I think the federal agencies are doing a better job of responding and creating these you know we always kind of lag five years or ten years or more behind the private sector on some of those but I think agencies are rapidly putting a lot more resources and there's always so much stuff happening it's hard to keep track of it we absolutely will make a commitment and it's one of those things on our list that we're doing as a part of the update to add a lot of other tools that are out there in federal agencies to our list on our website so that's going to be published shortly and I think we're also trying to do a better job working and when we go to conferences and talking between agencies that we present these tools together because this tool can be really useful when you use the HUD AFFH tool that has a lot of data about housing and and where public housing is and access to affordable transportation and you know those types of issues when we're talking about community things we need it's really important to get out of our stovepipes and understand the interrelated nature between a lot of these things and I think it's something we're doing better at we still have a long way to go great any other questions or comments okay um and we and as I mentioned earlier to to Kevin we would be very interested in taking another look in a few months after you have new data and hopefully if if you all are interested let us know because we'd be happy to have Kevin come back again and and go through more specifics and in terms of the new data and what it tells us yeah and can I make a quick plug for that real quick sure absolutely make that plug sorry I'm sure that my boss would get so mad at me if I didn't do this we would not want that to happen no you know I wouldn't either so when we're looking at environmental indicators some of the data that's missing that's really useful is this what's called NATO data it's the national air toxic assessment and that's a combination of air monitor data that we fuse with modeling data to understand each of these issues so we're going to be moving into the tool in the next version diesel particulate matter which is a very prevalent issue especially when we're talking about goods movement in and areas close to heavy traffic cancer risk which is obviously very important as well as respiratory and this is increasingly becoming more of an issue with wildfires in particular matter that is caused by that and so all of this data is going to be included in the tool there's going to be some other really cool features you'll be able to zoom out so right now all you can do is look at block groups but you'll be able to zoom out and get averages for what are called census tracks which are larger units than census block groups and zoom out and then look at counties so not only can you look at within counties but now you can look between counties to understand the differences between them you're going to be able to have a save feature so you'll be able to save multiple sessions which you can't do now so there's a lot of really great things and the best thing about all of those updates is that we did a really intentional push during the last year to get as many comments as we could to how we can improve the tool and we received over 250 public comments when you say a hundred percent of all the changes that are made and the update were requests from the public so this has really been a collaborative process and I think we're trying our best to understand stakeholders needs across a variety of sectors and expand this tool to make it more useful in that way so one last comment that I had is based upon this what sort of collaboration or are you doing with NIEHS the National Institute for Environmental Health Sciences because I could see in terms of what it could mean for driving some of their research and the kinds of data that they are gathering or want to do for their analysis on that this could be a very very interesting correlative effort there's probably 10 federal agencies or offices in federal agencies we should be doing a better job of working with we are working with a lot of federal agencies right now especially in HHS like CDC and ATSDR and that's an area where we should work a lot more in terms of thinking about pairing this with academic needs and really doing studies that help advance the actual understanding of the impacts in terms of risk and exposure right because this helps you know where some of those hot spots are which could be very useful for them to think about they need to drive research very very interesting well I want to thank you all for coming and I want to thank Kevin great job


Good day fellow investors. During the past weeks my stocks to watch screen has been bleeding red and that usually makes me smile because it means that opportunities are coming my way. In 2016-2017 I made amazing returns from Brazil so I would like to share with you hopefully the same returns I enjoyed in the past in the future because opportunities might be there. Let's see. First an example of what I did in the past as you can see here my articles on Seeking Alpha on a Brazilian utility from January 2016, March 2016 when the stock price was below 2 it went down to 1.05 the lowest purchase and then I sold above 2 depending on the risk reward up to 3. Why did I sell? Because again of the risk reward so I always think be greedy when others are fearful and be very greedy when others are fearful in emerging markets because they don't understand them. So it's time to look again at Brazil all the investment opportunities find the best risk reward opportunities which are usually those with low risk so low potential of capital losses and huge amazing potential returns. The topics of today are a general overview of Brazilian stocks, an economic overview, the short-term view which is what the markets are looking but I prefer to look at a long-term perspective of the country then we look at investment opportunities we have 30 stocks traded on the New York Stock Exchange and 48 over the counter and then I'll finish with my investment strategy and what I'll be doing the next week to to find the best investment in Brazil. So the Fed has been increasing interest rates and the first cracks have started showing up in emerging markets because emerging markets have a lot of US denominated debt and their revenues are in their weakening currencies. So those are two headwinds that make it difficult for them to repay for them to take more loans increase their interest rates and the economies grow slower. So when that happens it leads to something extremely important for emerging markets and that is market sentiment because those markets are shallow and then market sentiment as most investors like to make a quick buck here and there then they chase returns the same principle applies on the other way it's always a self-reinforcing trend so when stocks go up then investors chase those returns when stocks start going down when the trend is negative when the series of news are negative then people start selling selling selling and selling in panic no matter the fundamentals no matter the price because all what they can see okay there is more uncertainty more bad news ahead let's sell no matter the price because this will go even lower and that's what gives us the opportunity those who have the stomach to invest in emerging markets when nobody else wants. Take a look at how volatile the Brazilian ETF is. It was a 15 bagger from 2002 to 2008 only to drop 70% in the final year of that bull run 2008 there was another bull run in 2009 from 2009 the ETF declined up till 2016 and there has been another boom 2016-17 only to drop 40% over the last six months. I'm going to immediately tell you that I have no idea where the bottom will be and nobody has the only thing we can look at is find good businesses with great fundamentals that will do good no matter what which means that we limit our long-term risks but have a good exposure a good business return first and there is always the potential that the stock doubles if the sentiment again towards Brazil changes. The key of owning a good business is to be happy when the stock price drops so that you can average down and you can buy more for cheaper but I'll finish with that on my investment thesis investment scenario but let's now look at the economic economic situation in Brazil there are two ways you can look at economics one you can follow the news and what the news is selling to you what they are feeding you to get more clicks and more views there's nothing else so you can watch that or you can watch real key indicators that show you how an economy is growing development or not let me show you both views the short-term view everybody is looking at the currency the currency has weakened over the past few months central bank has been trying to stabilize that but not really succeeding as people are selling off their Brazilian assets due to they already mentioned panic but currency volatility is something we have to watch and take advantage of just to mention the Brazilian bank is protecting the currency with foreign exchange swaps I think it was 26 billion in the previous week US dollars so investors again wonder for how long will they be able to do that the currency in combination with striking trackers where the country was paralyzed for more than a week led economists to cut their 2018 growth forecasts for seven consecutive weeks so from a growth of 3% GDP the group is down still to growth of 1.76 so it's not a recession yet but we are still at growth another thing that Wall Street doesn't like is uncertainty because then you don't know what will happen and wannabe investors are not that developed to be able to understand uncertainty and investing uncertainty where the best opportunities are the problem is that nobody knows who will be the next Brazilian president what will be the political direction Brazil will take as you can see here Bolsonaro has about 19 20% in the polls others have 10 15% but you never know who will take the win so what I prefer to do here is make my investment analysis and thesis as the worst will come so let's say the currency depreciates another 25% let's say there is a recession and let's say there is a political a business unfriendly political party at the helm of the country if in that environment I managed to find a good business that will do well and that is cheap because ETFs are selling all around the world and everybody has that mentality herd mentality then I'm finding myself bargain a margin of safety and value for low risk higher returns let me show you the long term economic view on Brazil this is internet penetration and over the last 10 years Brazil has really improved from 23% of people having internet access now we are more than 70 and that will probably grow in the future so more internet is good developing there are opportunities there are markets growing despite the all the turmoil and despite the fact that the Brazilian stock market is still 70% below the 2008 peak things are growing there something I like even more is to look at energy consumption because it shows how the real economy is developing what are things doing and not GDP related that shows just some things so we can see that in energy consumption in Brazil has been growing has grown what 30% in the last 10 years which means that the economy is growing the people are continuing to live are improving their lives and things are getting better no matter what might be the picture shown to us by short term news let's take a look at investment opportunities the brazil etf from ice shares has already a price earnings ratio lower than the average of 14.18 the price to book ratio is also good 1.56 but I prefer to look at the individual stocks this table can be downloaded in their link below so feel free to check it the all the stocks traded on the new york stock exchange and nasdaq from brazil and then there are always over over the counter stocks but they have low liquidity nevertheless always I will take a look also at those because you never know what you can find compare and perhaps even its worth to pay a little bit extra to find something better so I'm going to be looking at what 78 79 stocks going to compare them all find the best investments see what is the best margin of safety low risk high reward investment it will take time but that's the only way you can really approach long term sustainable investments in order to reach market beating or in order to reach even more important satisfying long term returns that will lead you to your investment goals to conclude with the investment strategy you have to find businesses that give you a good business return no matter what and you have to be ready to average down which means that you have to have the stomach to take another 50 drop in the stock market as it is volatile as people sell in panic and be ready to buy when everybody will think that the country is going bankrupt that all the stocks will go bankrupt and then that there is only doom and gloom in brazil so when that happens then you have to be greedy that's why I'm taking my time take a look at everything and really invest when there is an opportunity fortunately emerging markets are very volatile so you get one two three opportunities per year to invest in something really cheap let's dig into there will be more videos on youtube most of the content will be on my research platform but I think I will be able to add a lot of value also to only the youtube viewers so please subscribe thank you for watching looking forward to your comments some interesting insights that you might have always like to share to add value to our viewers see you in the next video


Up next we have a talk entitled Shipping at the Speed of Life by our home dude Corey Donahoe from GitHub in the San Francisco's. He has two great dogs named Cindy and Denali. He has great barbecue at his house and he probably enjoys walks on the beach because who doesn't? Corey Donahoe. So this is called Shipping at the Speed of Life. It's basically a talk about how when you want to maintain a competitive advantage in like a really crazy market, how you can get features to users in a very fast way and that's basically what we're going to do today. This is me when my hair's shorter and I've been shaving. We're working GitHub. Do you guys all use GitHub? Yeah. I love working there. It's really fun to be able to work on a product that I use and so many people that I know use. Online I'm in various places. I haven't started work and I pretty much go by having some Twitter and GitHub and all those other places. So that's basically a little bit about me. But this song is basically like a shipping culture at GitHub and how we really care a lot about getting features in front of people and fixing bugs quickly. We don't really like to let things linger. And so it's a little bit of the philosophy and how we talk or how we ship and why it's so important to all of us. So we love it so much. We've even made little images of the squirrel at any time that we're kind of skeptical as to whether or not we should ship something. Someone will paste this picture of the squirrel telling you to ship it in a campfire and you realize that shipping shouldn't be this big scary thing. It should be funny and cute like the squirrel. And so the main thing is keeping GitHub.com happy and healthy. We need to be moving very quickly. We want to have the blast and everything on GitHub means to stay at a certain level that we think is acceptable. And to do this communication is really, really important. We need to be able to know what everybody else is working on. We need to know what they're thinking, what's been deployed, what hasn't been deployed, why things were rolled back. We need to respond. We have days where crazy things happen and we need to be able to look at the system and we might even need to put something in temporary just to get through the day so everybody's experience on the site is at an acceptable level. And we do this by measuring like crazy. We measure performance over applications but we also measure the failures. We need to know as much information as we can about the system at any given time. And we've been doing this by building tools around our site. So we're not only building GitHub, we're building tools that allow us to keep GitHub at a certain level of quality and we built a few things that I'll cover a little bit later. And so with Ruby you get this idea, Ruby on Rails, that out of nowhere it's going to have this great application and everything is going to be cool. But once you kind of start to grow and get a larger user base you actually have to work very hard and at that point Ruby is just the technology that she shows. And we've discovered that as more users come into the system Ruby on Rails by itself isn't going to be able to handle all the workload that we have. And so we do this in a way that we keep an idea as to how everything is going on the site is we measure the front of behavior. So we not only care about our neural response times but we want to know how long it actually feels to the user to load the web page. And so we use this thing called BrowserMob, which is pretty cool because this is our BrowserMob load times from all over the world with the CDN provider Optimize. So we've been trying different CDNs to push assets around the world in order to make sure everybody has a good user experience. And with BrowserMob we were able to set up multiple tests that were going from all over the world and we could see how long that page actually took to load for different users. And this is EdgeFast, another CDN we tried. And so you can see that this gives us insight that we wouldn't really have. What we do is we sit there and refresh web pages and look at it why slow, that's not really going to give us the graphic distribution we wanted. So a combination of BrowserMob and a few CDNs allowed us to measure the front end. We also use Pingdom, which is good for us as far as knowing whether the site's available. So certain parts of the site have all sorts of various usefulness, but we want to be able to know which parts of the site are inaccessible from various parts of the world when Pingdom does the same thing. It's pulling from a lot of places. We also have to measure the back end behavior. So the user experience is very important, but we need to be able to also know how all of the internal systems are growing. And we're not in the cloud. Git is actually a very, very IO intensive process. And so we can't get disks on a cloud provider right now that are going to be fast enough. And so we actually have to pass the plan. So unlike everybody jumping to the cloud because it's hip and fashionable, we have to call somebody up and say, we have to get servers because we have to get pairs of servers because we've run an iavailability system and we need to be able to bail over. And we use a tool called CollectD, which is really awesome. It's very old and the graphs aren't that sexy, but you can do all sorts of really cool stuff with it.  You know, it's like, can we rescue jobs in the business in a minute, or all sorts of little things. And it's nice to be able to collect that information. You may not need it right now, but it may be useful in a month or two. We use Nodios for monitoring and alerting. This is pretty standard stuff, too, but it allows you to set thresholds and say if the CPU is pegged at, you know, the lower average is at 24, then that's not acceptable. And someone probably needs to log in and look at that system. We also do a lot of custom metrics. So we build stuff with Graphite and with Redis that just allows us to do counters. So like when we launched the Mac app a couple of weeks ago, or I guess a month or two ago now, we had in place a way to find out something simple like how many times did someone install the Mac app. And it was cool to know that within 24 hours 24,000 people installed the Mac app. And that was awesome. And it wasn't necessarily providing much, other than knowing that people liked it and well, people installed it. And yes, we got 900 exceptions that day, but 24,000 people installed it. That's pretty awesome. And one of the big things that we have to do is communicate. So in order to ship fast, we use Campfire. And we use Campfire basically like a searchable log store. And we also use this native client called propane, which is really cool because they have this folder that you can drop random JavaScript files in and it can manipulate the DOM that is coming back from Campfire. So we do things like, you know, add graphics. All sorts of little things that we can just make it a little bit cooler. The big thing for us is searching Campfire logs. I can go in and search for, you know, certain types of repo corruption. I might find something from nine months ago where Ryan's Mako went through and identified the error, talked about it, created an issue, and I can say, oh, if this happens again, then, you know, something obviously changed. And that's really useful for us rather than having to say, oh, well, you might want to talk to Brian. He might remember it, but he's not working right now. He'll be on at 9 p.m. when you probably want to go have dinner. The cool thing about Campfire is they have this streaming API. So you can connect to it and all the information that comes by just streams right into your client. And this allows us to do this thing called Hubot. And Hubot is awesome. He's basically a little Node.js bot that works with the Campfire streaming API, and he can listen to commands, and he can also do things on his own and skew information for the channel. That turns out to be really useful when we want to do things in a repeatable fashion and we want everyone to be able to know about what we're doing. So Hubot can do all sorts of cool things like he can open the door for you. So you can log in, you can walk up to the door of the office, open up Campfire, and say, Hubot, dorm me, and all of a sudden the door buzzes and you're allowed to walk in. And it's just a little Arduino hack, but it was a whole lot of fun. We were able to set up this Campfire bot to let us in, and it's great. You can say, office me, and he tells you who all is in the office. And it's just like a little SMM media app that checks for MAC addresses on the router, but we're able to just say, office me. And you see everybody's avatar for who's there that day. It's pretty awesome. So Hubot, and he'll go to Google Images and pull down one of the first 12 responses from Hubot. But Hubot also has this really cool functionality where he can do distributed execution. So we have like a dozen file servers. And when you want to run a command, you can say, Hubot, tell me the load on all the file servers. And Hubot goes and runs all these commands on the file servers, aggregates all the info in case it's back to Campfire. And suddenly we don't have to be, you know, I can confirm my phone if I get paged. I can ask Hubot what the load average is on these servers and I don't have to be on VPN or have my laptop. And it's pretty rad. The distributed execution does a whole lot of stuff, like men cache addictions, all sorts of rad information. But Hubot can do a whole lot more. People often ask us if we're going to open source it and we want to, and we have a repo that we can do it but we're not using it. And the functionality is being added to him so fast by all the people who work there that it's going to be very, we're basically going to have to like take a week off to back exclusively in order to distribute it. How few might do it? But basically to get a whole healthy and happy idea that is going on with, you know, the goals of shipping, you need to know that like day to day we're working really hard to understand the system and make the user experience great for everybody. And when you start to see how these tools work together it's pretty rad. For us, we want to make our users really happy. And it's very important to us. And so we have email support that people use email support at GitHub and all of us see it. And we also keep an eye on Twitter. You know, we may not respond to everything that everybody tweets but we see those messages come by and we use that to gauge, you know, how happy our users are. And basically once your site hits any certain number of users errors are unavoidable.  So we've developed an internal tool called ASTAC which is very much like Hot Toad but catered a little more to our environment and it's not that hard to build something like this. But so with ASTAC you can see the error rates over the last like 12 hours there. At the top you can break it down by all of the different sub-domain applications we have and if you look at the bottom the latest exception is just stream it. So it's really cool when you ship something new to be able to go to ASTAC and just see what types of errors are coming in. And you start after you look at it for a while and you start to see which errors are pretty common and unavoidable like timeouts and things like that and you know, or why that service error is blowing up but it allows you to really see which ones are crazy and you know that we should immediately fix and which ones are safe to just let go. But the cool thing is we can look at the most frequent errors. So if new code goes out and then I look the next day it's like you know we have a thousand errors of this type and it's related to the code that we shipped yesterday you know maybe we should go back and look and see if there's a bug in there and something that we can fix to avoid that. But yeah streaming in real time is wonderful for when you deploy your features. And the big thing for us with ASTAC is we're able to see if just a few users are experiencing problems or if like many users are impacted. You know is everything blowing up and going crazy or is it just you know if something has a really weird repo or you know that core quest just has like a broken foreign key and that's why it's blowing up so you know that's why that one's exploding but we want to make sure that if something's impacting a lot of people that we get on it really fast. You know this allows us to respond to the failures that we may miss you know a lot of times you just kind of push things out there and brush your fingers and hope that you know stuff's going to work and that really doesn't apply for us. You know we need to be able to respond and we need to know you know how things are blowing up in order to fix them in a timely fashion. We also use a tool called Jenkins for Continuous Integration so it's an amazing tool it's a job tool but for us we use Git branches a lot and so Jenkins builds every branch all the time any time we commit on any app that we have and it doesn't come back to be pretty cool in a minute but at any time we can say hey Cuba what's the status of GitHub we'll pay stack too and it'll be like it's green and it'll get you all linked to the build up so Jenkins CI is wonderful it has a really solid back end you don't have to like having used CI Joe and you know integrity and all those things over the last couple of years I really like how well it just works and it has an acceptable API so for us when we switch to Jenkins we need to be able to go in and basically pull the internals out from underneath all the developers and put Jenkins in but make it so they get a notice and the API allowed us to do that we were able to go in and basically not change the campfire interaction for the developers and we just kind of plug it all in to Cuba and everything worked out really well and how it works is GitHub basically hits this middleware application that we have called Jenkins and so Jenkins gets a web book and we get information from GitHub like a compare URL for that change set and we store all of that information in Jenkins Jenkins turns dishes a build request off to Jenkins with a few parameters to tell what SHA needs to be built and stuff like that and Jenkins has a web notified API so when the build finishes it gets back to Jenkins and Jenkins says okay that build that was for this branch and this SHA was successful or failed and then Jenkins tells Cuba and Cuba tells us in campfire it's actually really simple but it works very well and so we sort of do this continuous deployment thing but a lot of people are like you aren't doing it unless your CI is deploying and that doesn't actually work for us and I'll explain a little more why in a second but as long as you're getting things out and into your user's hands quickly and there isn't this complex for view process of you trying to do things you just want to be able to fix those are just errors they're gone, they're running away we use New Relic really aggressively we've basically implemented all sorts of weird extra stuff in New Relic to get good metrics on some of our network based stuff but we use Brom which is really cool it's very similar to a browser mob so it breaks it down and you can see how much it's spent on processing over the network and in the web application and this is what we really care about our average response time is 40 milliseconds and we know that's not what our user experience is so tools like this, in addition to browser mob let us know how things look and if we see differences between the systems we know that something's up and it also has this thing called Aptix which is rad, so I know that people in South America in Australia, like you know it's kind of okay but Asia is kind of crappy and you can just look at it and it's just wonderful information to know that these people are not having a great user experience and this information like this led us to do a whole bunch of research and we can also get subsystem breakdowns so I can see how much it was request queuing, GC, memcache all external is basically our IPC layer that talks to the different back end file servers and that took a little bit of instrumentation but we can look at it and when we see various spikes we know that something probably changed or maybe somebody committed some non component code and we really need to go back and look at that and when we need to it's even cooler we can see the class and the method that's being called so you can say oh wow the commits controller show is using 38% of the time, what's going on in there and so you have a good place to dive in when you have performance problems and it's super super useful we also use this tool called Silverline by the guys at Labrado Labrado is kind of like if nice in Unix actually works because what you can do is break things down and this is a basic front end for us and we have all of these groups like camo or proxies, github.com jobs, assets we can throw all of them onto a system and say okay, camo only gets 50 megs but github.com has 4 megs for unicorns and it can have 80% of the CPU utilization and you can break these things down into memory and CPU resources and you get really awesome graphs so you can see you know here's memories, you can see all these different pieces and how much they're using and what's cool is they won't cross a threshold they have this awesome thing called an event API so when anybody crosses the threshold you can have reactionary scripts run so it's just like we have a script that's just looking for the git killer where if we get a whole bunch of git processes that all happen at once the box is kind of deadlock and this is where it actually happens but we had all of these things go up and the resident memory of these processes that we weren't accounting for were there and then this process kicks in and just kills them until it's back underneath the threshold that you've set this was actually something that we tracked down last year when we had file server issues where every morning between 7 and 8 a.m. in specific this one file server would fall on its face and we had no idea why but unfortunately I had deployed code relating to that and I had to prove to everybody that the code I deployed didn't actually cause the errors to be received so I got to camp out for two days until I found out what was really going on but Labrado was wonderful in identifying that it was a process that we hadn't put into a container and as a result it was going off and doing whatever it felt like we're also using Graphite now which is relatively new to us Graphite is awesome because what we're able to do is throw all sorts of metrics out there and so for example this is our repo user growth for the last year or so and so we're basically doubling every six months in users and repos and so we're actually getting to the point where we're starting to realize that we can't keep buying servers at the rate that we're doing. We're going to have to start thinking of other ways to do this and it's cool that we have this information because we at least know that that's on the horizon and we are going to start dealing with it sooner than later and deployment is how we get fixes out to our users we really like deployment this is kind of something I've been doing for a long time and part of deployment is moving fast we want deployments to be out of super super fast and so a lot of times it's only a few seconds to get code out so it's somewhere between 17 and 200 seconds depending on the load on the servers at any given time and we do this by not checking out the entire codebase every time. It has this really awesome thing where you just say that's origin, maybe all the latest changes reset hard to the range and that's how we deploy and it's pretty cool because that allows us to have things like 17 second deploys and it needs to be repeatable we need to be able to do this over and over and over because often we deploy more than 20 times a day and that seems kind of crazy and people are like how would you QA and all this and it's like well when you move really fast you just say oh let's screwed up roll a bet or not even roll a bet like let's do some other cool things that allow us to not even have to roll a bet what's cool about this is our designers in shape. Our designers don't say well I have to wait for a developer to do stuff. Our designers change stuff, see eye screen they know how to do it, it's wonderful and so a normal deploy is pretty much like back to the future it does some really cool stuff you've got to go really fast and you're off but we basically have a whole bunch of front-ends and a whole bunch of file servers and so on get up we have the master branch goes out everywhere and everything's good so there's there's two ways that are really really cool that we change it up in order to get code out there and evaluate how things are working and I'm going to show you both of them. So topic branching I should just let you know that we do a hard reset to a specific branch so when we use git's cheat branching we can say hey what about topic branch and go out there and what's cool is this is able to go out to all the servers and you know if things screw up you don't have to merge the master and there's no rollback because you just deploy master again and so you can roll it out and it's like oh my god site's unicorning deploy master boom and that can be fixed in under a minute and I don't think many other people can work that fast it's really really a cool strategy you know and we use this for performance testing so you guys can kind of join with what we do all the time because what we want to do is set something out there and we have code that basically like you know the tests are green on both code paths or significantly more performant and how are we really going to know that without putting it out there so if the topic branch will say you know okay here's the new grid code boom ship the stuff out there take a look you know look at all the metrics that we already have in place to see if it actually is faster and if it is merge it back or we just throw master back out in production iterate a little bit more and try it again and so we also have this thing called subset deploy which is really cool because it allows us to do things like you know hey maybe the grid upgrade only needs to go to servers and maybe the topic branch we're just going to try to help hide the sys and this is really bad because it allows us to evaluate newer bigger changes and only impact the subset of the users so this becomes really bad because like things like performance things that we want to address we want to minimize error rates or say we're upgrading a C extension and we just want to make sure it has a segfold we don't want the site segfolding like you know on everybody so it's like let's say we're upgrading no sugary which is a bad example but the um but we do you know we I was being serious I really love that but you know we can throw it out there and watch it for a little bit and guess who can tell us if there are any segfolds on the servers if you bought and so it's really cool because we can do this and then it's just like okay it's just cool let's push it out to everybody and then the subset deploy that goes back to the normal status which is master but this is very common like we very often have multiple branches in production at one time like it's a really useful tactic for us um and so we can do experiments you know without touching all production which is pretty rad um and so what we've done in order to do this is we've written a library called heaven which is just like a simple capstrano wrapper but it feels like a Unix command so it's just like heaven you know a is the app e is the environment uh but you know for the second one say we just want to do it on the front end most so we can just do dash h front end or be my branch and so we have the utility that we can run on on our machines in order to ship which works really well but then you know the natural thing is we want you out to do this for us so we build an API on top of heaven and basically this is how she bought deploy so the janky feedback is basically the this is pretty awesome the the protein hacks that we have put the build number there so 195 is actually a link to our build output on our build server and saying that you know that shot built in 192 seconds which is actually a longer test take and then Ryan asked him you know he bought what's not deployed so he bought can compare the running code on get up dot com versus the massive range at that point and so you have a compare URL to see what's about to go out and he bought just says he'll get up to production and he bought tells everybody you know the what shot was at what shot it's going to compare URL again and then it tells you that Ryan's wego's production of get up was done in 70 seconds and so what's awesome is in campfire we have all of this information we have the build output, we have the time and it took and we can we can go back and look and see so yeah there's the compare view you know Ryan's basically saying the app and the environment and so we can also do the topic range stuff so you do like get up slash topic to production we can also do the subset in one instead of two yeah then you get the duration and so you know when we start thinking about what we're going to do features all of a sudden those other deployment ideas make a lot of sense because we can sneak things out so we're developing features and we're not giving them to everybody but we're sneaking them into the system seeing how they perform and getting numbers around how much it's blowing up and so we dog food all the stuff that we write like if we don't like it our users are not going to like it because we're all software developers and so a lot of things like I have stuff enabled on my account right now that you know is coming but you know we can't turn it on for everybody until it's at a level that we're all happy with you know and then we release stuff so it's just like you know we do a blog post tell people why we spent time working our butts off on some feature and why their lives are going to be easier if they switch to it and keep using our site you know we keep an eye out for tweets and how people feel about it you know and we listen to our users it's like we really do it's I don't know the internet gives people the ability to just you know talk mad shit and be like oh this is terrible I can't believe you guys did this it's like I know and I'm sorry that you feel that way but then when we see everybody else who is like man I'm so glad that they did this it's like yes okay you know we're always going to get some negative feedback but we keep a really close eye on what people say and just like you know that's really it it's a lot to think about and I hope that if you take anything away it's just like how can you guys work a little bit faster when you're shipping code but you know there are tons of different ways that may or may not be acceptable in your organization but kind of push those boundaries in order to get code out to people faster you know and so just measure stuff like you want to be in the know you want to say if something changes you want to be able to track it from multiple systems back to the source code that's changed that introduce you know a performance issue develop your own stuff like as much as I would like to open source like the amount of maintenance that's in our best interest and there's other tools that people can build but having custom solutions around what you're building is a fun thing to work on that isn't your main product like HuBot is fun to hack on even if he's just adding dumb stuff like HuBot dance part which is like an animated gif of John Maddox at his desk and it's just like why do they hack us I don't know but it's a really good distraction to go into a JS file and it's like what the hell do we do it's like why is our traffic quadruple what it normally is on a Monday morning it's like okay what's the matter but you have to be able to do that you need to know and be able to identify quickly why we have elevated load on all of our front end servers because the life of your product is something that you can build you want to take the care of it you want to be able to measure you want to watch it grow and it's a really fun experience when you look at it that way so you know just basically ship it this is the original ship and swirl which is a whole lot cooler than the tanker one of the other ones is the tanker so you know both of those come up as ship and swirls but you know when you just think shipping should be fun it shouldn't be this big scary thing that you're like oh god I can't ship on a Friday it's like you might have to work late and screw up it's okay to fail it's really easy to correct those errors in a timely fashion and it's a whole lot of fun not to be scared to put things in front of people so thanks a lot if you have any questions the guy with two minutes if not I'll be around so cool, thanks you can say you need to cycle, pump it change, smoke and update the website how do you do that dance how do you do it pump it basically runs every four hours for our servers unless it's something that we need to get out fast then we'll just ship the staging test it, throw in production test a few things most of the architecture doesn't change that much or they have a single place where you can change it where it might just be like this proxy needs to point from there to here and we can do that like in a staggered fashion so we go ahead and evaluate that like you know maybe two of the 12 file servers were fine we can run a puppet and just do it at like 9 or 10 in the morning and watch it happen over the course of the day but for the most part anything complex or anything that changes rapidly is going to be part of some application level deployment so puppet is very much for us will run like the proxies for smoke for example that you walk into that and so we don't need this puppet for those things but puppet would be handling you know like hot proxy or engine x can things things like that but anything that's like a moving part is going to have some level of automation around it that moves pretty quickly I guess I'm asking so if you change your proxy and you're playing it depends on the proxy changing or something like that you do have to kind of be smart you can't like roll out a branch with migrations to a portion of the premise like that's just going to blow up but so what we end up doing would be make an appointment with just the migration on a standalone server and then you know go ahead and see the migration complete then go ahead and roll the code out that takes advantage of the new column rather than taking the site down to do the migration so but yeah it really varies there is some you have to understand how the systems work in order to use it properly but the people who are going to do crazy things that break it generally understand how they work and for the most part so you know our designers can ship from Campfire they don't even need VPN keys is pretty rare so Corey? I was wondering what your rationale was for why continuous deployment from CI did not work for you guys the topic branches so if we were to deploy anything from the topic branch then things would be out that we're still just being developed then we want to be picky about when those go out and we also like QBOT also supports locking of deployments so when you're doing a topic branch or a subset deployment you can say QBOT locked it up and you give it a reason and when someone goes to ship it's like hey it's locked because Ryan's getting some metrics around smoke and so for us the advantage of being able to sneak the branches out is in our ways having CI here for us thank you


Database activity in Moodle 4.1 UX improvements to the database activity include a useful start page, three new presets and clearer approval status. Our teacher here is setting up a database activity in his course. When he clicks save and display, he's taken to a start page where he can either manually create fields, import a preset or make use of one of the three new presets included in the activity. The use preset button takes him to a page where he can select a preset. Clicking on the name of a preset allows our teacher to preview it. For example, here is the list view of an image gallery and here is the single view. There are three new presets which can also be previewed, for example, Journal. He can select a preset from the preview page by clicking the Use this preset button bottom right or from the list click the radio button of his chosen preset and then the button Use this preset. The fields are already set up. He can either use them as they are or edit them if desired. And once the database is created and course participants are adding their entries, the approval status can clearly be seen. To summarize, UX improvements to the database activity include a useful start page, three new presets and a clearer approval status. Thanks to the Moodle Users Association for supporting this project.