So I'm really excited to talk to everyone about the work we have done. Recently it's about an algorithm to identify combination of mutual exclusive alteration in cancer. So we know the key challenge in cancer sequencing project is how do we distinguish the driver mutation which are risk-a-month for cancer from the patient's mutation which are just randomly distributed on the cancer and do not contribute to cancer. And this is a particular difficult problem because in the typical tumor, the number of passenger mutations is way larger than the driver mutation. So one common strategy to solving this problem is to find a recurrence in a large number of samples. And the idea here is that if you mutated gene that are found in more simple than we expect, you'll be a good candidate for a candidate for harboring the driver mutation. And so based on this idea, several sophisticated methods have been developed. And no matter which method you use, if you plot the single score for each gene, you'll get a distribution like this one. That's a long tail. And with a few genes that are extremely significant and a long tail of rarely mutated genes. And this long tail phenomena indeed complicated problem of finding driver mutation because we do know there are some genes in the long tail of the harboring driver mutation. So one explanation for why there are driver mutation in the long tail like B, it's that because it's target pathway rather than individual gene. As you can see here, several TCGS study although they demonstrate that driver mutation target the pathway rather than individual genes. So to test the combination of mutation, there are several approach. As you can see here, they are very in terms of the prior knowledge they used. So you can either test the enrichment of mutated gene in the non pathway or you could identify the seemingly mutated subnetwork in this large scale PPI network. However, such prior knowledge are incomplete. So this make it very difficult to detect the novel pathway. So in today's talk, I will mainly focus on the approach that without using any prior knowledge and de novo identify the combination of driver mutation. So one limitation for identify using this de novo approach is that you can see here, there are just too many hypothesis you have to be test while still retaining the statistical power. So to overcome this limitation, one promising approach we could use is that we can restrict the possible combination of mutation by focusing on those combination that exhibit some particular patents. So here is one particular patent that we can use which is the mutual exclusive between driver mutation and cancer pathway. Here I'm showing you the previous study. They demonstrated that in a REST RTK signaling pathway, contain hopper mutual excludes mutation. As you can see from this mutation metrics with a corresponding gene in this pathway, most patients in this mutation metrics only have one mutation. We call this exclusivity. And in fact, in the past few years, there are several approach have been introduced to identify this mutual exclusive patent. Like dangerous, IME first came out at almost the same time. And you can see there are tons of approach, improved approach to identify the mutual exclusive mutation. So how do these current methods scoring the exclusivity? Let's try to form all the problem in a formal way. That's given a binary mutation matrix A, you try to find a combination M of genes that by considering the exclusivity. So dendrix, multidendrix, IME, they consider exclusivity and coverage is simultaneously to score the gene sets. And in MUX, they use a generative model to score the exclusivity. In MIMO, they use permutation test with coverage as the test statistic to score these gene sets or combination. However, MIMO only consider this combination must be appearing in the interaction network. And this method works pretty well. As you can see, MIMO and dendrix, they have been applied on several TCGS starting here. So one limitation in the dendrix weight function is that we found that dendrix weight function kind of favor high mutated gene. Here I give you two example, the two mutation matrix here, they actually have the same coverage and perfect exclusivity. And you can see dendrix cannot distinguish these two matrix, even these two combination. Even you can see in the top of this matrix that a mutually exclusive signal is kind of mostly dominated by this highly mutated gene. And in fact, if you run dendrix in real cancer result like lipostoma, you will find a gene set that with highly mutated gene EGFR with some random gene, they actually report the same score for a gene set that with so many well-known cancer gene in there. As a MUX, it's an approach that published last year that recognized this problem and try to solve that. But you can see end up with actually the same problem. This motivates us to come out better scoring function. So we propose a new algorithm called COMET for identified driver mutation based on this contribution. So in the following talk, I will give you an overview based on this contribution. So last first talk about the first two is this new scoring function and we can identify multiple combination simultaneously. So we define the problem for score one combination of mutation M is that given a binary mutation matrix A, we try to find a combination M of k genes with significant mutually exclusive mutation conditioned on a number of mutations in each gene. So turn this in a formal way, we turn this mutation matrix as a two by two convenient table XM and each cell in this table tell you the number of sample whether the gene is mutated or not. So if we can see that the orange table here telling you the number of sample that both gene are mutated and the blue sample here, blue cells here tell you number of sample that mutated in either one of the gene which actually is the exclusive mutation. So back to our problem, we would like to ask a question is how do you compute the significance of observed mutually exclusive? Probably everyone is now, this is we can do this in just doing the one side feature test for independent because there are just one degree of freedom for two by two convenient table that enables us to find the non-independent either toward more co-currents or much exclusivity. So you can define a score for a gene set is just to use to sum the tail probability here toward the direction to more exclusive. So actually this feature test for independent for a pair of gene has been already like widely used in several cancer study you can see here. So we'll ask a question is what about if you have a combination with three or more genes? The same year we turn this mutation matrix into a two by two convenient table exam. Here this table is not two by three it's higher dimension to two to the K table that's two to the three table. We ask the same question can we run the one side feature test the same? The answer is no because you can see the degree of freedom is just there are just too many degree of freedom. So for one side feature exact test you will have too many ways in which the corresponding random variable can be non-independent. So rather than test independent we define our test statistic it's the sum of the exclusive entry in this table. So it's actually some of these blue cells and then we can enumerate all the tables and then summing over a table property as exclusive or more exclusive than your test statistic. However there's a bottleneck for this problem is that as you can see the number of table you have to enumerate as I'm showing here in y-axis will be exponentially increased when you have the K equal four or even if you have a higher K. Even there are several approach like they use like dynamic programming or like branch and bound strategy for doing the enumerate to efficiently enumerate the table but they are only suitable for the R by C convenient table. As we know there's no algorithm can do the efficiently enumerate all the table to two by two to the K table two to the K convenient table. So we propose a new algorithm that can efficiently enumerate two to the K table. I will give you the intuition here. So first do we need actually enumerate all the tables like this gray bar here? So let's back to the most, the case that we are most interested in it is the perfect exclusive case here. So you can see since it's an extreme case so the score of this combination is actually equal to this table property we observe. So this kind of motivate us we actually don't need to enumerate all the table. We can enumerate start from this test statistic. So we have, we come out a new tail enumerate procedure that can enumerate the table just from here and to the most exclusive case and we sum over them to get the score. For how about for the more co-occurrence? Because there are still might be like too many table you have to enumerate for this community table. So we use approximation by test the permutation test and the binomial test. So summary for the gene sets or combination that was exclusive case we use the exact two to the K tail enumeration algorithm to get the score and which will be result in very almost perfect accuracy and very fast. And for co-occurring case we use the approximation to get the same, the almost good accuracy and very fast as well. So I just tell you the new wave function for comment. I'm going to then briefly describe the pipeline for the comment. So we can take multiple type of alteration and then we turn those alteration into a binary matrix and comment unable to identify multiple pathways simultaneously by multiplying their weight. And then we think that it is typically impossible to enumerate all possible combination in this mutation matrix. So we use MCMC to sampling the combination in proportion to their weight. So in the following talk I will give you how do we summarize the result? So here's actually the table that's showing you the sampling results with running, performing comment for identify two pathway each of them with four genes. And we summarize the result using the marginal probability graph which is going to complete graph with weighted edge. And so each edge M1, M2 are weighted by how often gene M1 is sampled in the same combination as gene M2. And this kind of reveal the consensus subgraph with high sampling frequency. So the advantage of using this approach is it allows us to discover the complex relationship. I will show you this later in the real results. And the second advantage here is that it's identify module that was different size specified in our parameters. So as you can see it's there really a gene set with size five. You can see that four of those five genes will form as a combination and floating around in these top sets. And then finally we'll summarize as a click and report in the marginal probability graph. So I'm going to show you that we perform our approach on the simulated data and real data. So in the simulated we implant one pathway into the simulation data and also the noise. And we run each algorithm on 25 simulated data set for each coverage of the implanted pathway. So for X as in here is actually the coverage of the implanted pathway from low to high. And then we examine the true positive and false positive between the implanted pathway and the predicted gene sets. So as you can see the blue on comments here perform very well in almost all the coverage. And Dendrix and Mu X only perform well in the high coverage sets. And Mu X perform pretty well in the low coverage but you can see it start decreasing the live measure in the high coverage sets. And we also perform comment in the real cancer data. So I will tell you here the graph it's the marginal probability graph. So each edge here represent a mutually exclusive. There's no prior knowledge. So if you put these two module side by side with the TCGS study, you can see there's highly, highly overlap here with the RTKRES PIK3 signaling pathway. And another module here, you can see this is actually PIK3 signaling and here is RB signaling pathway. And then bridged by this CDKN2A. This overlapping structure kind of explain the different isopholes of CDKN2A involved in RB and PIK3 signaling pathway. And one another interesting observation here is that we can see CDKN2A here is a validation. And another here, you can see the co-occurrence between the pairs in here is this is actually co-occurring P value. It's very, very stronger than any individual gene co-occurring between the individual genes. So this kind of suggests us this copy number division on CDKN2A will affect both sides of the phone and result in the alteration of these two signaling pathway. And also you can either type it one gene in each of the pair to this to kind of alter both signaling pathway. And when we develop in this algorithm, we also observe that mutually exclusive is not only inside the cancer pathway. We also found like mutually exclusive put between the subtype in rich mutation. For example, PIK3CA, TP3, or RB, they are highly mutated in different subtype in breast cancer.  So this kind of multiverse, can we simultaneously identify the subtype, specific mutation and the pathway together. So we create a mutation matrix by implant a predefined subtype. So each, we put, we implant each subtype a new role for each subtype and in which they contain all the mutation excluding those of given the subtype such that we can identify this mutually exclusive patent with subtype simultaneously.  And no surprising you can see like RB2 and CCND1 they are highly associated with the HER2 in rich and lumina B subtype respectively. And there's a complex structure in the middle. You can see it's kind of revealed the subtole relationship due to the subtype. For example, the AKT1, PIK3, CDH1 they are highly related to lumina A and TP3s are highly associated with special like. And also it's also reviewed some subtole relationship due to the pathway. So you can see like MAP3K1, MCL1, AKT1, PIK3CAP10 here form a very strong, a strong exclusive pathway here kind of revealed saying that, oh, there's a pathway that related to lumina A. So taking these together, common can jointly obtain the exclusivity both in the cancer pathway or the subtype in rich mutation. So I don't have time to go through all the data set we run. So I encourage you to go to poster 32. We run ML and gastric cancer with subtype as well. So to summarize, we have a new scoring function and we simultaneously analysis multiple combination and we summarize the result over the high scoring collection and opera from other methods in stimulated data and real data. And I encourage you to encourage you to download the paper to see from more detail and also you can download software to run to Tula to the K 100 table test. I would like to thank my advisor Ben Raphael and also Max Lessison who is the co-operator who has equal contribution in this work also Fabio Benjane and other lab member. And thank you. We have time for one or two questions. I have a couple of questions. So basically you have here defined a new criteria to assess the significance of a group of genes. So do you use this criteria to scan all of the possible combinations in your data? No, we didn't. We actually use, since there's just too many combination you can test, right? Say if you have thousand genes, you have thousand two, three combination of the test. So we use MCMC sampling. So sampling the combination that in proportion to the weight. So end up with you will get the high scoring sets there. High scoring gets one. And then how do you solve the multiple testing problem or putting it in another? How do you calculate the family wise error rate here? Sorry, can I say again? The, how do you correct for the multiple testing here? Because even you use the MCMC, it's essentially, you know, scan all of the possible combinations. So actually we compare our results with random data sets. So you only select the collection that are, we score higher than the random data sets. And then we only choose those significance collection to plot the marginal property graph. So there's indeed a significant test, but I didn't show up here. Yeah. Thanks, that was a great talk. So the mutual exclusivity hypothesis, is it my correct in that it assumes a sort of homogeneous tumor population? So because we often see when we sample multiple, you know, pieces of a tumor convergent mutations to the same pathway. So would that throw off your analysis if you see that? Yeah, so you say, what you are saying is like subclonal things, right? Yeah. So yeah, that's a good question. So we haven't considered that in our data, but I can tell you if you have, if you take the non-passway, and if you see there are subclonal things in one patient, there should be a lot of co-occurrence, right? So we didn't see that so far. I don't know why I said, maybe all the same poll we get is from the main sub-population, or there's just no less problem in the pathway. So our last talk of this session will be Dr. Mary Ellen Geiger from University of Chicago, who's going to tell us about some of the work we've been doing looking at the radiology information we have with TCGA data.


