First, I'd like to thank Thierry and every member of the staff of WPC for the extraordinary organization of this conference this time and to thank you for having me here in the panel and in the conference. Yesterday was the memorial day of the assassination of Prime Minister Itzhak Rabin. Itzhak Rabin was assassinated in the 4th of November 1995. He was not assassinated by a terrorist, Islamic terrorist. He was assassinated by a young Jew coming from a radical, extreme part of the society of Israel. The assassination happened after a big demonstration of more than $100,000 people on the square of Tel Aviv municipality. Immediately after Rabin finished the convention, he went down and the guy shot him. The one who shot Rabin wanted to stop the peace process. We had two big leaders in Israel which really changed the history of the Middle East. One of them was Menachem Begin, which made the peace with Egypt. And we drove from old Sinai until the last centimeter and make peace with Anwar Sadat. And the other one is Rabin which signed Oslo Agreement as well as done peace with Jordan, signed the peace with Jordan and Clinton. And this question is really we arrived to a deadlock. Is the hope for peace in the Middle East between Israel and Palestinian lost? I'm from those who believe that it is not. We are not in a deadlock. There is hope to arrive peace if we act in the right way, as I will explain right away. First, let me find out why we are stuck, why we are not making any movement. We have at least twice an opportunity to have peace with the Palestinians, a final peace, which had been rejected, I'm sorry, to say by the Palestinian leaders. One of them is when Prime Minister Barak with Clinton suggested to Arafat almost everything that the Palestinians asked for having peace. Palestinian state of the most of the West Bank, with the old city of Jerusalem, almost everything, Gaza of course, and Arafat refused. Second time was Prime Minister Ormert, which came to an agreement with Abu Mazen. And he signed the agreement and Abu Mazen asked for a few more days and didn't come back to sign. And I asked myself, why they are not signing? Why they are not finalizing this peace today? Doesn't they want to have a Palestinian state? My answer to myself having politics so many years and governments of Israel so many years in different capacities and the security cabinet know everything around, my conclusion was that in matter of fact, in order to achieve peace we need two partners, one of them was demonstrated by the governments of Israel, by Prime Ministers, which giving really all the price which supposed to be paid for the peace. But there is another part which is the Palestinian side. What we expect, what the Palestinians said have to make a decision in order to have peace is one very tough for them, but it is one that they have to make it which is to give up what they call the right of return. I mean the refugees cannot come back into the territories of Israel after the peace of the Palestinians. They can come back to the Palestinian state, but not into Israel. No Palestinian leader in my opinion will sign, will accept this decision. They cannot do it alone. So how we solve the problem? I believe that the only solution to arrive peace with the Middle East is through what we call the Saudian initiative or the Arab initiative. I'm the biggest supporter of this initiative. Since 2002 when it's come to the world I'm fighting to try to explain it to convince the Prime Ministers of Israel, the government, the Knesset to go in that direction. Why I believe that this is the solution. Let me quote two sentences from the Arab initiative. Arab initiative says, if you make peace with Israel, with the Palestinians by going back to 67 borders and find a agreeable, justified solution to the Palestinian refugees, we, 57 Islam countries, are willing to make peace with Israel, full normalization, and that will be the end of conflict. Fantastic. I believe in it so strong then when Prime Minister Sharon, I was also minister in his government, want to disengage from Gaza, I was suggesting to him not to disengage from Gaza. And instead pick up the Arab initiative, call Riyadh, and let's talk to them, let's negotiate this initiative because that really can bring us to peace. Why? Four reasons. First, if really we make peace through the Arab initiative, we are in a situation that we have a guarantee to existence of this peace because we are making peace with 57 Islam countries. Not only with Palestinians, the people say, you make with Palestinian peace, somebody tomorrow will come and tear it up like what happened with Gaza and we will disengage. They make it out of it Hamas-Tan. So it giving us guarantee to existence of peace. Second, this will be the way, in my opinion, to content really the problem of Hamas and Fatah, to put them together, even now there is a big progress because of the activity, very positive and really aggressive activity of President Assisi of Egypt which brought situation that now they are trying to make reconciliation. Third, it is the best way to transfer this agreement in the public of Israel because if you coming to the people of Israel with agreement not only with Palestinian authority but with 57 Islam countries making full normalization it will change the world, it will change the Middle East, it will be much more easier and faster to pass it in the Knesset and in the public. And why I am positive today and optimistic because many things happened in the Middle East where we are living and I want to count them. One, the interest of the Arab states had been changed. They find themselves in the same situation in which we were fighting Islamic terror, radical Islamic terror. Now we find Egypt fighting against the brother of Islam, Iraq, everybody will go. They find themselves in the same situation with us. That is the reason why we are today connected much more better with the Arab countries even we don't have a diplomatic relationship with many of them. But we have a very good cooperation today fighting terror. It is hard to believe but in fact. Second, the threat of Iran. The Iran threat of nuclear weapon is not against Israel. I don't accept it.  They want to have a nuclear weapon in order to be the strongest part of the Arab world. And it is mech all the Arab states around Iran very worried including Saudi and Kuwait and all the Gulf countries and others. They don't want Iran to be with nuclear weapon. On that case our interests are together and also we don't want them to have of course a nuclear weapon. Secondly, Saudi is changing. You see what happens now. The new governor of Saudi which is going to the Crown Prince. He is doing things which we could not imagine just a few weeks ago. Look the changes he has done that shows that he is really taking seriously his position as the next king of Saudi. And he changed all the government people. He hospitalised now the Khriri which ran away from Lebanon because he is afraid of his life from what is going on in Lebanon. He wants to build a very modern, beautiful city with 500 million. He is changing Saudi. Secondly, he is very supportive. Saudi became very supportive to the peace process. As a matter of fact it is their initiative. And last but not least, it was funny to say it but I will say it. There is some contribution of Trump. He did something good. When he came to visit Israel he passed through Saudi. And he made a change in the attitude of Saudi and other Arab countries to world peace with Israel. He did. So now there are too many elements which support the possibility to achieve peace. Last but not least, people ask themselves how can we make peace if the Prime Minister of Israel is so right wing, party, extreme, against peace, don't want to give up anything. And I'm saying in Israel we have a paradox that I call it the hoax of peace and the doves of war. It means that only hoax can make peace with the national consensus and only left can make war with national consensus. Begin make the greatest peace ever with the biggest Arab country with Egypt. Nobody else and I have been in the party of Begin and I personally work with him again as with Rabin. Nobody in the Likud, if somebody in the Likud would say before Begin became Prime Minister that he would give up Sinai they will trim them out of the politics of the party. And Begin can pass it easily in the Likud because automatically get the support of the left and vice versa. The same today. Yes, we have Netanyahu which is quite extreme he's not now very comfortable for peace but if he will be brought, maybe by Trump to a point in which we have a decision to make peace he can pass it because he's coming from the right wing. It will pass, especially if it will come through the Arab initiative. I believe that the problem with the Palestinians and with the Arabs is in Israeli Arab problem. It's not American problem. Americans do not understand Arabs. I'm sorry to say it in my opinion but totally do not understand. We should solve it ourselves. If we will negotiate Oslo with the Americans you'll never be Oslo agreement. Oslo succeeded because we negotiate personally Israelis and Palestinians in Oslo without any confidential, without secret until everything had been signed up. I'm sorry just for one thing that they did not conclude everything in that agreement and not making it by stages which was in my opinion a mistake, the biggest mistake of Oslo that they didn't finalize from the beginning like we did with Egypt from the beginning all the agreement and do it by stages. So I really hope that we will arrive there. At least I'm keeping fighting to arrive there. I believe that we will. Thank you.