to share with you a wig review and the wig I'm actually going to share with you is called Current Events and it is from Raquel Welch and it's part of their signature collection. So Current Events Raquel Welch and this is in the shade Shade of Cappuccino which happens to be the exact same shade that I am wearing in my Upstage which is also Raquel Welch. So before I put it on my head I'm going to show you the inside of the cap because this is really beautiful. So one of the things that I love about all Raquel Welch is that their lace front is impeccable. It really is. It is so well designed. It is so pretty. This has a monofilament part. It's not a super wide one but it's wide enough that you have some flexibility in this bob style. It has very little permatease. It has beautiful, beautiful stretchy cap and air tabs felt with the Velcro adjusters which I really, really like.  This cap has silicone coated stretch lace. So it kind of really, when it's a memory, you know, it kind of really molds to your head really nicely. Gives you that super custom fit feel. And again the monofilament cap it's wide. I've seen some that are super, super narrow so you do have some parting options but it is a part. It's not a full mono cap which is usually what I really like. So there's individually hand-tied fibers right around here which is really super nice. The color is shade cappuccino.  I've got some layers in here just kind of a different, you know, different textured look. I'm gonna put it on. I'll be right back. Yeah I said this before I always feel like cousin it when I first put a wig on my head. So you want to make sure that you have it positioned right. You want to make sure that you have your ear taps right. And then you kind of play with your hair a little bit. So I can tell right away that she wants to flop in my face and that means that I would have to probably do a little bit of heat styling, probably steaming because I don't like it flopping in my face like this.  But if I can get that front piece to go where I want it to go, I think this would be kind of pretty cool look. Let me turn around. So let me just give you a few of the dimensions here. So the color that I have on is Shada Cappuccino. And Shada Cappuccino is probably my favorite color ultimately in the Raquel Welch line. It reminds me very much of Beltress Brown Sugar Sweet Cream. There's a few others, a few other colors in some of the brands that this reminds me of. But there are different variations, you know, when you even from the same manufacturer. So this is True to Life Fibers in the Raquel Welch line and it is heat-friendly, synthetic fibers. And the front is according to their dimensions is 13 inches. I have a 9 inch hairline to chin. I have 22 inch circumference. The front of this is 13 inches. The crown is 13 inches. The sides and it tapers down 8.25. The back 9.25 and your nape is 2.5. The product weight is a little over 4 ounces, 4.6 ounces, which surprisingly is not that heavy for all of this hair. So this is the way they describe it. An edgy long bob with a crisp a-line shape, slightly shorter in the back with just enough texturized to be beveled back here. It's a very sleek, very straight and very contemporary I think. I really like it. Now I'm just going to show you the wig that I had on earlier has a little bit more. You probably can't really pick up but has a little bit more blonde in the front. I like it to be lighter in the front. This shade of cappuccino does not have as much of the heavier blonde fibers in the front as I like. So different, I mean different variations of the exact same color. I wore this outside and this outside. I'll superimpose those shots. The first one you're going to see is me just walking right now in the yard wearing upstage in the same color. And as you can see it is sort of a mixture. It's a little overcast but the color is just really pretty. And the second one is going to be me walking in the yard with current events. So current events, I'll make sure I leave a link for you. So this was actually sent to me complimentary for me to be able to review it for you from my bestie, Marlene, from Marlene's Wig and Chat Studio. Marlene and I exchange wigs every now and then just so that I can maybe, and I've said this before, I have the benefit she doesn't because she's got a ton of wigs and she'll let me borrow a wig per se to she share it with you. And I am so curious about this. I happen to really like this. Now again, you know the color is a little different but I'm just really attracted to these A-line bobs. They don't look the best on me but I think this is one of the better ones that I've seen for my for my face shape. I do like to have a little bit of a texture up top. There is really nothing to speak of as far as primitives on this. So anyways, I'm going to enclose the outside shots as I'm talking so you can see what this looks like outside. It is really just a pretty, very natural looking wig. I think I would, you know, definitely want to train those floppies off the face. Almost every wig has floppies.  Half the time I'll tell you I won't even buy a wig based on pictures on the website because half the time they don't look as good as that may look in the real life. But when I buy a wig, when I'm really thinking about a wig, I'm going to find a review whose face shape is as close as mine, you know, with length and style. I'm a bigger girl, so you know, if you are tiny, tiny petite, you're going to have a whole lot more hair basically to deal with than I do.  However, it really all depends on what you really like. But you know, if you're watching wig reviews and you're thinking about buying a wig and you wanted to look exactly like the person who's wearing it, first of all, lighting, makeup, body shape, body styles, what they're wearing, everything makes a huge difference. And more importantly, if you're looking for color, then you know, what you play this back on is also going to tell a story on the color. So this is shaded cappuccino and I've got a lot of shaded cappuccinos. And I will tell you the blend on this, this, to me, overall pulls more of a browner look and the blend has less of the dynamic highlights that I like in shaded cappuccino. But that's just this one. So anyways, thank you, Maline, for sending this to me. I'll get her back to you ASAP. Thank you all for watching. Appreciate every single one of you. Be sure to, if you haven't already, subscribe, thumbs up the video. Thank you so much. Bye bye.


Hello audience check out these shades pretty rad, right? Does anybody know why I'm on stage wearing sunglasses inside like an idiot? Let me give you a hint You don't know because I've not told you Communication is important and without communication without me explicitly telling you why I'm doing this thing You're forced to ask questions and make assumptions like what's he up there? Why is he wearing glasses?  Is he crying? What's going on here? Mostly it's I thought it would make me look cool But This is for a point like communication is important without communication You have to go on these wild sprees and make up things for yourself. It's really inefficient and this goes double for code code documentation is your communication in code and and documentation is important More or less and that's what I want to talk about today. This stuff is really important. This is what we do at GitHub Let me tell you the dirty secret Humans are not Ruby interpreters People like to say that like yeah, I'm a developer my code is awesome no matter what I write I can easily see like everything what I need to know. That's not true Yes, you can sort of stumble through but no matter what if you've spent five ten fifteen years writing Ruby If you've been writing code since 1970 I guarantee you're gonna be better at reading English or reading your language native language or writing that And that's why I think documentation is really important. That's why I want to talk about today So I'm Zach Holman. I'm Holman on Twitter Holman on github.  I do work for github I guess it's like a code host or something It's like source forage Sort of I Know you guys like the twitters. I know you're gonna have the Twitter back channel during my talk I know you're gonna talk about me behind my back So I'd like to consolidate all that into one hashtag for this talk. So this is the hashtag It's a hundred and thirty nine characters. So make sure your punctuation has been chosen quite well So let's get into it if you're like me you're gonna that's the wrong question to ask Why should we do this shit if you're thinking about documentation? Why should you do this? what is the big deal about all this stuff and I Hate documentation Maybe I'm not the right person for this talk. I'll wing it. I don't like documentation. This is me circa like a year ago The main reason I didn't like documentation because it felt like a lot of process It felt really heavy and I hate process. I hate meetings I hate anything that gets in the way of me doing actual work and it really feels like you know Any sort of upfront planning is just useless So I'm really skeptical of this sort of stuff, but most importantly I don't like to help people And this is this is kind of the important thing like this is how we're all Sort of like this and like yes if if what I do ultimately helps people that's great But when you come down to it like I don't want to do something for my manager I don't want to do something for users like first and foremost I want it to help me and if that stuff happens down the line That's great, but I'm not going to do something unless I find direct benefit to me And I think that's important if you're looking for Any sort of development mentality of if it's going to help me and then then you're going to do it So documentation should be selfish. I think that's really important. I don't think it's a bad thing to say I think as long as you get into a system That you are comfortable with I think that's a good thing So these are the three things that I found documentation to be helping me the most and these are what I'm going to cover today First and foremost this stuff has helped my ruby a lot I know a lot of people who They they get to the keyboard and they start typing code and just like beauty flows from their keyboard and like in like out of their fingers and stuff I get to the keyboard and just like sewage runs through my fingers into the You know them or whatever I'm using and I can write beautiful code. I really can but it's really difficult for me I have to really think and I have to be conscious about like how is this going to be designed? How am I actually going to tackle this? and documentation In a variety of different ways has helped me write better code I'm going to talk about that a little bit later secondly test when you have better ruby you write better test and documentation The act of writing documentation has helped me really figure out. How do I test stuff? How what edge cases do I want to test?  I write ruby libraries You know a whole slew of things and I really like the idea that you can do really small projects and ship them and you know have a good time So it was important for me if I could find a mentality that would work and help me Produce really good projects as fast as possible. That's an ultimate win for me So I want to talk a little bit about read me driven development And this was mentioned a little bit yesterday and we'll dive into a little bit more today Read me driven development was invented by this guy. Jesus This is frightening. We're going to find a little bit better photo for him So this is Tom Preston Warner mo jumbo. He's a co-founder at github So he's one of my bosses, which is why I'm talking about it We get docked pay unless we have three. No, I'm just kidding I'm talking about this stuff because it's really cool. And this has really changed how I work and how we work at github So read me driven development step one. You're right. You read me step two It's no step two. I really apologize. That was the worst joke ever And everybody uses it, but I couldn't help But that's really all there is you you you sit down you write read me you write You know installation steps you write how the public api is going to be handled or how You know different to do items or whatever you want to write for a good read me You just write that first the whole thing before you write a lick of code lick of tests anything else This is the reason why Developers have this thing where if you have a cool project idea The first thing that you think of is the most interesting part If you're going to write some sort of like, you know mini app You can say oh well this one component this real-time component. I mean that will be challenging That'll be fun. I want to get into that right now I can like do some cool inheritance and like go crazy and everybody in this room is at the time where They did something like that and then they spent hours on it or days or weeks and then like you know days or weeks later You realize that's a pile of horseshit. There's so much code. I didn't need that I could shell out to another library and I didn't it was you jumped too fast into the interesting part and you didn't think about what the end result is be that a public api or You know the ultimate web app or um anything like that so read me driven development you are You're the the first thing you do with that is put yourself in your user's shoes. Like how do you install it? What is the end product? What am I delivering to them? And that's that's for me. That was really important to figure out How do I build something because at that point I just read my read me as I'm building it and it just tells me what to do Secondly read me's are all over the place. I mean they're they're your root of your directory But they're also on github we put the read me in you know the front page of your repo underneath all of your code And it's really visible people like seeing well written read me So go to town like do some cool formatting put in images put in whatever you want This is the document that will be there that will impress people and if you can do that first I mean it's just just it becomes a foundation of your project rather than the last thing you do before you ship it Secondly, this is the little pro tip Read me is working subdirectories at least on github and by that I mean they show up If you're going through directories and you click through sub directory sub directory We'll show the read me if we find one for that sub directory and that stuff is kind of hidden and it's really interesting rick olson was writing stratocaster at github as internal library to handle all of our events like repo created Issue commented on stuff like that all of your news feed items And it's a big project and it's a separate project But you need a hook into the github code. So in like lib slash stratocaster He has a separate read me detailing just the stratocaster stuff So if a month or two down the line, I figure out, well, there's a bug in this I want to check it out the read me is right there and it's contained just to that topic and it's really helpful So give that one a thought if you're working at something similar in the future Everyone loves a good read me It's a living document Writing your read me first does not mean you write it and then you're done Like the best read me if you do it first you keep building on it If you change your stuff down the line change your read me It's a living document. It wants to be changed and then by the end of it It's a great document to have everybody loves a read me Everyone hates a shitty read me and everyone has been to those shitty read me So let's read me read read me driven development I want to go on to a little bit different topic right now And first I want to jump in jump into a problem.   I mean, it's a contrived example, but everybody's been into this sort of stuff where You you you have to reconstruct all of these method calls mentally and yes, you can do that That is not a big deal. We're humans. We're reasonably smart But you shouldn't have to It's it's We are not ruby interpreters And we should be able to rely on something else that tells us how to deal with all of this stuff instead So that's where inline documentation comes in For github. This is really big for us. Um, we're past the point of the first year to where Our business may collapse. We have a good idea of how to host git repos We have a good idea to make money stuff like that and it's very unlikely in the next two or three years like Suddenly it will just not work. There'll be problems obviously But we're in a different stage of our development where now the big problem is how do we continue our growth? How do we have code that is clean and still worthwhile to read and it doesn't slow us down? Like that's the number one concern And we've done pretty well at that and one of the best things we've done is inline documentation, which we will get into because We use tom doc, which is invented by All right, invented by that guy again tom doc tom Preston Warner Tom doc is a very simple way of adding inline documentation to your method calls Um, for an example, this is just a fake method called add mustache Adds a mustache to an image. Um, this may or may not exist in lots of different ways in the github code base No comment Um, so basically this is your simple method and then assume it does something cool in there. This is the tom doc for it So let's step through this real quick. First is uh You say whether or not it's a public method. So from the start you're Contemplating how do I present this internal api to other users if it's public you say public If it's not just admit it and it's considered a private method and it's it's important to denote that stuff Secondly you add the so the traditional comment you may add to a method in terms of Just describe it give it a high level language really simple overview of like how does this work? This adds a mustache to an image Pretty simple if the actual implementation was really complex That's really helpful to figure out what the hell this actually does and you actually have to read code Humans are better at this than reading code Secondly you let you label your arguments So in this case we're passing in an image, which is just a string path to a local image on disk this It can sometimes be tricky to see the value in this Um, but consider the point when you're passing in hashes Which is what rubius do all the time and you have like the question of Is this value going to be in this hash? Is this value going to be in a rate? In this case you would detail You know if there's a hash passed in say this is the hash and then you detail like this will have the name parameter Have the url parameter have all this other stuff and you have a very concrete Detailed view of what you're passing into this method Next you have examples Just show how you do it This is This can be really important. It can be less important some methods. You don't actually have to have this block We have some methods in github where we'll have Like a two or three line Internal method that's really important like it actually handles your repositories on disk And we'll have 10 12 13 examples of how to deal with it because it's so important You don't want to have to deal through the code base to try and figure out where have I done this before And can I just copy and paste that in this is the best place to say If if you're passing in a string here, this happens if you're passing in an array here, this happens um It can be incredibly important to have this sort of concrete examples right there right in the middle of code that You're going to be using And then finally, um, just tell it what it returns. Does it return a string? Does it return an array? Does it return a string or an array depending on the input? If it's a hash detail the hash It's it's just another way of figuring out explicitly what is happening in that method so That's what tom doc is. Why is this important to us? First of all, it's plain text I like tom doc because I like tom doc in the same way. I like markdown Markdown is, you know, you don't have to render it to really figure out what is happening You have, you know italics and stuff and you're like, obviously that's probably important But it's not interrupting how I read it the same way with tom doc I don't want to hate on like our doc or anything like that If you're using that that's great. It's just the same thing, but a different flavor for me I really like the idea that there's no hidden like Internal method calls and stuff like that that you have to learn you don't want to have to learn a new language to read documentation This also works if you're using this in other languages, too Our doc will not transfer to javascript as well Secondly, it's english This is what I was talking about earlier people know their native language a lot better than they know programming And just having a you know simple way of describing this is what this method does a simple way of figuring out This is what this method returns and examples all of that stuff helps you figure out what this method actually does And how you can use it Finally explicit Also important. I mean, this is how you avoid the whole method chain interpolation in your mind. You can just Just reassure yourself that the documentation is telling you what You should be expecting and then you can look in there and be like, oh, well This is not returning the right thing and then you can attack that method directly The same thing with arguments just having those detailed having the hash is detailed When relevant it's just super important and flexible this is the other thing that like For me tom doc is really awesome because it's really flexible It's not trying to dictate some sort of dogma if you don't want examples Don't include examples if you don't want to do the arguments Don't do them If it's just too simple if you should figure it out on your own just don't do them Most of my tom doc methods are just the top line what it does and then space and then the bottom line What it returns and that's perfectly fine. The point is to find something that works for you and in each case What works best for that case? So I was telling you what this is how this has improved me as a coder So in terms of ruby, how does this make it better tiny methods? If you're writing tom doc or any sort of documentation you're forced to figure out What's actually happening in this method and it's it sticks out like a sore thumb If you're going through and you're typing all this stuff like well, you know in this case This returns this or this returns this and it's like it's really complicated and as you're typing that you're realizing This is insane. Why don't I split this up into like six seven eight methods if need be or two methods? Um, and it just becomes a lot better. You have tiny methods It's very clear and you just have to deal with less overhead mentally Along those lines you have smarter methods you have You know, why would you want to document this like seven parameter hash if you don't have to? It forces yourself to think like maybe I can pass in just a string argument Do I actually need the whole data model there? Can I split this up a different way? It's just another step of saying How can I do this stuff better than I currently am? tests Better ruby code leads to better tests And all of the stuff that I just said means you're gonna have better tests. You have smaller methods You have more concrete methods. They only deal with specific items that they're concerned with It's just a lot easier to write tests It knows you're in your put output if you're talking about like What is inputting if you have some crazy hash input in That translates to a test a lot better. You don't have to actually have to think like oh Where is this called from what's getting sent in you just look at the docs and then write the test from there Same thing with education cases. They stick out like a sore thumb If you have a conditional in there and you're saying like well, you know, if this is nil do this differently Um, those should all be test cases that translates very well between implementation to documentation to test So I mean we do tom doc A lot. I mean we do our ruby we do like javascript I mean everything that we touch ends up being tom doc because it I mean we were like we're 40 people at this point and it's We're getting too big to be able to just push code out there and expect other people to figure out What's going on because there's lots of edge conditions when you're at the scale that we are Um, and the the more communicative we can be to each other Uh, the the the stronger the code base we ultimately have So this talk was sort of a rage reaction to a blog post I had in june And usually if you do like a controversial blog post you get the sort of response.  I don't document anything I write 200,000 lines of code. It's all perfect And then they walk off the stage because they're on a stage I don't understand I want to talk about some of the reactions to some of this my code is perfect I think that's bullshit. I have stuff that last week I'm proud about and I see this week and I have no idea what I was doing I mean, we've all been there like it's it's Code is complicated And the stuff you write today may be used for the next two years It's important that you have a good foundation of how that code is done And you just go from that point forward No, no one updates documentation. This is a big deal. Um, this is true In some regards This should not happen We got to get away from this perspective of Documentation is always stale that shouldn't happen because you should update documentation as you update the implementation This is the true for inline code Code comments. This is true for readmes. Um, this is true for wikis anything you have to end up doing You got to get away from the idea that changing implementation means you can skimp on documentation That shouldn't happen To verbose, um, it is verbose Uh, if you start writing stuff like this like tom doc in particular, um It is verbose but it's something that you cling on to because it's a standard practice that you get into the habit and again, like if you come into the idea that you don't need a An example in everyone that's fine. Just do it how you want to do it The important part is figuring out a process that works for you. Um, and you know, if you don't want that verbosity everywhere Just don't do it Finally, uh People have their intentions in weird places that like I put all of my intentions in my Get commit messages. Therefore. I can go back and check them out or My tests are my documentation. I have all my edge cases all of my, you know different concerns I'm dealing with therefore I check my tests.  No one does that No one looks through the whole test because your test file could have Tests for the same method in totally different places because it's broken out by different concerns No one looks at no one runs git log to try and figure out what some ways an original intention is They like to say they do but they actually don't what you want to do is have your code Next to your documentation. So it's right there and you can actually look at it um This stuff's important to us Again, like this is what's making github is stable. It is right now. Uh, we really push hard on this Um, and we're really happy with it. So I want to encourage you to At least give it a shot like I'm a big proponent of Anti dogma and all this stuff for me test-driven development, you know bdd Agile all that stuff never worked for me because it just didn't and I recognize that it works for tons of other people um And if that works for you, that's great. If this stuff works for you, that's great as well And I just think that we need more documentation stressing Uh, we need to stress documentation in more places than we do currently. So That's what I got any questions. I'm holman asked me I love you guys cat calls. Yes Um question was was it always tom doc or we moved from something else? Um tom doc sort of started um Seriously, maybe like a year into the code base. I think which meant that there was probably I don't know five or six active developers on the code base. So there was less structured Anything we never started in our doc or anything like that And then about a year or like two years ago at this point We started Adding more and more and now we get to the point where like we still have lots of places that have no documentation and You know if you see that add them now and it's just as relevant as adding You know implementation code too Tom doc originally I believe this the the wording was linus has linux. Therefore. I should have tom doc Can't fault the man Yes, red shirt aisle So the question was uh, what's the best or what's the single most important thing to To help your developers improve documentation for the team So relevant to client was the rest of the question Working with clients I mean I have to do this from the perspective of I work in product And we have the luxury we have no deadlines at github. So that's a bit of a benefit And we can do stuff like this. I don't feel like any of the stuff that I've mentioned today really takes that much more time um I never sit down and spend an hour on tom doc And I feel like it's it just seems to go hand in hand with code If you're going to write the code just write the docs and it's not that much further You know more often than not I find that I save a lot of time writing that up front and then writing the code then Going down the rabbit hole writing terrible code and then having to fix it later Yes so the question is what is the process um of writing the stuff I I don't subscribe to anything. Um, sometimes I will Do the entire module or class and do all the methods and then tom doc it and then you know Sometimes I'll write the test then and then I'll go back and write the implementation after all that Sometimes I'll just do the methods first and then doc it later do test later I'm not a stickler for any of it really. Um, it's just up to whatever makes sense in that situation What you're comfortable with second question? I'm already on top of it I tom doc that response Yes There are a couple. Um, chris wansraff wrote one a while ago um I think I mean my opinion on that and tom's opinion on that is more of We find a less interest The the reason for tom doc is more you're diving into the code of somebody else's library How do you understand it best not like uh like a generated? view of somebody's documentation code And there's certainly ways to do it. Um yard has a tom doc generation poke I believe but that that In somebody expects it almost seems a lot different use case than What it was originally intended for yes Yes, um, you would want generated code for stuff like rails you're saying or generated docs I feel like generated docs are only more helpful for Things that I don't dig into the code for where I'm just totally an end user like ruby like rails And then if I'm using something like omnia More often than not I go straight into code and I feel like it's sort of less helpful to Um look at a generated listing of docs based from like A small library like that. Maybe that's just me but yes Yeah, so the question is uh Do you have a process for changing or updating documentation when you change the implementation? That is the process when you update code you have to change the docs and like it's worth We're just a stickler for it for that And if you see somebody changing something without changing the docs you yell at them and It's usually not the big of a deal But it is sort of a mental mode that you have to get into where those two things are linked And it's usually not that bad because they're literally on top of each other A what an operative what? Upward limit for readme sizes. No one of my favorites is uh, uh, uh, tom was actually First starting readme driven development on golem, uh, the get backed wiki on get up and it's it's a massive readme And i've gone back and forth it was actually we were talking about this in the danger room on campfire about like Where do you break stuff out of the readme into the wiki and Just throw everything into it Yeah, um I I go back and forth. I think some things like wikis make a lot of sense if they're totally Outside of the scope of readme on the other hand. I love just a fat readme that just goes for pages You just like you know command f and look what you're finding what you're looking for and I'm cool with that so the question is sort of emerging tests and comments in some fashion um Yes, we thought about that More from like wouldn't that be cool? But it never seemed like a feasible way to do that because there's so many best practices in ruby already cool, cool Thank you