Okay, everyone, we're going to wrap up tonight's forum with the presentation on backyard composting in here to teach us is Kerry Knudson. Kerry is the horticulture agent in Grand Forks County, and she received her master's degree in horticulture from North Dakota State University. She has been working in extension service for 15 solid years. And her favorite programs are youth gardens and Kerry enjoys going out on house calls to help presidents deal with their horticulture problems. So everybody in Grand Forks County, keep that in mind. Kerry, welcome to the forums. Thanks, Tom. Also have to mention Harleen was my advisor as I was getting my master's at NDSU. So it's a, I am here because of Harleen, we'll put it that way too. All right, so I'm happy to be here tonight with everyone and I'm excited to talk about composting with you. I know not everybody thinks that talking about rotting decomposing materials is fun, but I think it's exciting. My composting journey started in 2019 after I took a master's composter course from Vermont Extension. And I really wanted what I wanted to get out of that course was I was intimidated by composting I thought it was this huge scientific thing and it was too much time and too much thought and I really didn't want to do it.  So that's my goal tonight is to share some knowledge and tips with you so you can start on your composting journey. First off, hopefully everybody knows on the call tonight that compost is the best thing that you can do for your soil. No matter what type it is if you're in the Red River Valley and you have a heavier clay soil, or you're out west and it's a little bit lighter a little bit sandy. It's going to increase the water holding capacity of your soil. It's going to increase the amount of nutrients that it can, your soil can hold and compost will also add nutrients to your soil. And it's going to increase drainage in your soil those organic compounds and compost are going to work with your soil and they're going to form aggregates in the soil and pour spaces and allow water to drain through the soil as well. So composting ingredients can be broken down into two basic types I'm sure hopefully you've heard of them before. Browns which are carbon rich are greens which are nitrogen rich. Browns basically are anything that's dried or hard ish. So dried leaves, nuts and eggshells are considered browns, dry flowers, newspaper, cardboard, shredded paper, your dry grass clippings that have not been treated with herbicide or you've waited at least six weeks before you're putting that into your compost file. Straw, you can use sawdust as well, although in smaller quantities. Typical greens are fruits and vegetable scraps, coffee or tea.  Fresh grass trimmings and animal manure. While you can compost almost anything that was once living there are things that you want to avoid especially in a backyard compost pile. The items on these lists can be composted and usually are in commercial settings. But that's where the piles are monitored and managed fairly heavily but well to make sure that the temperature stays hot enough and long enough to break down things quickly or kill the disease organisms. So you don't want to put in there any disease plants that you have from your yard or garden. You want to make sure you keep all bird and pet feces. Toxic plants like poison ivy or you know based on Harleen's talk if you have anything that was treated with a herbicide accidentally or on purpose keep that out until that time has passed.  If you have plants that have a seed heads on them.  And there's nothing worse than spreading weed seeds or if you have quack grass or Canada thistle spreading that to a place that doesn't have it already. And you also don't want to include meats bones dairies fats and oils in your compost pile. As I mentioned before those things can be used in composting, but typically in backyard piles, they don't decompose fast enough and then that's when you're going to attract those critters and past your yard. Ashes can be included in compost piles at very, very, very small quantities they are higher in pH so you want to be careful with those and any ashes that come from Chol excuse me coal or charcoal should be left out as well. So the recipe for composting. Basically, let's think of it as a ratio two to one so two parts brown to one part green. That's the best mix of the nitrogen and carbon that gets that was bacteria and organisms working in your compost pile breaking it down. Whatever you use to collect your greens, whether that's five gallon pales of Tupperware, excuse me, rubber made totes or garbage cans, as long as you're keeping it one green, and then measure out to Browns and mix the pile you be fine, you will be fine. There is a math formula some algebra if anybody wants to know that formula I can help you with that. I will share my email and you could just email me and we'll we'll work through that if you want to get a little bit more exact in your recipe for your pile, but compost is pretty forgiving and we'll talk about that a little bit later. So let's talk about the recipe are you actually going to put your ingredients together. The first thing to remember is particle size, you want to chop your compost ingredients so that they are smaller size, so they have a larger surface area and break down more quickly. If you put a whole apple in your compost pile it's going to take a little bit longer to break down than if it was cut up. Generally, large things like corn cobs or branches should be cut up into about a half inch piece as well. Now aeration and moisture go together. You want to make sure that your pile is not so compacted that there is not any air movement in the pile, and you can do that by not cutting up all of your hard materials like branches to make sure that there is room for air to move in there. Knowing that you'll eventually have to take them out and cut them up and incorporate them into the pile. Now if you have the right mix, you got air flowing in there moisture, you want it about 40 to 60% moisture. It said that your compost should feel like a well wrung out sponge. I have to be honest, I haven't actually put my hand in my compost pile and tried to wring it out to see what it feels like. I don't mind working with compost, but if I want to go that far. But you can actually tell if you're working with it, you can tell if it's too wet or if it's too dry. And it's something that you're going to have to monitor depending on weather conditions to, if there's not enough moisture in there, the pile isn't going to break down or the items in the pile are not going to break down. In terms of volume for backyard gardeners, compost piles as small as a cubic yard in size up to five cubic yards in size are both manageable for composters are five feet in size. It's smaller than that and your compost is not going to break down very efficiently, and any bigger than that you might have issues just in a in your backyard with space of moving and being able to turn it. So keep the pile between one cubic yard and about. So three feet up to about five feet cubed. Temperature is important for a compost pile you want those organisms in there working and generating heat. We'll talk about it a little bit later but you can purchase a compost thermometer and take the temperature of your compost pile daily to make sure that it's it's heating and if the temperature goes down that means you need to turn it and start activating the bacteria getting new material to them and new moisture and air to them so they can work the bacteria micro organisms. It's a hard thing, especially in our climate when it comes to composting and we'll talk about that a little bit later too but you can get fresh compost or get compost made in about six months to a year. This is the last stage when it comes to composting, and it's just letting the finished compost just sit for two weeks or a month. Now finished compost should loosely resemble resemble soil, it shouldn't have any identifiable or organic matter in it if it does that stuff should be screened out, and it shouldn't have an order order to it it'll just kind of smell earthy and like So methods for composting, there's two basic methods hot and fast and cool and slow and their titles are kind of very descriptive of the different types.  The pile is built all at once. It's put in layers and mixed, and then the temperature is monitored, as I mentioned early earlier taking the temperature charting it when the temperature starts to decline, then you turn it and when the pile no longer heats, especially after turning And then your compost is done in the cool and slow method it's the method I use in my yard it's pretty low maintenance if you forget about it for a while it's pretty forgiving. You basically do the same thing as hot and fast you start your pile with your two parts brown to your one part greens you mix it, but then you can keep adding materials as they are produced in your yard or in your home. It can take a long time up to six months to a year, depending on how well you manage it. In terms of composting systems so how you want to want to set up your composting piles. There's a few things to consider, you know the amount of material that you're going to compost. Do you can use bins which is the most common system or do you have a large garden that you're going to need to use piles and windrows.  Pretty much anything goes as you can use wire chicken wire wire fencing, as long as it has small enough spacing between the wire that your materials aren't going to fall out. You can also use wooden supports around the wire cage to help keep the compost in. And as we see here with the pallets, there are plastic and metal type composters on the market you can use recycled garbage bins as long as you drill holes in them to make sure that there's airflow. I've seen pictures of gardeners using just straw bales. That's what they had around to make their bins or you can use concrete blocks or patio pavers whatever you have left over. Sometimes composters will have a multiple bin system, and this enables them to have different if they're doing the hot method they can have different stages of compost going on, or if it's the cool and slow method you maybe have one area to collect your bins. The middle one is where you're actually actively composting, and then the third bin is maybe for that curing stage of that finished compost. And as I mentioned earlier if you have a lot of material to compost it does not have to be kept in a neat bin, as long as you got the space composting in piles and windrows works just need to have the equipment to get the piles turned. These are the methods for composting that don't require bins or windrows. If you have the space in your garden pit composting works. Essentially you're just digging a hole in a garden area that you don't have any plants are not going to plan on growing things over the season and you layer your materials in there. There are greens from your kitchen scraps in there layer some browns on top and put soil on top and keep going until you fill up your hole. And then next year. Use it as a walkway or put plants over the top of it and then find another space in your garden to. So you can kind of do it as a three roll method alternating over three years what you put where but am I garden anywhere I have an open space I dig a hole and I put compost in and go from there soon have to be as exact as that. Earlier I think there was some questions with Harleen about starting new garden spaces, you can actually use composting to increase your garden area, whether it's for vegetables or perennials. What is done is that in that method if you're starting over turf, you would scalp the soil, you would put down a layer of newspaper or cardboard, and then you would layer your browns and greens on top till it's about 18 inches high and just leave it alone. This would be cold composting. It does require some planning in advance like if you know this spring or this fall, or the summer if you want to have a new garden space next year you would make sure you have plenty time to put that down, and just let it break down and then next year you can plant into it or work it into the soil. So where should you put your composting system. It seems to be a lot of, I don't want to call it stigma or compost gets a bad rap that it smells and you're going to attract pests. But if you do it correctly, you should not have either of those problems. So locating it really depends on what structures you have in your yard, you want to keep your bins or windrows, at least two to three feet away from existing structures. You want it to be in an area that's level and dry you don't want it to be in a low spot in your yard where water is going to collect. You can put in our environment. It's recommended to put it in part sun part shade. So it doesn't get so hot during the summer days, and it gets some sunlight during the winter. You can put your bins on bare soil is probably the best but you can put them on concrete just with the understanding that eventually long term composting will more than likely break down the concrete. And like I mentioned earlier you can use any type of material this gentleman here has a really nice composting system with some lattice work in it. That's probably prettier to look like look at if you need to look at your compost pile in your yard if you can't put it somewhere out of sight or the wire bins work to if it's somewhere not as noticeable. What kind of tools do you need for composting I think, you know, most gardeners have the tools they need already for composting in their yard, with the exception of maybe a bin set up. So you will need things for chopping and shredding, whether that's a pruners or a big loppers. If you have a lot of leaves or branches that needed to be shredded, you might think about investing in a mulcher. I use an ice pick. I didn't get a lot of work this winter but I did use it in my compost pile to chop up things. You'll also need tools for mixing and churning. Really shovels are not going to work as well as spade or tile shovel might work to help turn but I think a potato fork works the best for turning and it also serves, you know, multiple purposes to you can use it in your garden. I do make compost churners are actually called wing dingers that you can buy to help turn your compost piles but I like multi purpose tools so I stick with the potato fork. Water, you need to have a water source for your compost pile for you do need to add water so a watering can or a garden hose if it's a larger pile. That's when a good old scoop shovel comes in handy to shovel the compost and then you're going to need to to screen it out because there will always be some materials that aren't going to break down as fast as others and you can screen them out and then put them back into another compost pile that you already have going some common issues with composting I have the dogs nose up here because use your nose as you're working with your compost if you can smell something like ammonia or rancid butter or vinegar. That means there's issues with your pile and you need to take some time turning it adding maybe browns if things are too wet to help soak up the moisture, or maybe some bulking agents to as I mentioned earlier some sticks or bigger items to increase air flow. If your compost isn't heating, usually that means it's too dry so add some vegetable scraps because they are really high in water content or add some water to your compost pile. If you have non decomposed later layers that goes back to probably not having enough air movement in your compost pile so turning it will help. If you have non decomposed items that goes back to the size of the item if it's branches are larger chunks, surprisingly egg shells need to be broken down to, I mean you would think that they're so delicate they break. I learned this lesson the hard way all winter by just throwing egg shells into my compost pile, and then finding out they look exactly like they did the day I put them in there so breaking up even egg shells will help your compost decompose faster. If you have insect pests, you know, millipedes pill bugs, different things like that are good for a decomposing pile or for a compost pile. If you have lots of flying insects that might mean you have too many greens in there your piles too wet you need to add some browns, or if you're adding kitchen scraps you need to make sure that you're capping the pile, putting a good layer of browns over those greens so those flying insects can't get to them. And rodents, you really shouldn't have a problem with rodents as long as you're keeping away from those meats, dairies and oil products in your compost pile. But if you do feel like you're having an issue with four legged creatures, you can always put some chicken wire around your bin to keep it to keep out those pests. That's about out of time I had a couple minutes I want to talk about winter composting. This is for me one of the most valuable things I learned during my master composter course is we can take advantage of our cold temperatures and North Dakota. We can store our vet fruit and vegetable scraps over winter. You just need to collect brown leaves in the fall, have a, I use trash bins with holes drilled on the sides sides, I layer leaves dump in my brown or my excuse me my greens as they are produced in the kitchen put a layer of browns on them. Keep going over winter and then when the temperature starts warming up outside either compost directly in my bins or I might dump them out in a wire bin system so they can compost over the summer. All right, that's all I have got questions hopefully. Yes, we do carry here we go. You say the magic recipe is two parts brown and one part green. Is that by volume or by weight volume so it's it's a five you put a five gallon pale in there.  You can start by just by volume and as you work with your pile, your, you will see that you're going to need to add browns, especially with vegetable scraps because they produce so much moisture, moisture, as they decompose. Okay, how about what do you do if your compost pile is too dry. Can you add more greens or should you just give it water. So if you can add more greens if you have those readily available or just add water, and you don't want to add too much remember you don't want to stop in what pile think of it as a dry run out sponge. So you can do both. Can we compost colored newsprint. I, that's a good question. I don't know that have an answer off. I think you can do newspaper because that is soy. A lot of the inks are soy based but I'm not sure on colored paper. I was just going to look here and see if I can find the answer. And of course I can't. I think this was an issue. Many, many years ago that they were toxic chemicals in the car newsprint but no, no it's all soy based so I don't think you really have to worry about it. No, I don't know that I've used like colored paper leftover from arts and crafts I would recycle that but I don't know that would put that in my compost file. So you don't have to worry about methane or carbon dioxide emissions with that pit style of composting. I never have I have yet to have issues with that in my, in my garden. So I haven't noticed any, any weird smells, I think the soil the organisms in the soil do a good job breaking it down efficiently and it's not. It's all where it's captured and there isn't things there to decay the material you do have to watch out for if you have dogs in your yard and you use pit composting. They will love to dig in those areas. Okay. How about what do you think about those plastic tumbler composters, those barrel composters that you turn are they quicker. The slow type of composting is if you're going to add material continuously to it if you fill it and let it go and you are able to turn it that way. In theory they should be a little bit faster because it's easier for you to turn and there might be more airflow in it, but it all comes up to how you manage it to use the same recipe with those tumbler systems. Yep, two to one it's just the basic composting recipe. Do you know do you have a general idea about how often you need to turn a pile, maybe hot or cold methods. It really depends on the temperature so it could be every couple days or once a week for cold composting, at least once a week, you can do less sometimes I forget to turn it, turn it more one week than the other week it's pretty forgiving. You mentioned temperature is there like a target temperature that you want to reach. A good range of temperature for composting is 105 to 150. Okay. And how about can you use citrus rinds in the compost. Sure, might even smell good for a while. How do you mention curing compost. How do you cure it. You know, are there any bread makers out there where you just leave the dough alone and you let it rise you don't do anything with it that's kind of what curing is you just let it set. It's finished, you can cover it so you're not if it rains, which I hope it does around here. You're not adding any water to it but it just gives the compost a chance to kind of mellow out if there was any improper there was some anaerobic decomposition it gives it the chance to mellow out and leach out a little bit of those compounds before you use it in your garden. Okay, how about you can't use droppings from a chicken coop. Is that right. Chicken manure chicken manure, those types of minors need to be composted on their own and they should be composted for a long time. Long time before you're putting them into your garden. It's not that you can't compost with them. But they need to age a long time before you're killing those, the bacteria in there you put in your comp I'm not real caught up on animal manure animal manure composting so I don't know if I can give a good answer to that. How about pine needles. You can include them and limited amounts to in your compost pile, you know if they would if they're dry, I wouldn't want that to be your only source of your, your nitrogen or excuse me your carbon. How about, should you put a compost pile on a greenhouse. Oh, that's an interesting. Question, it would stay warm your rounds so there would be some benefits to it. I don't know. This is waste we're talking about are you going to put it in a greenhouse. My goodness. Okay. What ratio of completed count how much compost can you add to your garden beds. Yeah, what amount should you like an inch of it to garden beds or what do you recommend. I think typically it's adding one to two inches over the top layer of your garden soil and working it in. You can do that every year. A lot of people put just use compost as mulch over the growing season to put a few inches over the soil and then work it in the fall too. Okay, I know you mentioned sawdust. Is there a limit on how much sawdust you can use in a compost pile and are there any special types of wood that should or should not be used. So for sawdust you want to stick to, I want to say true sawdust that comes from milling lumber, not sawdust that's left over from cutting plywood or any wood material that has glue in it because of those compounds being in your compost. And sawdust is really fine. It's, if you put too much in your compost pile is going to compact and you're going to have aeration issues. So you can use it. I would mix it in with some leaves and then use that as your browns and mix in with your greens. I wouldn't want to have just a layer of compost in there. Speaking of sawdust, can you just put that in the garden before you tell it up or do you think it should be composted first? It needs to be composted first. You need to break down the carbon that's in there, otherwise you will tie up all the nitrogen in your garden will be used to break down that sawdust and it will not be available to your plants. Okay, Carrie, what do you think about verma composting? Have you ever done it? I have never done it. I have heard people having great luck with that. What I have heard is people with issues that the worms multiply so fast that they don't have enough to materials to feed the worms and then having to get rid of the worms after that is sometimes an issue. How about is worm composting better than just standard composting or doesn't really make a difference? You know, I don't know that I can answer that, but to me as long as you're composting, it's good. Not putting it in the landfill. Should you put worms in your compost pile? No. Not outside, no. And you know what? This person, we had a question for Jan about this composting, but I thought you're the one who should answer it. It's a person. They have a garden tower that calls for Wigglers for composting. Have you ever heard of that? I think they're the most common type of worm that's sold for composting because in nature, that's where they live. Like if you think of them in the forest, they live right in that leaf litter area, so they eat organic matter and they decompose and that's what they do. So that, I mean, that makes sense to me that that's the type of worm they're asking for. And can you just get that at a bait shop? I think Amazon for that? I don't know. That's one thing Amazon might not sell. I don't know. You have to, there are lots of businesses on the internet that will sell you the Red Wigglers, but do some research and make sure, get down to scientific names. Like we have scientific names for plants. And I don't know what the scientific name for Red Wigglers is right now, but do a little bit of research and make sure you're actually buying what they say you're buying. And you have to be careful too, because some worms you are not native to North Dakota and you might be introducing a non-native species that could cause problems. So make sure you do your homework. Wow, invasive worms, huh? Yep, there's always something. How about, we got a gardener who's very lazy and she refuses to turn her compost pile. Will it ever be composted naturally? I would liken that to sheet composting. So if you, the best thing to do is collect your ingredients and then layer them and then leave it alone and eventually it will break down. I want to make sure that you have that two to one in there, otherwise it's not going to have the right amount of nutrients for those bacteria and microorganisms to work on the pile. Now you mentioned about ash, you can use a little bit of ash from burning twigs. How much can you use? That is really hard to find an answer, it's a little. I think the recommendation, if you have a lot of ashes, people always want to put them in gardens or in their lawns and it's like a five gallon pail for a thousand square feet is the recommendation. So for ashes and a compost pile, definitely not the main ingredients in your pile, maybe just to help give it a little bit of air moving our poor space in there. And you said ash can make your soil, can make it more alkaline, or it raises the pH I should say. I think it can because wood ashes have a generally higher pH. Now I don't know if anybody has read about biochar uses biochar that's made a little bit differently. There's a lot of research into using biochar and in compost, but for us here at least on the Red River Valley side of North Dakota with our high pH soils, you don't want to keep adding high pH ingredients to the soil you have. Right. How about working someone take a master composter class carry. I look for Vermont extension. What about Grand Forks. I know I'm not a master composter. But if you have questions I'd be more than happy to visit with you about them like you like I said I'm still on my journey. I learned something different every day I was just out turning my pile. And I had a corner that smelled like ammonia and I thought I'm not doing a good enough job getting air movement in there so it's a journey.  Just a researcher yep figuring it out. How about, can a person put dried leaves directly into the garden in the fall, or will that use up. Will they take up too much carbon to break it down without composting first. Or will they put dried leaves in the garden in the fall. I don't. I don't know that I have an answer for that and I am. If anything. Oh, there's all sorts of things running through my mind you could chop them up and you could use them as mix them with green grass clippings and you could use them as a mulch in the garden. You know, I'm not sure on that Tom what do you think I don't, I just, you know what, it's anything in moderation is okay, but there's a risk when you put those, those browns, as you say. I think one of the biggest risks is people who put too much on, then the garden is very slow to warm up in the springtime very slow it can delay for weeks. It's too much organic matter I just think just that I just a little bit an inch maybe but and then work it in if you want to but collect them and garbage bags to use over the summer if you need browns. Yeah. This person has a huge compost pile. And they have someone come in with the skid steer in spring and then in fall to turn it. Is that okay. Twice a year. You're probably not going to get compost very fast. And if that's that's what you can do. I mean that's fine. It's, it's all the amount of time and effort you want to put into it if you don't want compost immediately. It's kind of cold composting so. And just a couple more to go here how about the little about that elevated tumbler compost you know people keep talking about that on the barrel bins like you see those ads now is that oh you can have compost in three weeks that kind of thing. Any good or is it just a scam. I think it all goes down to what you put in the bin if you measure out your browns and greens get them in there, and then turn the use it to turn I think it's a good method if it works for you. Try it I don't mean there's some days that I wish I had one because I think it would be easier to turn. I don't think there's, I don't think it's a scam I think it's a good system but you have to start with the right recipe and the right ingredients and monitor it to get it to work. So we've got a master gardener who says she's surprised because how come you can't use bird manure. I think that comes down to the bacteria. And in backyards you can't.  Okay, it sounds good. Carrie want to thank you. You've inspired a lot of people into having composed piles you made it sound so easy and thank you and also I want to say thank you to everybody out there.