morning everybody. It's about 935 or so in the morning, Sunday. I think it's September 6th. Bob is headed out to the gym. I am not feeling still gym worthy, gym brave enough, whatever right now yet. So I'm going to go for a walk in the neighborhood. I do have a mask just in case, of course house keys and the things. So I'm going to go get some steps in and I'll be back. Vintage and artisan shop here in there occasionally, but that being said, we haven't been in since COVID started. So we were in now, they're open. You have to be socially distant. So yeah, so we were able to go in because even if we don't buy anything, which we didn't, we like walking around and going, oh, we have that. Oh, wait, we have that. Oh, wait. I remember that. I'm going to do anything that's too people-y. We're just going to go on a drive. We're going to drive down through McMinnville, probably stop at our favorite coffee place, a little rush coffee, like Mount Angel and just drive around and yeah, just do kind of the road trip thing in the car, the couch or at one of the desks upstairs in Mount Angel, Oregon, where we usually come for Oktoberfest once a year. This year it appears that they're having a virtual Oktoberfest. I'm not sure how that's going to work. There's not a lot open right now, which we kind of expected that things are only completely open for Oktoberfest, but we're going to go walk around and there's a few things open and we'll see what we find. We'll be back. Good morning, everybody. It's 10.05 a.m. Monday, September 7th. 7th? It's Labor Day. Labor Day. 7th. Anyway, we are in the car again, obviously. We're going to go do some walking around at the Portland Rose Garden and Japanese gardens, which are outside and are allowing people in. So we're going to go do that this morning just to get out of the house. We've had a couple of days of weirdness in the neighborhood. I was walking home the other day. I think I mentioned on the vlog already. And I was walking home the other day and some people walked out of the wetlands and woods, which is protected land and marked no trespassing. They just walked out of the woods and down the street, out of the neighborhood, which was strange. And then last night we had a young man in a car, whose name and license plate number we have, by the way, because he was just sitting on the street in the dark in front of our house asking questions he shouldn't have probably been asking if we're none of his business. And I probably answered too many of them. And that was weird. So I don't know what's going on, but, you know, it's the apocalypse. So who knows? Anyway, I let the neighborhood know on the bullet neighborhood bullet. Yeah, it's just odd. So hopefully no more oddities today. We just can go enjoy the afternoon and see some sights and find out. Alright, I'll be back. I had to figure out how to mute the TV because yeah, I don't usually run the TV remote controls of which we have one TV, four, like five. And I don't watch that much TV. But anyway, I just wanted to say here in Oregon, evidently, for the next 24 hours, we're having a historic wind event. The winds made in parts of Oregon get very, very windy, like up to 60 miles an hour. I'm hoping we don't get that. But right now it's not too bad. But we are getting and I can tell there is very strong winds in some areas is a lot of smoke. So very smoky out here. But there you go. Yeah, so let's hope no power poles go down or anything like that. But it started out as such a beautiful day at the Japanese Gardens and everything beautiful blue sky. Although it was warm. It was great. We had a great time. If you're watching this clip, you've seen the pictures and a little bit of video I got from there. But yeah, then now we have this. So, hey guys, it is Tuesday, September 8th, 158 p.m. Yes, I'm in the car. No, I don't normally go out at this time pre COVID. It was always too peoply for me during COVID. I have no idea. I never know what to expect. Anyway, I need some parts, art parts. So I'm gonna head over to Michael's some stuff that I'm just not okay with ordering. Sorry, it's a little bouncy. In the Portland, Oregon area of which I live, I don't live in Portland, but I live in the area. We are experiencing a historic windstorm and the air quality is okay today right now. But it hasn't been last night. It was really, really bad to the point where we not only had all the house shut up, but I had the little air filter. My mom sent me going all night long, which I don't normally do either. I'll link it below. I don't know if it helps a lot, but it seems to help a little bit. Usually in the summer, when it's nice out, we usually sleep with the bed and window open, but we didn't do that. The air quality was really, really bad. So anyway, there's a little bit of smoke still out. It looks like from the fires, I can see it in the sky. The sun's not setting and it's already kind of an orangey color. But that being said, the air quality according to all the weather people seems to be okay. I'm not having any trouble breathing, but I do have my asthma. I'm going to put on another one of the masks from my teespring shop. I think so far, the rainbow one is my favorite, although I like all of them. It doesn't look a good rainbow, right? So we're going to put this on. We're going to go into Michaels and get done what we need to and I'll be back. Okay guys, so we're going out for a pre-dinner walk. We have the time and Fred is off this week, so why not? The air quality is not too bad. It was much, much, much worse last night, but it's pretty good today. We are still in the midst of the windstorm. They are staying out. It might last a few days. And yeah, there's tree branches and pine cones everywhere. Anyway, we're going to go walking. I got my errands done that I needed. If you guys are doing arts and crafts, like my, for instance, like my zombie dolls I've been making and you need interesting bits and parts for set dolls and you don't necessarily want to make everything. Now's the time to get interesting eyeballs, bags of bones, like all kinds of stuff like that, because hello Halloween. So anyway, use your coupons though. Alright, we're going to go walking. I'll see what I can see. I just want to show you this. So this is the sky facing that way in our neighborhood. Beautiful blue sky. The weather app says that the air quality is good. It's like a 16. Hang on. Yeah. That doesn't look like a 16 to me, but I guess we'll find out. I'll be back. Mad at me. Yes, we have my inhaler. We're taking precautions. That's behind me. Yeah, that doesn't look so good. I don't think so. But we're walking that way. We'll see. Or anybody asks. No, I don't have a mask on. There's literally nobody around. So it's the ultimate and not people. Really. So anyway, windy out. Very windy. 22 mile an hour winds. I think at the moment. Yeah, there's no way we're going to be hosting. No, there's like one guy up ahead like what 50 feet away. Yeah. So anyway, we'll be I don't want to catch any license plates. But yeah, look at this. It's just one neighborhood. And these are these are little branches. They're just everywhere. Hey, guys, it's just before noon on Wednesday. I think it's Wednesday, September 9. Yeah, I'm not sure how well you're going to be able to see that. Maybe I can back up a little bit. But yeah, that's not overcast clouds. You can see the orange, yellow, yellow, red haze. It's smoke from the Oregon fires. Although we're not super close to the fires. You can't avoid the smoke. Air quality is really bad. The wind has died down, thankfully. But yeah, our driveways. I don't even know if you can see that through the window screen, but our driveway is littered with pine cones and tree branches. This morning and despite the fact that it was, you know, eight o'clock in the morning, nine o'clock in the morning, it looked like it was like 730 at night outside. It's really dark. It affects me though. It's dark outside because of the smoke I have. I don't have all the lights on in here. It's supposed to be hot today. So that's the other thing. And you're advised not to turn on your furnace if it's pulling an air from outside. I need to see if ours will recirculate the inside air rather than pull it from outside. I don't know that our furnace will do that. Some do, evidently, but I don't think ours does. But anyway, fun times. All right. Yeah, the West Coast is on fire, including Oregon and Washington. Now not just California. Pray for rain soon with no lightning. That would be handy. All right. I'm gonna finish a couple projects. I'll be back. So we're outside. I probably shouldn't be, but I'm outside. We're not at level one yet, but we're right next door to Clackamas County, which is level one. And as the day goes on, let's see. I don't know if you can see it. There we go. It looks more like that. Yeah, there is a little bit of blue up there, but it's not a lot. So I think we're gonna go fill both cars up just in case if we do hit level one, we will pack important stuff. Thankfully, Bob and I have a suitcase horde because for whatever reason, we just like suitcases. So we're gonna just pick them all and we're gonna just fill them all up with baby pictures and the like if we have to and be ready. And if we hit level three, we'll pack both cars up and head to my mom and dads.  It's Thursday morning, September. Holy cow. Something. I don't know. Hold on. 10th, September 10th. We're surrounded by wildfires. Nothing super close, but the sky still looks like that. Smokey, a bit orange, you know. Yeah, so because, you know, COVID wasn't enough. But despite the fact that, you know, we're watching for wildfire warnings and all of that jazz, nothing seems to be too close. But we're keeping an eye on it and we're prepared with a plan just in case. And if the second we hit level one, we'll be packing and all of that stuff. But we're not there yet. Anyway, despite all that, we're going home with life as much as normal as we can and Bob again is off all week. So now because of the wildfires, we can't go on day road trips anywhere. I'm thinking when we go to the grocery store, maybe later today or tomorrow, that we go to the one that's super close that I hate going to, which is Safeway, instead of driving all the way over to Fred's and not even taking a chance. But top of all of that, sorry, sidetracked. My parents are driving down to help finish the electrical work in the garage today. They were going to do it this weekend. But then dad said, wait, Bob's office week. I'm like, we're like, yeah, why don't you come down today? And the tree people for the woods next door to our house, it belongs to the local school system. Their guy was out months ago, like back in May or June. And he was taking care of something else. And I saw him and went out and talked to him about sort of a yearly, you know, look see at the woods since they're right next to my house. He said, yeah, we need to come out because the ivy growing up the trees is a problem. And I see a couple other issues with some trees that need trimming or removing and all that stuff. And I said, okay, when he he says, I don't know, look, my schedule will get out as soon as we can. Well, that was like back in May or June. I've been emailing and emailing. Finally, I emailed a couple days ago and I said, look, in light of the worldwide situation and the fact that all these wildfires are happening, can we get somebody to take care of the woods before they catch on fire and set my house on fire? So they're out today. So yeah, anyway, it's going to be one of those days, I think it's a crazy busy day. But I don't know what else you expect in the midst of an apocalypse, right? Hey guys, do you see that? Yeah. Conditions haven't changed too much since this morning, except you can now smell, definitely smell the burning wood. I definitely can't go outside not for long stretches. And not definitely not without a mask, even if I'm going into the garage and the doors are open. So I'm relegated to being inside the house for right now. We're not in stage one or anything evacuation. It's stage one, two and three and three is you got to get out like now you got like five minutes. So we're not in any of that. But we're keeping constant eye on it. We're 18 or 20 miles in one direction from I think in any direction from any of the fires. We are on in sort of one corner of Washington County, probably halfway between the Washington County fires and the Clackamas County fires, just FYI. So look up on the map. We're about halfway between. So we're safe for the moment. I did pack some art go bags. And so I don't have to think about that. If we do have to pack the cars. So if we reach level one, we're packing the cars. And we'll probably leave if it gets to two. We won't wait for three. We'll be leaving at one or two. And we'll head to my parents' house. Let's hope it doesn't get to that. But the cars are all gassed up and I'm ready to and we're ready to go. It won't take long to pack what we need to unplug all the computers. I'll grab a few art pieces off the wall just in case most of it's going to be left behind. So cross your fingers and save some prayers. I sound a little froggy. It's the smoke and air quality, even though I'm in the house. Anyway, I'm not going to probably get too much done today, although I'm going to sit and try and do some sketching right now. It's good for me to do some drawing and sketching. And yeah, so I did pack up some slow stitching stuff too to take with me just in case. You know, it is what it is, right? We'll see what happens. It's just stuff. So meanwhile, the husband got the rest of the parts for his garage that he wanted minus the feet for the one cabinet, which is still our tin yet. So he's out in the garage putting that up right now and playing in the garage. And my dad was here working on the electrical and getting the electrical finished out there for him. And I think also checking up on us to make sure we were okay. We are okay. My daughter is in California. Ironically enough, she's safe down there in California. They're, you know, they're in a safer position than we are. And Polyus is up here with the dog, Lily. So he's checking in constantly with us as we are with him. And the plan is that if we need to, all three of us will evacuate and we'll go up to my mom and dad. So I have a feeling I'm not getting much sleep again tonight. I didn't let to last night either. At least not until this is over and we get some rain or the tell me the fires are contained. No one in Clackamas County is not even contained. I don't believe I'll be back people. It's like 730 in the morning on Friday, September 11. Yeah, that's September 11. And we're going to remember the tragedy that happened today, years and years ago. Let's hope there's not another one anytime soon. Anyway, we have hold on. You see, you see what's on top of the fence out there, right? Right there. Rocky's just sitting there. So yeah, it's still smoky out. Of course. I think it's a bit less orange, though. Let me go to the front of the house. I haven't made coffee or anything. This is me walking around in my pajamas in the dark. Couldn't sleep anymore, I figured. I'll just get up. I got a little bit of sleep. I've checked on a few of the notifications and it seems like we're still good. Still safe. Still ashy outside and smoky. But you know, I'll keep you updated. I'm going to make some coffee. I'll be back. Hey guys, so we are slowly prepping today. Although the fire map was currently updated, it doesn't seem any closer or any worse than it was yesterday at this time, which is good news. One of the three big fires that are merging together is actually 5% contained, which is good news. I'm going to take that as a great news because yesterday, all three of them were 0% contained and they were all merging together. Two of the three have officially merged. It looks like on the map. The other one doesn't appear to have but I, you know, who knows what's going to happen. Anyway, let's hope they get some containment on all three of them soon because nobody's going to be able to relax until there's some containment. In the meantime, we are getting important papers and things we don't want to forget in a panic together. Pulled suitcases out of the closet and boxes and things like that. I'm going to grab a couple of bins and I'm going to grab something else from upstairs. I want to remember not to forget and I'm getting messages from my husband who went to the store for a couple of essentials to get us by for a couple of days and I'll answer those and then I'll be back. Everybody gets Saturday morning. I don't know what time it is. Nine something. Yeah, it's nine forty nine AM and we are continuing to sort of prep and get ready in case we need to leave. But at the moment, the current situation is that the winds have shifted. The air is more moist and humid. I guess good fire conditions. They're getting the fires under control or the front lines of the fires under control so they say that doesn't mean we're out of the woods yet but and supposedly there's some rain coming on Monday. The air quality is terrible. Hazardous to people like me so I'm not leaving now. Anytime soon. In the meantime, I'm gathering current completed projects that I don't. If we do have to leave in an emergency, I don't want to not take with me. And we're going to be getting um I'm my brain is all over the place. Can you tell? We're going to be getting permanent like clothing, go bags together, bug out bags that we will just leave packed with clothes we don't need. Um and either in this situation or future situations, if something happens, we'll just grab those bags and go. Um and I'm going to do the same thing with my art supplies. I'm going to make an art bug out like whether we're traveling or we have to leave the house in a hurry. I can just grab it go. Meanwhile, we put the corn bowls away because of things that were going on and the deer don't have any food so they're eating my bushes. What if I'm sighted towards the front door?  I may pack the photo albums just in case. I think we decided last night the tax returns can burn because we do have a tax man if we needed to. He keeps copies and we could get copies from him. What a mess. Anyway, all right. We'll be back. Um so updates. Um I think I already said this morning um conditions seem to be improving but we are staying prepped and ready just in case. I'm going to close the closet door. Um I repacked my art go bags. I have two leather suitcases um and this is a big sack roots tote bag that I use when I'm traveling generally for art supplies. I don't bring all of them generally. I just pick one and bring that one and um the bigger one is full of art supplies and the smaller ones full of stitching supplies and the tote bag is full of current projects and there's enough room to throw my daily drawing bag on top if we need to pack and get out. Um I've also um put this where is it? Yeah, that plastic bin on my desk with essentials from the desk and if I have time for nothing else I have external hard drives. You can see them there. I'll be unplugging those and taking them with me.  Um thank you to all of you who sent me so much embroidery floss and I did have an excess of floss. I had this extra box that was sitting on top of my thread cabinet. Um it still has some fibers in it. I'm going to take them out. The majority of the floss that you all sent that was in here is now in my stitching bag um and I'm not you know for now it's going to stay in there. There's things in there I don't need ready access to um but at the same time if I am traveling and want to take stitching or if I um in in this situation I'm in now then I can just take that with me and I have something to do on completely stressed out and bonkers right. So anyway, we are going to continue gathering a few things just in case and getting ready to pack things that um we would need in a hurry. We're going to pack a permanent clothing go bag which we always intended to do even back when we lived in California. We just never got around to it. This is a good opportunity presenting itself to finally get that done. So we are going to do exactly that and we are going to after lunch um pack some clothes that we're not going to miss and we're not going to need to use into permanent go bags and um get that done. Yeah so then we're as ready as we need to and lest we get that final word um where we need to start on plugging computers and stuff and loading cars so but the weather seems to have changed and shifted and although it's very smoky out we're anticipating rain on Monday and um they seem to have control of some of the big smaller fires and they're 70 percent or more controlled and the big fire they seem to be controlling the front line at least for the moment so can be an Oregon city or still in level two they haven't been advanced to level three and West Lynn and Lake Oswego are still in level one and we always said we wouldn't wait for our town to go to level one if because we're not far away from any of those cities if um their levels advanced we would start unplugging things and packing the car so anyway i am going to do something with this and then i'm gonna have some lunch and then i guess i'll start packing clothes joy anyway best be safe than sorry i guess right all right i'll be back probably in part because we live next to the woods but also because of the fires and the smoke um there's a lot of birds in our yard and they are actually using the water in the pond to bathe in and they are eating you know grubs or whatever in in the yard we always see birds in the yard but there's a lot of birds in the yard right now i'm guessing because of the smoke and they can't go far but that was so cute i actually caught it on camera so anyway i go upstairs and show my husband the pond is his baby pond is his baby so um that's cool maybe when he has a chance he should put some more water in it anyway still smoky outside fires don't seem to be advancing which is good news um pray for rain people the sooner the better in the meantime we're going to continue to get prepped some of what we're prepping is going to stay prepped permanently um just in case um you know we do live in an area of the country where fires and earthquakes are an issue so we should have like go bags ready to go all the time so we're going to do that so anyway i think that's it for the minute i'll be back right go clothing bag is packed um the little bit of memorabilia we know we don't want to forget is packed i.e photo albums um i see i see two more things i'm going to grab really quick that are out here um and then we're as packed as we can get without grabbing the computers so i'm going to grab this picture which i only have the one copy of it's not scanned or anything that's me sorry reflections let's see um there we go that's me with my three grandparents who were alive at the time of my high school graduation yeah so and that's not that's a film picture so and then this one brought bunny that rebecca made for me i think in kindergarten so we're gonna put both of those in one of the boxes in the front we have some wedding pictures of beca and poly is out here which are great but they're modern pictures and i know beca's got copies um digital copies on the internet somewhere safe so those i'm not worried about but these i'm going to put in one of the boxes of memorabilia all right hopefully we can put all this back in a few days but yeah what a mess all right i'll be back sunday morning i think it's still morning i don't know might it's around lunchtime so hey it's been a fun week kind of maybe it's been interesting that's for sure and it hasn't been boring um people was talking the other day about trying to turn this little salve tin that i had into a watercolor tin and when i first showed you all on social media that i was doing that i used some air dry clay to make this to fit in it don't like it it wasn't real happy with the way it turned out although it did work fine and it i think if you coat it with a good quality water resistant sealer it would work well for watercolors i just wasn't super happy with that i thought there was a lot of wasted space for one so i used some plastic and e6000 and it needs to have a couple more there's a couple spots i think that needs some more glue but i created this instead which i like much better i do really wish that i had a 3d printer because i think it would turn out much better but yeah that's it there is a couple places i can see that i need to add a little more glue and let it dry which is kind of one of the drawbacks of doing this kind of shape this way is i don't you it's going to take a long time to make sure you've gotten all the spots glued together so each little well is like what you know watertight but yeah um i don't know what i'll put in there but yeah it's cute um i may decorate it and take the labels off the outside and actually put a piece of artwork on the top and sell it in the etsy shop empty so i don't know i don't know yet um anyway and i'm working on the bowl the air the air dry clay bowl i just sewed the outside i need to turn it over and just sew the inside so i'll be working on that today but anyway i forgot to close the vlog last night so we're gonna do it now um it's been a crazy week um if you want to know exactly what's been going on with the crazy week and why it's been a crazy week i have a separate vlog for uh fire news i do live in oregon near the fires at the moment we're safe but yeah i live kind of much closer than uh is comfortable to some of the big major fires clackamas county fires particularly so anyway it's never boring around here that's for sure anyway um support the free content here on youtube and over in the facebook art groups if you can not only for me but all for your all your fellow creatives i know we'd all appreciate it especially in these trying stressful strange times um my links are in the link tree list of links down in the video description for the etsy shop and everything else and most creatives have their links in the video description so um check out their video descriptions and if you can't find any links to support them ask because they probably have something and maybe it's just they forgot to put it in there um don't forget to stay safe stay creative and stay healthy whether it's from covid or the fires that are all up and down the west coast um whatever it is please people stay safe and um you know what if we're lucky enough to be safe from all of that um despite covid let's help out our community and our fellow humans as we can bob and i are definitely planning on that as soon as we're out of the danger zone we're going to figure out how uh physically or financially or with goods or something that we can help out um yeah definitely i mean at the moment we're blessed and we're safe and lots of people have lost their homes their lives their family members like it's devastating and i don't think we know yet how devastating it's going to be especially on top of covid right anyway that's it for the moment don't forget to go out and do something nice for yourself because you deserve it right i'll see you later see you next week bye guys


Dude, four closings in six months. I'm telling you right now is fire. Okay. What do you mean, okay? That didn't sound good. Well, not I have higher expectations, but. Bro. It's lacking with my- Is this a joke? Was that a joke?  That you expected more? No, no, it's not a joke, no. See, what did you expect? Well, I'm not really sure.  I want to do three and a half million. Who cares what you say you want to do? You don't even, you don't understand the business.  You don't even know how to, when you get into the business, you don't even know how to do a transaction. So how can you put a number on how much you're going to sell and then get upset with yourself when it doesn't happen? Just trying to set expectations and goals. But listen, listen, everything in real estate, bro, is needs to be, you need to be focused on year number two. Okay. Like year number two needs to be your breakout six figure year. Your number one, you did four in your first six months. If you close another 10, let's say, and you get to 14 or let's say you even get to 20, that's going to be a lot more than three and a half million right there. But the fact is, is that who cares about that?  Like all your expectations should be year two, right? After you actually learned the business a little bit and then you have a better idea of what your expectations need to be. You know what I mean? Okay, that's nice. People are putting too much weight on year one when all the weight needs to go on year two after you've learned everything in year one.  Like you got in this business to be in it for 30 years. Who cares what we did year one as long as we're learning how to do the business? Let's focus on year two, three and four, right? That makes sense. Yeah, sure. The average agent that actually survives in the business sells their first property in month number six on average new agents sell the property, their first property in six months, right? On average, do you understand? 90% of agents don't make it through the first couple of years. So here you are, the average is six months to one deal. You've done four deals in six months and you're like, well, I don't know. I just, I was just hoping for more.