So yeah, my name is Kevin Lina. I'm going to be telling you guys about building a grammar for statistical graphics using closure. The agenda for the talk, it's in two parts. The first part of the talk, I just want to kind of talk broadly about data visualization, kind of what's out there. So it's a really exciting field to be in. So kind of what's going on? What do I mean when I say data visualization? And also sort of how you go about doing it. So both in terms of tooling and then also kind of the 101 of human perception and mapping data to visual things. And that's going to lead me to the second part of my talk, which is building a grammar of graphics. So there's so much out there. How can you think of all of these seemingly very different things, so bar charts and line charts and all this stuff? How can you kind of put them together in a single framework to think about them and reason about them? And so I have a 40-minute slot. I'm going to talk for about 30, 35 minutes. And then we'll have five or 10 minutes for questions. So yeah, as Stuart said, you guys should all have a handout. It's got my email and all this stuff on there. So if you do have additional questions, feel free to ping me on Twitter. I'm going to email. And we can talk more about this stuff. Cool? Sweet. OK, so part one, data visualization, what, why, and how. Rather than trying to just tell you about everything that's out there, I'm going to keep it actually very limited and just talk concretely about some of the projects that I've been lucky enough to work on over the past year and just give you an example. And I'm hoping that when you see those, you can kind of step back from the particulars of it and see maybe some of the motivations and some of the benefits and how those might apply to things that you're working on yourself, so on your own projects. And then after that, I want to talk about what and why. But then also how. So there's a lot out there. You can find a lot of stuff on the internet now, a blog post about how to do these things, how to draw them and make them on the computer. But you don't actually see that much about how to actually do them in theory or how to do them well. And there's a lot of research, very good research that's done about human perception that most people don't know about. So I kind of want to give you guys a crash course on that. And then also talk briefly about what's out there. So this is the first example of a project that we worked on this past year. This is an iPad dashboard that we made for a client who runs wind farms. So this is actually all closure script, by the way, which was really fun, harrowing at times, but fun to do. And the thing that this client had was basically, they did done all the hard work. Like they have all these wind farms and they had all this infrastructure in place to collect data about it, right? So they were getting every half second or every second information about all the different turbines, like the wind speed and how fast the rotors are going and the oil levels and all this kind of stuff. And so they were taking all this data and just putting in a database. And the problem was, it doesn't really do anyone any good just to have this stuff in a database. It wasn't accessible to the people who were actually in the field.  And so we did really what were a lot of very simple visualizations. So this is just a screenshot of bullet charts, which are kind of like a bar chart. And so it's just showing very simple scalar values, but to put it on an iPad and actually have it in the Jeep, in the desert where you can look down and kind of see what's going on is very powerful. So to kind of put this information out there where you need it and do it in a visual way where you can just glance down and kind of get a sense of what's going on. This is another example of a project that we worked on. This is actually open source. So it's on the GitHub. It's also a closure script project. This is for, this is a collaboration with the Harvard School of Public Health. And this is actually a dashboard that they wanted for biologists to look at gene sequencing data.  And you have to remember that most biologists are not like us, right? They're not developers and it's not natural for them to just get a giant text file of all their genes in whatever organism they're studying and then to start banging out like a Perl script or whatever to answer their questions. And so this is just a very simple kind of like, this is all built in the browser. And so it was just like you could go and upload your file and then start looking around, looking and selecting subsets of these different distributions. But you could answer your own questions, right? And so that's really powerful. Like none of this is crazy advanced computational stuff. It's just sub-selecting on these different things. But to put that in a browser and make it accessible to practitioners is really powerful because they can kind of help themselves, right? They can answer their own questions. They don't have to wait two months for a postdoc to come by who knows how to program. And one thing I want to say about this kind of data visualization stuff, right? So I showed you this bioinformatics example and this wind power example. This isn't something that's limited to just very kind of like technical domains, right? There's an example that I really love. This is a screenshot from Orbitz. So one of these flight search engines.  This is a results page. And you can see like just above the fold there's like two results there. And this is kind of typical in the stuff that we build. And a lot of times we don't think about this being a design process. But it's kind of neat. There's a company out there called Hip Monk and this is their take on the same page. So this is their results page for flight search. So if you search for query, you know, this is just showing from Portland to Copenhagen, all the different flights that you can get. But they did it in a visual way. And so you can look at it and see what's going on and answer certain kinds of questions much more easily than you can in just a straight up text thing, right? So in this, you kind of have to scroll up and down and juggle all of these times and prices in your head. But on here, you can kind of just look at it and get a sense of what's going on. So the actual encoding they're using here, each row on this is a different flight or I guess a trip, they're made of multiple flights. They're sorted vertically by the price and then they're positioned horizontally based on the time of departure. So the earliest, you know, the far left is like early in the morning and then moving over is later in the day. And it's just great because you can just look at this and very immediately kind of see and compare in a way that you can't do with something like this. So yeah, we have nothing to do with this but I just love using it as an example. So that's enough of kind of example. And so I wanna talk quickly about sort of the how of data visualization and sort of the theory. What data visualization really is, you know, fundamentally all of these different things is mapping from some data to different visual aesthetics. So you guys are familiar with what data looks like, like a SQL table or a vector of maps or whatever. And when I say visual aesthetics, what I mean are there are a number of different dimensions that we can use to display quantitative data. So this is just a subset of them. This is on your handout as well but doing things like saying, okay, we're gonna take quantitative value and map it to the length of a line or the width of a line, you know, the size of an object, the hue or the intensity of a color. These are all different ways that you can encode that information. And that's what you are doing when you're making a data graphic, right? So a bar chart or a pie chart or whatever. So if you look at something like the Hitmunk example here, what they've done is, you know, they've used a 2D position to map two different variables, right? They have time moving from left to right and then cost going up and down. And a 2D position is a very good aesthetic. It's something that we can perceive very easily and understand. So if I ask you, right, what's the cheapest flight? It's very easy to answer that question visually, right?  So you can just look at the top and say, okay, that one's the cheapest. You know, and if I say, which one is the flight that leaves the earliest in the morning? You know, it's very easy to see that it's this one kind of down towards the bottom because that's the one that starts furthest to the left. This isn't the only encoding they're using here. You can see they've used color to encode the different carriers. So different kinds of airlines is the color. They've also used the width of these bars is basically the duration of the flight. But width is not something that is as easy for us to perceive as a position in space. So if I say, look at this, what is the shortest flight that you could take? It's very hard to see, you know? It's not something that jumps out in the same way that position is something that we can jump out and perceive. So there are sort of two lessons to take away from this. The first one, as I said, is that some aesthetics are better than others visually for encoding quantitative data. So we're much better at seeing something like 2D position or the length of an object aligned on a common baseline. So these are sort of the workhorses of data graphics, like a scatter plot or a bar chart. They're using these aesthetics because they're very good aesthetics. There's things that we can look at and understand very easily. It's very easy to see. If you have bars on a common baseline to see that, okay, this one is twice as long as another one. So those are kind of the two that you should really rely on as much as possible. And both of those are better than something like width.  And that itself is much better though than using something like size. So you hear data is people a lot of times ragging on pie charts. And that's because pie charts are using the size of an object to encode a quantitative value. But it's actually very hard to see how much larger is this circle than this other circle. And that's something, if you're skeptical about this or if you're really like pie charts, what you can do is just take the labels off and then have people guess, right? Have people actually try and assign numbers to it and they will be so far off. And that's because we're not good at seeing that. So that's the first thing to take away is that just know that some aesthetics are better than others. And there's a lot of research in this area but if you just kind of use the rule of thumb of let's use position or let's use length, you'll be pretty good most of the time. But because some aesthetics are better than others, the other thing that you need to remember is that you should always have a thesis when you're making a data graphic, right? I mean, it's no different than writing an essay or something like that. Like fundamentally, you're making this data graphic because you wanna communicate data to someone else, right? You're trying to make a point, you're trying to make something clear. And so you need to know what that is so you can choose the appropriate aesthetic, right? So going back to the Hipmunk example for their flight search, they say what are the two most important things when you're buying a flight? Well, most of the time it's gonna be the price of the flight and when it's leaving and so that's why they mapped those things to the position because that's like the best aesthetic that we can use. So that's something just to always remember because people ask me all the time, like what's the best data visualization? And my answer is always like, what are you trying to do? Like, I don't know. You have to think about this and you have to have a thesis. So that's enough of the theory. You guys probably are more interested maybe in the how now for the practice. And kind of what's out there now on the web and just in programming in general, it kind of falls into two different groups that I think of. The first group of things is what I like to think of is kind of the off the rack kind of stuff.  Okay, and so this is something like Microsoft Excel, right? You have all these buttons at the top. You have just buttons for a pie chart or a line chart or whatever.  And this is what most people are familiar with when you make data graphics. This is sort of off the rack kind of cookie cutter stuff. So this is Excel, you know, Adobe Illustrator has a little chart button. Here's like the meta slide for my talk because in Keynote, you know, you can make all these things too. So that's kind of what most people are familiar with. The other extreme is this sort of bespoke approach, right? So if you know exactly what you want and you have super particular needs, you can go and do all the hard work to make it. I really like this picture because there's this guy wearing this plaid suit but the stripes on the plaid between the breast of the suit and the sleeve, they like line up at the seam. So he really wanted that, okay? And he did a lot of work to make that happen. And in the same way, if you have a data graphic and you've designed it and you know exactly what you want, there's some nice stuff out there where you can make it. So there's this great project from last year called D3 by this guy, Mike Bostock out of Stanford who is now at the New York Times. But the kind of thesis on this particular project was like, hey, the web is super awesome, right? Like there's all this great stuff in modern browsers in terms of vector graphics and CSS and interaction and all this stuff. So this is actually a JavaScript library that you can use to make custom data graphics. So it's really neat.   But the problem with bespoke graphics, in the same way, like sort of the problem maybe with bespoke clothing is that it's a ton of work, right? In the same way, like doing a bespoke graphic is a ton of code. So this is just like something that I made for like the Hitmonk example in closure. But you know, you have to have all this code to generate the markup. You have to have all this CSS. You have to do all of this stuff.  And then the other extreme which is, hey, here's a big collection of, you know, stamps or cookie cutters. And you know, you just pick the one that you want and then it stamps out your graphic and that's it. And so there are these two extremes right now. And what I'm interested in is, you know, is there something that we could have in the middle, right? We could have something that's a little more flexible than Excel but is not as much work as just having a crayon and a giant canvas where you have to draw all the axes yourself and draw all the guides and do all that kind of stuff. So not surprisingly, this is going to lead me to the second part of my talk, which is a grammar of graphics. That phrase maybe sounds a little silted or strange, right, you know, this is programming. Why is it not like a DSL for graphics or something like that? And the reason is that the grammar of graphics, it was actually a book by this statistician named Leland Wilkinson that came out in 1999. So this is kind of a very thick academic book but his goal, he says in the book actually, he says this is the grammar of graphics. There are no others. This is what you would use to describe any kind of statistical graphic. So it's actually very kind of heavyweight and complicated, you know, and he uses it to describe just everything from maps to bar charts to line charts to all of these other things that, you know, we don't even have names for. And so it's kind of an interesting work from an academic standpoint but the way I actually found out about the grammar of graphics was through this other thing. So in 2005, another statistician named Hadley Wickham implemented a simplified version of the grammar of graphics as part of his PhD thesis and he implemented it and embedded it in the R programming language. So I think we've heard a couple of people mention that already today. But this is where I think a lot of people learned about it and people actually started using it. So instead of having the cookie cutter graphics, you could actually use the grammar of graphics in R to build kind of custom stuff, which was really neat. So I want to just give you a quick flavor of some of that stuff and to do that, I'm going to show you some graphs made from this simple data set. So this is a classic data set used in the R community of just cars, right? So each row is a different car and the variables are things like the fuel efficiency in miles per gallon and the horsepower of the engine and the weight of the car and stuff like that. So some of the graphics, this is what they look like actually coming out of R and this is the actual R code. So you can see instead of having some sort of function that's like make me a scatter plot, the function is here's my data. Here are the aesthetics. I want you to map these variables against. So I want to map the weight aesthetic to the X dimension and then the miles per gallon variable to the Y dimension. And I want to use points to represent that. So that's how you would say make me a scatter plot. And what's cool about this is that it kind of splits apart these different concerns and you can add additional aesthetic mappings very easily kind of in this framework. So you can say, oh, what if I want to color these points by the number of cylinders in the car? You can do that pretty easily and the system draws you a legend and things like that on the side. And of course, you have other kinds of geometries. So doing things like box plots and it is an R which is a statistical language. So you can do things like having a curve fitting and moving averages and things like that. The sort of problem with this is that unfortunately it is written in R which aside from having this horrifically ugly logo is also, I mean, this is what Edmund said earlier this morning is it's kind of this island, right?  But so many people now and especially in this room and in this community, we don't sort of have that luxury. Like we're building systems in production. Like we have all of our data is not something we can just spit out to CSV and then take over in the corner and look at. And so I was sort of thinking about this problem and no surprise it would be really nice if we had this in a nicer language that more people could use. And so I've been working on implementing this grammar in closure. But the important thing is not actually that it's in closure that's sort of an incidental detail. The important thing is that closure is on the JVM, right? So you're gonna have this library or this service that is accessible by sort of the broader community of developers, right? So you have all these other languages on the JVM ecosystem. You have the actual, you know, nice toys like Hadoop and web servers and all this kind of stuff. So that's kind of the goal of this thing that I'm working on is to take this idea which is a very interesting idea and then move it over into a space where more people can actually use it. But I wanna step back before I actually start showing you code examples and things like that in the closure grammar of graphics and try and motivate again sort of why you would wanna do this. And, you know, it's nice. I gave this talk to a non-closure group and sort of had to explain this stuff. But here I think you guys understand many of these ideas but, you know, fundamentally the idea here is that most of the way we make charts and graphs and all this stuff, it's totally complexed, right? If you have a function that just says, like, draw me a scatter plot, this is just this insanely complexed function because, like, think about what it's doing. Like, think about all the different things you have to do to make a statistical graphic. You know, you have to do things like calculate the extents of all the different scales that you're using. So looking at the data and the variables and figuring out how much room they need. You know, you're doing linear scales and log scales. You have to calculate all of these tick marks.  And then once you've done all of that, right, you actually have to draw this stuff, right? You have to iterate over the data and draw all of these labels and guides and this kind of stuff. And if you just have this function, you know, that's draw me a scatter plot and you wanna kind of change these little pieces in here, it's just insanely difficult to do, right? I mean, in Rich's talk, when he introduces the word complexed, he has this example of the knitted castle, which, well, I think it's hilarious because I didn't, you know, it's a knitted castle so that's pretty funny. But it really is like a good way of thinking about it because it's like, if this is the castle that you want, if this is the graphic that you want, great. If you want something slightly different, like, sorry, it's gonna be a ton of work. You're gonna have to reimplement all of these things because all of this stuff is tied together in this one function or in this cookie cutter sort of thing. And so the idea, again, with this gram of graphics is ultimately, you know, you wanna decomplect all of this stuff. You wanna take a statistical graphic and you wanna break it into the different fundamental pieces.  You have the geometry that you're using in your graphic. Maybe you have more than one kind of geometry. This would be things like points and lines. If you're making a map, right, you have polygons and areas, box plots, things like that. And then you have your mappings. You have mappings from the dimensions of your data from your data space into the different aesthetics of your geometry. So these are the aesthetics that are on the handout that I mentioned earlier. And then of course you have things like statistics and groupings. So if you're making a histogram, you wanna bin the data and sum it up or maybe do weighted sums, things like that, scales, all that kind of stuff. So the idea with a grammar is to take all of these things and, you know, these are orthogonal things and you should treat them as such. And you know, and you should be able to work with them on this orthogonal level. You wanna tease apart all these different concerns. So this is actually some examples, specifications and output of what the system does. So this is a scatter plot, not too surprising. You know, just a closure map, you say, here's my data. Here's the geometry that I want. Here's the mapping from my data dimensions to my geometry's aesthetics. So you can look at this, this is pretty cool. So this is a miles per gallon versus the weight of cars. You know, no surprise here. There's a negative correlation. Heavier cars are less fuel efficient. But you can see there's a little bit of over plotting on some of these points. So they're a little big. So it'd be cool to do something to say, okay, let's make the points a little smaller. So these are, the system uses tag literals for doing this. So point is just, you know, it's like a, just a typed map, basically it's a closure record. But it's nice because, you know, this, when you wanna do these kinds of things, when you wanna override the defaults, there's kind of, it makes, there's a natural place to put these things. So just say these things. Like you say, I wanna make the points smaller and then you change this data structure, right? There's not some weird flag that you have to look up. Or you don't have to hope that the library author has given you some, some option in the make scatterplot function to do this. And the only thing that's cool, right, is you can change all of these things and it's all orthogonal. So you can look at this and say, okay, you know, that's interesting. What does it look like if we wanted to look at, instead of the weight of cars, you wanna look at the cylinders of a car. So that's just a one line change, right? In this aesthetic mapping. You don't wanna assign the weight to the X. You wanna assign the number of cylinders in the engine. So you can do that. And then immediately, you know, some things stand out. You say, oh, it looks like all of these things are now falling into just three distinct groups, right? So all the cars in this dataset have either four, six, or eight cylinders. And then once you've done that, you can kind of think, oh, well, you know, now maybe points are no longer the best representation. Like I've kind of discovered this thing about my data, but the point geometry no longer makes the most sense. Maybe I wanna use something like box plots. And so because all of these things are split apart, it's very easy to kind of interactively explore and look around, which is very powerful.  And then if you wanna look at box plots, you're probably gonna have to step back and like go find the appropriate package or whatever and munge the data that way to get it in here. But if you can split apart all that stuff and just do it in this nice grammar, it's very simple to sort of explore, which is really important. So one thing that I do wanna point out, if the astute of you in the audience may be noting that, this seems very sort of suspiciously short, right? Because, and if you think about it, the mapping, so the aesthetic mappings, I have X and Y. But that doesn't seem like quite enough for a box plot, right? Okay, so X and Y is for a point, that makes sense, but the box plots, they have a lot more aesthetics, right? They don't have a single Y aesthetic, they have the position of the bottom, the position of the middle and top of the box and stuff like that. So stuff is missing here. The actual full specification, if you kind of decomplect all these things that you would need is you need something like this, right? What's really going on here is that you need to group the data by cylinder, you wanna calculate these quantiles for that group and then you actually wanna apply the results of that calculation. So like the Q25, the first quartile, right? You wanna do that to be the lower part of the box and all this kind of stuff. So what's going on here? Where you can write this to get this graphic and if you show this graphic to someone, they would kind of say like, oh yeah, this is sort of colloquially how you would say it. But in reality, you're kind of to be fully explicit, you'd have to say this. So how do you sort of reconcile that?  So really what you want is some sort of way to recognize this sort of colloquial or incomplete expression and then turn it into sort of the full realized expression that has kind of all the fiddly bits spelled out. And I was kind of thinking about how you'd go about doing this and looked at how ggplot implemented these kind of defaults and really what you want is you want a nice sort of declarative way to just specify kind of rules to say when you see something like this and the user has left this stuff out, maybe you should rewrite it because they probably meant this, that or the other thing. And it gets really nasty if you try and put this in just different conditions of the code and stuff like that. If you want to handle all of these different cases, it would be a huge mess of like if then else statements and stuff. Really what you want is some just declarative way to specify these rules and then have the right thing automatically happen. So it would be really nice if there was some library in the closure community that could declaratively do rule-based things. And luckily David wrote that library so it's called CoreLogic, right? And I was so jazzed about this because I found out about CoreLogic at the last conge and I sort of had a running joke with Paul, actually Paul the grandest, about making t-shirts for the conge this year that said my program would be way better in CoreLogic and then on the back it would say if only I knew how. And I was so jazzed to find this example of not a logic puzzle and not a compiler of some kind that I could actually use CoreLogic but it's worked out really great because you do this kind of thing. So here, this is kind of, this is a work in progress syntax but you say things like okay if the specification map if the person has asked for a box plot and they haven't provided a statistic they probably want to use quantiles, right? You know you can just put out all these different rules and you can do actual unification, right? So you can move things around in these maps to turn sort of the colloquial stuff into what you actually need fully specified. But at the same time, right? If the user knows exactly what they're doing and they want to specify everything out they can still do that. So that's been really interesting. Same kind of story with something like a histogram. You really, like most people they want to write something like this they want to say yeah I want bars I want to use a sum statistic and I just want to look at this one dimension of the data but if you actually want to be pedantic about it you need to write something out like this, right? You need to say I want to bin along this carrot dimension with this many bins I want to sum and this is the actual mapping from the result of that statistic to the bars. So it's really cool to be able to use something like CoreLogic to match on this stuff and do rewrites. And so I definitely wanted to thank David for that and also I don't know if you guys have seen Jonas' Kibbit library which does this kind of pattern matching as a linter for closure code which is really where I got this idea. So that stuff is really cool. And you know this is possible again and this is sort of a theme so Chris mentioned this in the first talk and this is a term I heard from Alan Dipert but to data all the things and this is like so key and it just seems like I cannot stress this enough. Stuff becomes so much better when you do that, right? There's no way I would have been able to do this kind of CoreLogic pattern matching stuff if I had all of my stuff tangled up in objects with methods and all the stuff but because all the specifications just with closure maps and records you can plug into all this stuff and use all this great stuff out there. And the benefits of using data, I don't want to stress it too much in this community because you guys already know it but for me it's really nice because Rich talked about using services and stuff so making our lives a lot easier as a developer or people who have to develop this stuff to support different languages so this is the closure API and this is the Ruby API and this is the JavaScript or Python API, right? Like it's all just data, it's so great. The other thing that's great about having data is that you can program, right? We're all programmers and that's what we do. We manipulate data and if you're just upfront about that as a library author and you let people mess with this stuff then they can solve their own problems much better than if you try and shoehorn them into using whatever methods that you're providing them and whatever options you're providing them and nothing else. So to give you an example of that here the actual workflow in the system as you start with this specification it goes through a kind of compiler and turns into this sort of scene graph kind of thing and then it actually gets rendered out into SVG or PDF or PNG or whatever you want but what's cool about this scene graph thing is this is just another huge data structure, right? Like this is just a big map, it's got sub maps and vectors and stuff in it but you can manipulate it with your own code, right? So you can say here's my specification I wanna compile it into this scene graph and then you can add your own code into this process you can aso-shin and say I wanna update the scale here so the y-axis I want it to go from zero to 40 instead of whatever extent you've calculated automatically from the data or I wanna change the label on stuff but you can do all of this very easily because it's just code, right? You just look at this thing and it's very evident if you wanna change the stuff around you can do it. So that's really powerful and I can't again say like it's been so great to sort of this idea of decomplecting things like it's very, very powerful to just look at things and say what's going on here and to say actually there's a lot going on here and if you can pull apart those separate pieces you can really get a lot of leverage and a lot of mileage out of that stuff. So it's nice because having this grammar or having this framework lets you say a lot of very interesting things, right? If you have a limited vocabulary and you can only say something like a scatter plot or a histogram you're sort of caught only being able to describe those things but if you can split apart all of these different concerns and kind of have this vocabulary you can express certain things that maybe you weren't able to express before and really more importantly it lets you think about stuff in a different way, right? So having something like this when you're actually upfront about thinking about different visual aesthetics, thinking about the role of statistics and all these separate things you can put them together in just totally different ways that maybe you weren't even able to think about before and so really I think this is not something that is unique to this particular problem domain and it's I think a benefit that you get from stepping back and trying to pull things apart into smaller pieces. So that's all I have. I hope you guys like it. Thanks. Questions? So the question was how can we visualize our functions and our code as developers and in light of things like Table and Brett Victor's work and things like that. I don't have any I don't have any particular thoughts that come to mind on that. You know this kind of system too is right now very focused on sort of more standard statistical graphics and things like that. I mean, yeah, I'm not exactly sure what that would look like. So maybe talk to me in a year or two. Yeah, so the question was have I seen stuff in the R library about using functions or formulas and stuff like that in the lattice graphics package? I haven't thought about how to sort of expand it even higher level to kind of talk about specific problem domains for stuff. I mean, and this is kind of the thing about using stuff with data like the interface for this is just maps. You know, so and it's accessible from all the programming languages basically because everything has maps. So I don't have any sort of plans to move into that kind of stuff but there's a sort of foundation where you could do that, right? Like you could have a more domain specific thing where you're talking about formula and specific mathematical things and then sort of have your programs spit out maps and things like that to render. Oh, sure. Yeah, so one thing that I didn't cover and I can talk to you more about this a little later but one idea that Hadley Wickham, the author of GGplot had that is implemented in the system is that the plots themselves are a kind of geometry. So it handles faceting and things like that. So faceting is when you take, instead of like multiple subplots. So you might wanna say, I wanna do this miles per gallon versus weight thing but instead of coloring the points by the number of cylinders, I wanna actually just make three different plots. So I'll make a plot for four cylinder engine, six cylinder engine, eight cylinder engine. And you can actually do that kind of thing because it works recursively. So, yeah, so the question was can you have code? Yeah, this is not open source right now. Actually it's not totally ready for public consumption. It is actually going to be a proprietary thing. There will be probably some kind of free version but my hand was sort of forced on giving this talk because one of the other speakers canceled and they asked me to come and present it. So it's not quite ready yet. Yeah. So limit to the customization. Yeah, the question was, is there a limit to the customization of this stuff? Yeah, definitely. I mean, this is never going to be as expressive as having just a crayon in the scene graph, right? Or like a blank canvas. You know, the idea is kind of to be in this middle ground where it's going to be expressive and customizable enough for most people's needs. But you know, if you want to do very custom things or you have a very specific idea of what you want, you probably will still want to use something like D3 or Java 2D or whatever. So, yeah. So the question was stuff relating to a closure script in this. Yeah, so actually last year at the conge, I talked briefly about some database stuff and so the D3 library is a JavaScript library. I have a port that works in closure and closure script called C2, you know. And this system, right now it outputs SVG and stuff and it shouldn't be too hard to port over to closure script. But the actual, you know, a lot of people ask me about interactive graphics and things like that. And that's a very hard problem. So it's not something that I've been able to think about enough to have a satisfactory answer to. I actually tend to be very conservative in having just well-designed static graphics over kind of crazy customizable interactive things. But yeah, we can talk more later about closure script stuff if you want. Any other questions?


The CREOEM structure of the DMIR ectodomain DILP5 complex reveals high homology between DMIR and HIR with DMIR binding three DILP5 molecules in a distinct arrangement, showing also DMIR specific features. This work supports evolutionary conservation of the IIS axis at the IR level and provides insight into an important model organism. This article was authored by Christina M. Viola, or Shulia Fritman, Hugh T. Jenkins, and others.


Who's missing? Who was not invited to the cladogram party? Well, the viruses. Viruses are crazy cool. However, why aren't they included on our cladogram? It's kind of a sad story. Nobody thinks they're alive. So they're not actually considered cells, so they're not included. But let me tell you a little bit about them. First of all, holy tiny. Viruses are like the tiniest critter that isn't a critter that we find.  But this is truly like, this is what they look like. This particular virus that I'm drawing right here, this is what it looks like, a little spaceship, uh-huh. And it contains DNA. However, it's not a cell, so it doesn't contain the organelles or the machinery to actually carry out DNA synthesis. It can't replicate itself by itself. You might argue what a brilliant setup, like it's this tiny super mobile, they can go anywhere, they can live anywhere. And then all it has to do is find a cell that it can hijack and it will squirt its DNA or RNA, they can contain RNA as well. It'll squirt its genetic material into the cell that it is infecting and its little protein coat stays outside and now there's DNA or RNA, some sort of genetic material floating around in the cell. The cell is like, successful viruses have DNA chunks that the cell is like, oh, look, who sent this DNA in here? Let's make it into a protein, which usually is in a great strategy. However, the cell has all the machinery necessary. The cell has the ribosomes, the cell has the endoplasmic reticulum, the cell can totally like bust a move and make proteins. And guess what this DNA codes for? Again, brilliant strategy. The DNA codes for the building of like a little army of baby viruses. And so your cell suddenly is hijacked by this DNA that the virus squirted in and begins to madly build a virus army. And pretty soon the cell is like, whoa, there's like a million baby viruses in here and watch this, this is what happens. It's an explosion, like that, and then guess who leaves? Bye-bye. Thank you very much, Mr. Cell. We're very happy now to invade the rest of your body and out go the viruses to go infect someone else. Seriously, fantastic strategy. Like I said, there are many different kinds of viruses and different ways that they attack and different ways that they do their jobs, but really they're these fantastically sophisticated parasites that hijack eukaryotic and prokaryotic cells. This is a visual of a prokaryotic cell being invaded by viruses. These are all the viruses on the outside. This is the actual picture of the virus. And check it out, like we've got really awesome microscope graph images of the real thing in action. Like they're not messing around, you guys. However, I told you that they were really tiny. I want you to look at this graph because they did a survey of ocean, ocean water. And look at this. When they looked at, the viruses are indicated by blue. When they looked at the biomass of critters in the ocean, like how much do these critters actually weigh? They just looked at prokaryotes and protists, which are single cell eukaryotes, and viruses. And they found that, you know, of course, viruses are tiny. So they didn't weigh very much. About the mass of the protists that are around and clearly there's way more prokaryotes in the ocean, biomass wise, like how much all of these things weigh. However, when they counted up numbers, look at what happened. There's a tiny sliver of protists in the ocean, single cell eukaryotes. There's a decent size sliver of prokaryotes when you just are thinking numbers and then what? Look at how many viruses are in the ocean. That's unbelievable, but there's that many, but they weigh that much. So hopefully that gives you an idea of the size of a virus. These guys are not big. Remind yourselves, why were they not included on our cladogram? Because they're not actually considered life. They're not alive, they're not cells, so they don't get counted. This is something that is definitely a debatable concept. You're welcome to chime in your opinion. I'd love to know. And the next thing we're going to look at is the bacteria. Oops, there.


Variation of constants. This method is well suited for ordinary differential equations of first order, which are linear. The differential equation can be homogeneous or inhomogeneous. The inhomogeneous one is more general. You have this type of differential equation if you can bring your differential equation into the following form. y' plus k times y is equal to s. The inhomogeneous version differs from the homogeneous one only in the single coefficient, that is, the perturbation function s is not zero. Thus, this type of differential equation is somewhat more difficult to solve. In this solving method, you make the ansatz that the general solution y is given by a coefficient c that depends on x multiplied by a homogeneous solution that we denote as yh. You have already learned how to find the homogeneous solution yh with the previous method. All you have to do is to set the perturbation function to zero. Then you have the homogeneous differential equation. You solve it with separation of variables method or directly by using the corresponding solution formula. Let us insert this ansatz into the inhomogeneous equation for y. We also want to replace the derivative y' with our ansatz. To do this, we must first differentiate y with respect to x. Since both c and yh depend on the x, we need to apply the product rule. You do this by differentiating c1s, leaving yh, and then leaving c and differentiate yh. The result is the derivative of our ansatz. Now we insert the derivative y' into the inhomogeneous differential equation. If you just factor out c of x, you might see why this approach is so awesome. In parentheses is the homogeneous differential equation, which is zero. So we can omit this term completely. You can now rearrange the equation for the unknown coefficient c'. Now to eliminate the derivative c' we have to integrate both sides over x. We cannot integrate the right side concretely because s is different depending on the problem. Or we leave the right side unchanged. The left side, on the other hand, can be integrated and additionally yields an integration constant. We put this constant directly on the right side and define it, for example, as a constant a. If you now just substitute the found coefficient c into the original ansatz, then you get the general solution of an ordinary linear differential equation of first order. Let's take an example from electrical engineering. Consider a circuit consisting of a coil characterized by the inductance l and a resistor r connected in series. Then we take a voltage source, which provides a voltage u0, as soon as we close the circuit with a switch. Then a time-dependent current i flows through the coil and the resistor. The current does not have its maximum value immediately, but increases slowly due to Lenn's law. Using Kirchhoff's laws, we can set up the following differential equation for the current i. Remember that the point above the i means the first time derivative. This is an inhomogeneous linear differential equation of first order. The searched function y corresponds here to the current i. The perturbation function s corresponds to u0 over l and is time-independent in this case. We denote the homogeneous solution by iH. First, we need to determine the homogeneous solution iH. We can quickly calculate this using the solution formula for the homogeneous version of the differential equation that you learned before. The coefficient k in front of the searched function i corresponds to r over l and is also time-independent in this case, so far so good. We may omit the constant cH in the solution formula here because we consider it later anyway in the constant a, which we find in the other solution formula. The coefficient r over l is constant and integrating a constant only introduces a variable t. Thus the homogeneous solution is iH is equal to e to the power of minus r over l times t. Let's insert it into the inhomogeneous solution formula. Note that 1 over the exponential function containing a minus in the exponent is simply equivalent to the exponential function without the minus sign. Now we have to calculate the integral. u0 over l is a constant and can be placed in front of the integral. And when integrating the exponential function, the exponential function is preserved. Only l over r is added as a factor in front of the exponential function. Finally, we hide the constant of integration in the constant a. And this is our general solution. We can simplify it a bit more by multiplying out the parentheses. Two exponential functions simplify to one. To get a solution specific to the problem, we need to determine the unknown constant a. For that, we need an initial condition. If we say that the time t equals 0 is the time when the current i was 0 because we have not yet closed the switch, then our initial condition is y of 0 is equal to 0. Put it into the general solution. e to the power of 0 is equal to 1. Solve for a and you get a is equal to minus u0 over r. Thus we have successfully determined the specific general solution.