So this is the use pearl buff or whatever. It's called annual meeting of the Debian pearl group. I think it's the third time we are having this we started it in Argentina last year we even had two meetings in cathedrals and Well, I Submitted the talk to penta so that it's there and that we get the get it scheduled and that we get it video teamed For all the people who are at home and hopefully are awake Apart from that there's not much I want to Say now and I will leave this position here because it feels rather awkward for a team meeting to stand on the stage What I have prepared is this this Copy document so that we have some kind of Structure I would like to ask you to Help me in taking notes or to maybe actually do the notes taking Is someone familiar with copy? Jeremiah. Yeah Cool, thank you Okay, someone should probably also follow Hashtabion pearl on IRC That's where the pearl folks Hang out Damien was just asking if there's something going on David. Ah Right. Thank you Okay, and on the wiki page there is this Debian pearl group open tasks Page which is well there since three years or something just for collecting ideas Which we can talk about now I've copied some of them out and I can well I can offer to lead a bit to the Through this session. I can also offer to to take this copy thing afterwards and write it Into or bring it into some readable form and send it to the mailing list Yeah, and I think now we can just Start what I would like to start with is what's called introduction here. Okay. Oh That was not my plan Okay, I go away Yeah, let's let's move together a bit Thank you perfect. I think it might be nice for the people following along along at home to Connect faces to nicknames. So maybe we can just Say our names and wave into the camera It's a short start. So I'm Gregor I'm Chris Bay. I'm Jonathan or noodles. I'm David Bremner. I'm John lights. Hi. I'm Jeremiah Foster I am Roberto Sanchez. I'm Bertos Sanchez. I go by El Cubano and IRC To this book. Oh, yeah, I'm Tim I am Jonas I go by Jonas and I see when I'm seldom do they're My name is Matt Zagrabel me. I'm Jelder or Jelder on the IRC. I am not part of the team, but I'm Peter De Camillo Some people are hiding in the back good Well, we could maybe start with the first issue It's also an annual question about we see s use usually it goes like this that some of the Younger enthusiastic good fan boys I'm totally objective, you know That some of them more progressive guys come up and say hey why we're still using SVN and then some of the older guys are asking well Has anyone figured out how good works for one house? 1700 packages and Then there are some people who say they will look into this issue and try to Try to See if it could work. So I think the question is has there been some research in the last year Can someone say something about it? Yeah, I don't know if anyone else has looked at it recently, but I looked at it last year and actually I've given up on Getting good to work for the moment. I mean I just trying to put scripts together that clone 1700 capabilities or whatever is quite difficult to get it as quick as SVN That's what I found anyway. I Think It's I'm not I'm not saying it's impossible, but you know someone has to actually care about it enough so as far as Get with multiple packages, I know I maintain shore wall which has about a half a dozen Different products that upstream releases and I had to hack together a shell script Probably should have done in Pearl, but I picked shell that was what was what just made sense at the moment to do it and it I Mean I make it work, but that's a half a dozen packages So I don't know I mean I'm If you would have asked me last year, I would have been completely opposed to using it But sure while upstream has gone to it, so I had to move with it and and several of my clients use it And so I've had to learn it So I'm not opposed to it, but you know, we need to figure out what the technical challenge is I don't know does this get allow you to like, you know with SVN you can check out Like just a directory So if you want just the one packages or something similar we get or do you have to clone the whole repository? Yeah, you can check out single items you can say get check out foo and check out a file So the thing is that it's it's quite tricky to do that Yeah, I mean the way we work at the moment is we have one big SVN repository and I Think ideally if we are going to get then it would be I Mean I'd assume the bit the way we do it would be one repository per package Do you reckon? Get get check out foo and change the branch Would it not? No, I think you have to explicitly say you change a branch How big is the SVN repo the just the check out checked out copy? Trunk has about two gigabyte at the moment What I'm one of the fanboys just to reveal that I I thought that there was someone more clever than me that was also already working on these kinds of things But but but if the ones I don't know if you were with the one of those working on it earlier on like last year I heard that oh some people were actually hacking on this problem Maybe I'm actually then stepping up or something to look at it because I really want to continue working on it But one of the things that if you're measuring speeds is that when you're when you're doing a check out of get Packaging in packages 1700 packages Then you are checking out all of the history when you're checking out subversion You are not checking out all of the history and one of the things I would try What would be to there is a trick to say check out and don't Pull out the whole history only check out the latest ten revisions or whatever layer you want What depth you want and I believe that means that you cannot then later on edit on something that wasn't checked out yet I don't think it's something you can then Roll work further on that's one of the flaws of that But you can you can certainly build a part on top of it You cannot do all the juggling anymore you lose something and you need to then check out at deeper depth But that was one of the things I would work be working on but but if you there's some clever guys that have See me clever that has some experience or some tried out some scripts and something I would be happy to have those to start out from instead of starting from scratch But now to to clarify the issue really isn't get itself, right? It's get built package So I have a question from Ansgar on IRC and he asked do we need checkouts of the whole tree and I Guess that's sometimes we do we have the the habit of doing global changes occasionally But when we need them, it's quite important. We do need this, right? I agree that we need we need to be able to check out the whole tree and work on things across the packages Not the thing kind of things. I have been working on but I certainly know that others need that and But but normally we would need the logic of get is Fundamentally that it it has just it has don't have a work in revisions It works in in in deltas. So you need to have the roots To have all deltas. So I calculate all possible deltas So that's the reason that when you check is when you when you clone like it when you pull it down You cannot say I only want to have the latest revision You can you can do that, but that's like a heck. It's not really how the guitar is working fundamentally Okay, so that's one of the it's not a bug in kids But it's just one of the fundamental differences in the approaches to version control that is in suppression again I don't think we should go into the deep depth of what is the difference is here because it's not it's not a competition I think it's just that if anybody if the fanboys is want to want to try have solved this issue of Do something that that the old guys can approve that it's working for them, too Then we could try that out and if the fanboys cannot solve this issue then we should just stick to subversion It's not it's not obsolete subversion is only we're only discussing this because us fanboys want to switch, right? That's the only reason we're so I I'd like to Reiterate a comment damnate, but he didn't sign his name and gobbie, but I can tell from the color Is that really this discussion is premature because we can't work Seriously with get until we have the entropy tracker running for get and so I think the first step for us get fanboys is If we want to devote effort to this, that's where we should focus is getting the PET working for get repos because We already have some Things in get and it there for non c-pan modules and that works fine except that It gets left out of our usual Workflow and so I guess that's not fine really. I mean I was just gonna say that too In my opinion non fanboys reasons to move to get are nowadays. It seems that more and more Upstream Pearl development is happening on places like github, you know, and that kind of makes it easier to Hook into that and second Get seems to be a lot more compact I mean I tried to do a full SV and check out once and it's just a huge amount of this space It takes up while an equivalent get repository seems to be a lot more You know just friendly So for what that's where? Github it seems to be the place where all the development is going on lately. I think I forgot what I want to say Well, I'd like to sum up this point a bit because it's already 20 minutes into the talk I guess we are we are the similar status like last year or the year before So if If there's a path to switch then we can consider switching it which would mean we need the tools and we would need a migration plan so the question is still is there someone Interested in working on it Actually, yeah, I agree with this point from down that Maybe the first step is actually just to get we do have a few things and get a wordy if you can actually integrate those Then that's much easier Just a short comment Ansgar has been working on Pet to or something with multi Where's the source code for a path that CGI located? It's an Elliott. It says separate project pet or pet you will I would look at the stuff Ansgar's been doing. I got it running on git and It looks good actually and the code is a lot cleaner But obviously we've got to we've got to finish that off and actually get that deployed first We if we can actually get the stuff we've already got working then Scaling it up to everything is the next challenge. I think we could also do it gradually right and and Move packages. I mean if it's seamless whether packages in git or SVN, which I think is our goal Then well, we'll move things over and by the time we have everything moved over We'll have the scalability problem figured out Or we'll really be in trouble I really don't use IRC as so and the pet is tied to IRC as I understand it so You don't need HTTP interfaces with git, okay, but I Would I would like to step up? Hopefully not alone to work on the The speedy of the speediness of the handling the packaging itself, but I don't think I will not step up I'm not capable of hacking the tool. I don't use it myself and I would need to get used to that first So I would be need to be dragged into the pet Development, you know my email you can get all of me if you want to convince me But I would like to step up and take over the the try on speeding up the packaging handling itself So put my name on that but not the pets Actually, he didn't volunteer for pet hacking He volunteered for git not pet hacking. Yes Okay, so I guess if this working If there's some progress we will get the report on the mailing list and then Then we'll see Thanks for your offer. I'll look Yeah, put me down for some half-hearted commitment as well Cool, thank you, David. Okay, so this next Issue I'm not really sure if this is an issue. It's also something we've been Discussing since at least Argentina Someone asked in the mailing list today what this was all about There was a time when some of us were not really happy about Module install because it's copy itself copies itself into each and every Module which is could copy on the one hand and which also carries around buggy versions for Months that are fixed in in module install itself, but not in the modules using it So two years ago over a beer. We had the idea of maybe Making Unhappiness public It has never really happened. I'm has already written here that Well, maybe talking to the author would be more useful. I Don't know if this is an issue for anybody anymore My my impression is that module install use is going down that this tiller is going up and well Do we have any measurements of the actual use or possible easy ways to Directly measure who's using it? I know my CDBS packages, but I can count them by hand, but other than that I don't know if I'm up to speed. What's the problem with module install? and It's old. I know our people using build I Was I was just making a derogatory comment about module and so on now I think it is actually relatively new and there were some upstream purposes to quite like that, but the problem with it is Co-copying really that's the duplication and the old bugs and all of that stuff. I think I Think DH7 handles it especially I forget how we how this actually works In generally This is about module out to install that depth help us in 7 to 13 sets the correct flexor Module out to install doesn't try to download anything I mean if someone so if are we because so the question is are we still going to write this letter or is it? worth just Leaving it. I'm happy to help with them drafting that But we have to agree whether to do it and what to put in there So Pearl has I think a complicated set of build tools make maker make install and make build and I don't know if they're evenly divided in the pearl community Between those three, but I do think make install and module build are more widely used Adam Kennedy is a very prolific and hard-working developer who has strong opinions naturally and works a great deal on The windows platform, but I suspect that he might not be so keen to have some kind of public broadside Against him, so I think I definitely think talking with him first would help How about how about actually turning it into a positive kind of spin and Writing letters supporting module build or something like that If I remember correctly some of the Toolchain guys, I'm not not sure if it was Adam or someone else was in the Debian Pearl I see channel at some some point and he said well, yes, please tell me what's wrong with it and please let's work together, so Something like this open letter we had in mind two years ago is probably really The way not to go so if someone has some strong issues then Contacting the authors Well seems reasonable well, perhaps one way of doing it is to you know in order to keep it positive is to have some kind of Article or something in some widely read Pearl forum of like how you can help get your module packet for Debian and Like the kind of things that would help us along so that they get promoted as best practices Things I module install just fall away because Yeah, so the the package Ruby team has on on their page they have a Like open letter to upstream. I don't know if you've seen it But you know it's basically if you are an upstream developer of a Ruby module Here are things you can do to make it easier for us to package for Debian and we should probably do something similar for Pearl Right, so do we get we know if we can as a grouping come to a consensus as to what we think best practices are You know capture that all in a web page and then start Spamming you know for lack of a better term that the URL to that you know out into the pearl community where people are developing modules And hopefully I'll see it and that'll you know help make The quality of the pearl modules better for everybody and then also easier for us to package into Debian So I have a question from dam on IRC. He asked is module install still a burden To to the heroes of the day he writes which I presume. I'm not sure if that means us in the buff or or what? So I guess is this still a real problem. There was some discussion of this earlier and Right Gregor shakes his head in my opinion. It's not not a real problem. It's ugly to have those code copies flying around but Well, so be it and regarding this this best practice stuff There are some checks in the in this quality or however that's built Okay, k-w-a-l-i-t-e packages and Gabo shavo However, his name is pronounced correctly is always very interested in working together with distributions and getting stuff in there Yeah, so that's also a good way to go but in my personal opinion. We could just Take off this module install Be done with it Unless I mean if someone wants to to draft some best practice recommendation or whatever that's always fine, but It's not Worth the group a group effort in my opinion What do you think is really key? Or what should be the high priorities for the group effort? Do you think that's a good question actually? RC bugs. Yeah, I guess The immediate stuff is fixing bugs in the long-term stuff is is keeping the high quality of the Of the packages Which means making some changes over them Following best practices in Debian packaging. I mean, it's the next question actually Okay, so let's move on good The next one is about Proposal I sent to the mailing list about adding a paragraph to our totally internal Debian pearl group policy I Don't know how many people have read this That was I think yeah, we had a kind of kind of sides discussion and Salvador replied to it Okay, so I will put it on screen No, it won't be large enough for For people on the video stream. I think I think that's on Oh, they've got a link. Okay. Just click on the hyperlink in the video stream Wait, well, no, the question is how many Old versions of dependencies do we want to support? So like in the example where we if a Module needs test more larger than 0.88 then we write it as Pearl larger than 5.10 1 or a little simpler Okay, and the more or less common practice so far was to to add versions to dependencies if there is an older version of the required package in Old stable unstable and to remove the version is if there is no older package anywhere and also to write these alternatives if Well if pearl in Stable and all stable doesn't Have this module included Yeah, and the idea is just to to write it down that let's write the versions there as long as they are Available and otherwise just keep it just to make it very clear also because of our these discussions on the mailing list I Completely agree with with this part of the proposal of this this proposal It makes very good sense to me that to to say that the limit where we cut off is When Debian do not know do no longer provide support for the packages. We no longer provide Fallback mechanisms for the packages. Is this something we we already do anyway, so Just a clarification and then and reaffirming rear Since hardly anybody replied in the mailing list. I thought let's ask here again before I commit it Okay, then I will commit it afterwards It would be good. I think if we could clarify exactly what this means for end users I think some people will come to Debian and say, okay, I want This module it will pull in a bunch of modules. Maybe one will be missing and they'll have to go to an older version Maybe we'll want to make that clear. I Think you are touching the other part of the discussion now if we actually support older versions of the system because this really is just a Theoretical things of others borrowing our packages and then they have to deal with however They want to want to have things working or people cherry picking a package from a newer and then running old stable So this is this is not about us back porting to stable or making them. This is a different issue I think if I understand your question greatly, this is this really does not touch any of the issues of people mixing across distributions or across time Let's keep that secret separate not secret separate Yeah, but we can also look into this issue. I know that's important for you As I understand there was for this for this other issue of how far back do we want to Support back ports or back portability of our packages There are two styles one style is we don't really care unless we are really lazy with our Packaging which typically works as finer to And the other one is like we want to keep back portability and we even want to hurt ourselves a little bit by doing so a little more details is that a Depth helper 7 depth helper 7 points different sub versions of that provides improved handling of for instances what we just talked about before the one of the Make make maker. Yeah, make it all And that was added in a fairly recent version of that helper a version that is not in the current stable Which means that if we then want to ensure that it works correctly Then we want to Limits to only working with this current version of the people which means that we cannot just take that package and rebuild it for stable anymore It will work in binary packets from unstable will work in stable But the principles of re-compiling packages in stable will not work It will break it will require a re a backport of the help itself to and then we can go into details of saying well Yeah, sure, but people can dust the backport depel but on that is always back for backpots.org But backpots.org is not Debian. It's not Debian stable. So We could try to make a different kinds of cuts saying that we support these kinds of unofficial Mixtures of packages. I really would suggest that we just focus on how much officials Debian do we support and and keep the discussion to that and I imagine that it's pretty simple and short and saying that well, I'm a fanboy of backpots There might be one more fanboy of backpots. I suspect that the common sense would be hey Most people use their purple most people want to use their purple 7.2, which means the discussion is moved We really want to use funky new features Bam if only all of you used CDBS There would be no problem because it what it has been working correctly with all also with the other make-maker tools since 2004 Yeah, just holding the mic Yeah, the question it is how much do we want to hurt ourselves at which costs do we want to support the Possibility for backpots. I also guess the consensus is Supported where it's easy, but don't hurt ourselves too much by not using new tools that make stuff easier I think I saw a discussion about this on RC a couple of months ago and about backpots and I think it would be really interesting to Routinely backpots our packages automatically something like that, but Yeah, maybe we should fix all the RC books So so Ansgar has a question on on IRC and he says aren't there plans to make backpots an official part of DBM anyway anybody Yes, so that would be a point at which we would presumably more Interested in supporting it I think from what I heard which may not be all the details back ports or will become Part of the you know Debian family officially we won't be supported to the extent that stable will it'll still be a kind of Unofficial kind of thing is just in terms of infrastructure and so on I think they Yeah One one thing that I know are currently is Hitting this just does a practical concrete example is this about if you're using a specific make a build Mechanism then and I'm using their helper then you would want to limit hurt the back portability What I would suggest that we say is that in general if there is no Explicit reason for limiting bad portability, then let's be open to backpots Which then allows us to later on make funky? Routines to try to backport and then we can take which packages did not back for for each reason Oh because it uses annoying Builds mechanism and that's maybe one brick two in the get rid of that system, but but it could be different As I said TV bears is working since 2004 nicely, so hit me again. Okay, will you know, but it For the when we were running Lenny and it was backpotting to it We had different problems of different reasons that people were ticking the newer versions That was the whole rewriting into short form DH that was so that was a nice tea You could say it was not a necessity, but but still it was a same thing that didn't hurt us that was that much So I'll just I'll just say let's keep it open in the future What will be the reasons for for tightening and if there is no explicit reason then don't just Routinely tighten packaging because it might hit something Yeah, it's difficult to disagree because it's very good argument does does one point I'm not so happy about and that is if you keep for example that the app helper versions and features Down for the packages that exist and then you have new packages Which are created with a new app helper version, and then you have packages which are created with an even new app helper version then you have a whole generations of variants of Debian rules files in the in the repository and and Well, it's a bit annoying Jonas is gonna mention CDBS in a second And CDBS hasn't changed since 2004. No, that's that's the main problem with it Okay, so any any conclusions on this Yeah, yeah, yeah, yeah that that one will this was this was the next discussion yet, okay Yeah, then Damian also wrote it supporting old stable when not hard is preferred until it hits Okay, good Let's go to the next question That was yours Yeah, I just wondered Now that we've frozen do Does that does this affect our workflow in any way? Do we continue to Upgrade things in RSV and just waiting for squeeze plus one or Do we put hold on that and start, you know squashing bugs more Release candidate box, of course always comes first case But I mean I don't see any reason Technique it it could really be shortened down to read the release email It has details instruction on how to deal with this current situation of should you then stop working or should you Not release our packages anymore And even if we have a package that we would really like to have in squeeze There's still chance to do that the change now is that you need to Convince someone else. You are not anymore just relying on the systems of 10 days And in unstable so but but read read the email that it really applies to pearl too I don't think we need a special style. Oh, I think that there's two bits in that one is Should we push new packages to unstable? I would say the answer to that is definitely no in case there are problems that come up that are going to be fixed by a minor patch There's a question then about should we move on full steam ahead in SVN so that once we release we have stuff ready to go I haven't done anything complicated with our SVN thing, but we don't do branching or anything like that. Do we? so it may be that the way our current setup works it may not be a good idea to do it because if We end up having to do a minor patch in a package. It's already an unstable Then it may be a case of rolling it back that might be an argument for the fanboys to use a bike kit So so something to to consider there is I mean I was gonna say something similar to what you said about We probably should not be uploading new upstream versions to unstable One of my other packages that I maintain upstream. I've been working with them They just released a new release last night and then you know today I just didn't get around to packaging it last night today squeeze frozen It's you know, it's a couple hundred lines of diff So I sent the diff to Debbie and release asking, you know for pre-approval So I think in cases where we have modules that are historically not buggy You know if a new upstream comes out and you know, it's a relatively, you know easy diff I think for those cases, we you know, we can probably just take the diff email it to Debbie and release and ask for a pre-approval For for a new upstream they'll do that. We're still pretty early in the freeze now as we get later It's gonna get harder, but I mean I don't I don't see why We need to I mean the worst thing they can do is look at it and say no You know what? I mean so I so so all I'm saying is you know You have a package and a new upstream release comes out And it's a few hundred lines of differ or whatever something that's simple Maybe just documentation changes, you know We can always ask and that way we can continue the work on some level without just bringing everything to a grinding halt Yeah, I was gonna say that I think the the the release managers are mainly gonna be you know Concerned about things that you know really drastically change the dependencies So you might have some chance of getting like little Individual pearl modules that don't depend on anything that might You know that might not be such a that is such a problem getting things like that in but Well, also every simple change we throw at the release managers is time taken away from them looking at that a more complex Release critical bug fixing thing So, yeah, we look at it when we go. This is a hundred line diff. It's mostly documentation If it's a hundred line diff mostly documentation then convince me that it's important enough to actually race the release team's time on it Yes, it's a nice But if it's not fixing a release critical bug I would argue that we should hold off The principle of the phrase is we're trying to get released rather than trying to squeeze everything We can't end and and they're already overloaded and I was just gonna add one more thing that I think that one thing We should try and Try and sneak in if we can is a raccoon What with the? Yeah, Raccoon of star just came out and it would really suck if like the next, you know, one and a half years We didn't have But parrot I thought was up to date Yeah But I mean if that's the you know, there's nothing depending on it and Because it's new code that shouldn't be a big problem five minutes. That's not good Was a bit confused by the discussion before I think There are two issues do we want to get something to squeeze and I agree that it's not worth overloading release managers with some Pick our battles, but but but the other interesting question is Do we still upload to unstable? Are we taking a holiday for six months now and historically for the last two releases? We have just continued to upload to to unstable It can lead to problems if we need to fix it back in testing, right but it was very rare and if I look at the At the amount of new upstream releases we have I guess that's around five new day or something like that and we have The freeze of four months, I mean, I don't Don't think it's realistic to say, okay, we don't upload anything to unstable now wait until Christmas and then upload thousand packages That just doesn't work. I Guess it's important to be careful. Maybe not upload a Critical packages where which have many are depends But just stopping to work Doesn't sound like a good idea SVN. Oh, wow, that's really loud SVN does have branching. I mean it doesn't have merging, but it does have branching Well, if it's a case of we're worried about an unlikely meeting to Diff against I guess we can just check out an old version or something and work from that I mean, I'm just thinking should we do something now? Should we take a snapshot?  I mean I'm a good person, right? So even doubt branch But that's the first stage of every get workflow is branch Yeah, I guess that probably is a good way to go because in reality You know, we can always go back to whatever version was in testing, right? Or isn't testing if we have to fix a bug in testing branch from there and In reality, are we gonna have to merge? Probably not and if anything if it's like to fix up a new bug that comes up, you know It's it's simple and that these you know at this point We're talking probably like max 29 line diffs if we're gonna get past the release managers with it You can diff and then just apply it, you know to the head and in a stable So it's kind of a clue because like you said there really isn't decent merge support and subversion But yeah, it probably makes sense to do it to just plan to do it that way that if we need to we go back to whatever version Was in testing this branch off of there. Yeah, I mean that that's what we're doing for first table proposed updates That there's a branch as Lenny which has don't know five packages now Or maybe it's ten because we've added three this week Ansgar has anything that uploaded them Yeah, that works fine for these cases Okay, anything else on squeeze freeze one more SVN ignorant question So so it's no problem to check out an old version and branch from there No, no, that's no problem. They are all tagged. You just copy the tag to a branch Yeah, I know it sounds weird to forget people copy protect the branch, but it this works Yeah, as long as you don't merge afterwards, right which we don't plan to so it's fine Okay Yeah, something like two minutes Okay, so this this list of work Tools well, it's it's in the wiki if you like to work on something do it But there's not really much left. So I'd like to leave the last minute. We have to Jonas and Some advertisement we have been asked to do here I'm involved in a in packaging a tool for LDAP administration called Cypux It's actively used for some years in Germany Quite some years the author the upstream author has used it before five six seven eight years something like that but it is the the current Major branch of it has been used for Developed during the last two weeks two years and used in school in New York in Germany there is one maintainer upstream and It could be super cool if this project could have some more help upstream in developing it is a This is considered by us in school in Germany as a very crucial tool to have at the moment for LDAP administration. There is only a very general Browser like tools to look around in in in a lot of structures and a PHP based Tool called goza, which is entering a testing now There is no in my opinion reliable tool to handle it up And this is just a little advertising if anybody could be curious about maybe looking helping looking at Helping out upstream with packaging Maybe parts of this Cypux some plug-in structure and stuff And working on getting it into Cp into cPan It is not currently in cPan upstream author wants the next major release to be fully inside cPan But he needs help with some clever people then We would very much appreciate it Okay, is there anything left we can discuss in the last 10 seconds we have Yeah, that that the idea was to to go outside after the talk to Give the video team our thanks and then some free time and do some more key signings for those who haven't yet Well and other than that, thanks for coming Let's continue working together. I'd like to thank Greg or for all his work for the team and damn Also, even though he's not here I'm sorry for the other people the things I didn't mention, but Yeah, what's great about debconf is you get to come and thank in person all these people who've done so much work for you So I'd like to say thank you very much Greg or I'm down


The Choctaw has kind of a motto, and it's they'll know we are Choctaw by our faith, family, and culture. It grew up with the strong faith, strong family, and a cultural understanding just of the past, of what came before you, of understanding the struggles, of understanding the path that all of the generations before us has walked. My dad's Choctaw Nation of Oklahoma, and my mom is kind of a European descent mix. The thing that I admire and that I really like is the Choctaws have always kind of put a focus on education and on trying to strive to obtain a better life for yourself and for the community around you. I kind of joke that I became an engineer before I knew what an engineer was. I didn't have anybody in my background that I ever knew that was an engineer, so I didn't understand the fields. The opportunities was just a leap of faith that ended up turning into a long-term career. I graduated high school at 17 and went to Tucson, to the U of A, and I got involved in a group called NASA. It's the Native American Student Affairs. I got an internship with IBM, kind of purely by chance. IBM was looking to hire Native students out of a program called Project View, which was focused on diversity hiring. I had two majors when I came out of U of A. It was Spanish Linguistics and Communication. So in my mind, I was going to become either a bilingual education teacher or a social worker. And the co-op and internship that I got that year as a way to get experience and make some extra money to support myself through college actually turned into a long-term career. So I became an engineer. I had a mentor that taught me the different ways to approach problems, different ways to look at things and how everyday struggles that we have. If you look at them as how can I solve this instead of what a pain this is, there's a lot of opportunities for advancement. Right now I have, I think, 65 plus patent applications submitted. Currently the project I'm working on is called Blockchain. Blockchain has the capability to do for transaction processing what the internet did for data. So it's a revolutionary technology that has the capability to transform the way that transaction processing is done today. So a quick recap. Although IBM is a large company, it's also a very diverse company. So you're constantly working with folks with very different backgrounds. And the different ways that we look at problems and that we look at technology and development brings a well-rounded point of view and solution that's better for the kind of global audience that we served. Had it not been for wonderful mentors I had and people that kind of helped me early in my career, I wouldn't be where I am today. I wouldn't have had the right mindset to chase my goals, to pursue my interests. Being an IBM master inventor basically means you're one of the top inventors within the company. And not only that, but you're also working to help mentor others that you're giving back to the communities. I've been a member of ACES for a long time and they have a local RIT, ACES chapter. So the Rochester, New York presence is all of the ACES students at RIT are natives. Basically a communication channel between mentor and mentee. They represent kind of a variety of tribes, mainly a lot of the northeastern tribes local to this area. I'm able to go out and meet with the students there and partner with them to understand what projects they're working on, what areas we can collaborate and also to help them understand some of the opportunities that some of them might be interested in the future. There's a quote that one of my aunts said that if you light a lamp for someone it will brighten your own path. And I think that's how family and mentorship and even career can be described is if you help others it not only lifts you up but it also comes back to help you.


So, after discussing the normal random variable, we will today talk about the exponential random variable, a continuous random variable x whose p d f for some lambda greater than 0, please note that the parameter has to be positive. Then, f x equal to lambda e raise to minus lambda x for x non negative and 0 otherwise is said to be exponentially distributed or has an exponential distribution whichever way you want to say it.  So, it is non negative right since lambda is non negative. So, therefore, by definition this is non negative and the integral from 0 to infinity lambda e raise to minus lambda x d x would be minus lambda upon lambda e raise to minus lambda x 0 to infinity. So, at infinity it is 0, at 0 it is 1. So, and with the minus sign, so minus minus plus. So, this is equal to 1. So, this is indeed a p d f. Then, you want to compute its distribution function and here this would be 0 to a right. So, this is probability x less than or equal to a therefore, this is integral 0 to a and this again comes out to be 1 minus e raise to minus lambda a a greater than or equal to 0 right because our variable itself is non negative. Now, we verify the conditions that c d f must satisfy and so limit f a as a goes to plus infinity is 1. From here you see as a goes to infinity this will go to 0. So, this reduces to 1 and I should have also written down the limit f a as a goes to minus infinity as a goes to minus infinity. See, we have anyway said that x is less than I mean for x less than 0 this there is no mass. Then, can I say it from here if a is less than 0 then of course, this integral is not defined. I mean if a is less than 0 then this integral is 0 or you can argue that this is there is no mass for x less than 0. So, limit f a goes to this is 0. Then, f x is monotonically increasing. So, therefore, you take the derivative of f prime of f x which is f prime x that will come out to be lambda you are differentiating. So, your f x would be well treat a as x does not matter. So, if you are differentiating this so the lambda would come here minus lambda. So, minus lambda in minus plus e raise to minus lambda x and since lambda is non negative right because lambda is greater than 0. So, therefore, this is again non negative and so the function is monotonically increasing. So, all the properties of a cumulative density function have been are satisfied. Then, we find out the expectation of the random variable and that will be integral lambda 0 to infinity integral 0 to infinity x raise to minus lambda x d x and by integration by parts I treat this as a first function. So, this will be this and now you see that at 0 this is 0. So, therefore, and this is 1. So, the product is 0 at infinity e raise to minus lambda x goes to or if you can write it as x upon e raise to lambda x then e raise to lambda x goes to infinity much faster than x does. So, the ratio it will tends to 0. So, therefore, no contribution from this term and you are left with just this. So, therefore, gain when you integrate minus 1 upon lambda e raise to minus lambda x 0 to infinity that gives you 1 by lambda. So, the way to remember is that if lambda is the parameter for the exponential distribution and it is defined in this way then the inverse of the parameter is your mean or the expectation. Some places people define it as 1 by lambda minus 1 by lambda x. So, in that case your expectation will become lambda. So, it is the inverse of the parameter. So, whatever you use for defining this the inverse of that will come out to be your. So, then to find out the variance you find out expectation x square and I have not done the calculations here, but again in the same way you will have to do two iterations of the integration by parts. Here x square is the second function this is the first function and you continue doing it. So, then that comes out to be 2 by lambda square and therefore, variance is 2 by lambda square minus 1 by lambda square which is equal to 1 by lambda square. So, a quick example normally these would be associated this distribution, but because you know when you go to any public place where there is a service counter. For example, post office or railway booking and so on. Now, of course it is mostly online, but still people have to go to counters for all these services. Then you know the time that the clerk will take to service the customer is most of the time random variable and so exponential variables do model that situation in quite a few this thing. So, suppose the length of service at a post office counter in minutes is an exponential random variable with parameter lambda equal to 1 by 15. So, immediately you can say that the expected number of time that the expected duration of service to a customer would be 15 minutes, because the expected value of this random variable would be 1 by lambda which is 15 minutes. If someone arrives immediately ahead of you at the counter, find the probability that you will have to wait 15 minutes between 15 and 30 minutes. To find the probability that you have to wait for 15 minutes that means at least 15 minutes. So, therefore, the event would be x greater than or equal to 15 where x is your time for having to wait. So, probability x greater than or equal to 15 which will be equal to 1 minus probability x less than 15. And therefore, as we have computed this already while computing this for the x less than x exponential distribution. So, this will be 1 minus of 1 minus e raise to minus 15 by 15, because your lambda is 15. So, therefore, this probability comes out to be e raise to minus 1 which is 0.368. Since, as I have said that because we have already made this computation that this will be equal to 1 minus e raise to minus 15 by lambda and your lambda is 15. So, therefore, this will be equal to e raise to minus 1 and so this is 0.368. So, similarly for the second one probability 15 less than or equal to x less than or equal to 30 that means your waiting time is now between 15 and 30 minutes 15 minutes and 30 minutes. So, that will be again by the same computations will be f 30 minus f 15 and which again would be 1 minus e raise to minus 2 because it will be 30 by 15 which is minus 2 and then this is 1 minus of 1 minus of e minus 1. And so because this is less than or equal to 15 and so less than or equal to 15 less than 15 for a continuous distribution. So, it will be this will be the probability and so it is e raise to minus 1 minus e raise to minus 2 which is 0.233. Now, I want to show you another important property of the exponential distribution. So, first of all we will talk about the memory less property and we say that a random variable x is said to have the memory less property if probability x greater than s plus t given that x is already greater than t is equal to probability x greater than s for all s and t non negative which means that it does not matter how long you have already waited. If you are asking for this probability x greater than s plus t then it is the same as probability x greater than s. So, therefore the system does not have the system we are modeling does not have a memory less property and so we are talking of a random variable which whose distribution satisfies this condition. So, now I will show you that the exponential distribution among all continuously distributed random variables or among all continuous pdf's exponential distribution has the property of being memory less. Distribution which are discrete and which also have the memory less property, but among continuous continuously distributed random variables random variable which is exponentially distributed has the memory less property. So, in case this random variable is exponentially distributed with parameter lambda then you see if you write down this expression probability x greater than s plus t given that it is x is greater than t then this will be this because when the product of these two would be intersection of these two events would be x greater than s plus t you would because it is t smaller than s plus t. So, this reduces to this expression x greater than s plus t divided by x greater than t.  So, 1 minus f a would be simply e raise to minus lambda a. So, here it is e raise to minus lambda s plus t divided by e raise to minus lambda t and which is this which is equal to probability x greater than or equal to s. So, exponential random variables are memory less and in fact little more arithmetic would be required or calculus to show that if you impose this property then you can actually show that only exponential random variables have the memory less property. So, since this being the first course I am omitting the mathematics here, but those interested can sit down and work it out and see that when you start with this condition for a continuous random variable then you will see that only exponential random variables the pdf which will satisfy this condition will actually be the exponential pdf. So, let us again look at an example suppose that the number of hours before a transistor fails is exponentially distributed with mean 500 hours. So, here the lambda is 500 if a person desires to go on a long tracking trip of 300 hours and uses the transistor in his radio then we want to find out what is the probability that the transistor will not fail. So, what is the probability that the person will be able to complete his trip without having to replace the transistor. So, he wants that the probability that the transistor will not fail for the 300 hour long trip tracking trip that he is undertaking. So, let us find out the. So, the solution is that f x is 1 upon 500 e raise to minus 1 upon 500 x because in the problem it says that the hours the lifetime of the transistor is exponentially distributed with mean 500. So, as I was telling you if the mean is 500 then the parameter will be 1 upon 500. So, therefore, the pdf of the random variable representing the lifetime of the transistor would be given by this x non-negative. So, therefore, probability x greater than 300 is simply e raise to minus 3 by 5 because it is e raise to minus 300 upon 500 which is e raise to minus 3 by 5 and you can compute this value from the tables or. So, what can be said when the random variable is not exponentially distributed in that case the memory less property is not there and so this will be simply a conditional probability in terms of capital F and so that is it. So, you see the advantage of having random variable which is memory less. Now, another thing that is useful and can be again for exponential random variable it gets quite simplified and that is the hazard rate function or in some times you also call it the failure rate function. So, if x is the random variable which is the which is representing lifetime of some item and of course, it is non-negative variable and the pdf and the cdf the pdf is given by small f and cdf by capital F then hazard rate function called the failure rate function is denoted by lambda t and is defined as follows. So, lambda t is small f t that means the pdf divided by 1 minus cdf. So, and a simple explanation is possible. So, here again what we are saying is that x belongs to this is a bracket here t plus delta t delta t is very small and then given that x has already worked for t. Now, what we are saying is that it will fail just after t because t plus delta t. So, x lies in the interval t comma t plus delta t given that it has been functional till time t and so this is a probability x belongs to t comma t plus delta t delta t is a positive quantity very small. So, therefore, when you take the intersection of these two you get this event divided by probability x greater than t and so this will be by definition f t plus delta t minus f t divided by 1 minus f t. So, now you see as the limit of this delta t becomes smaller then you know you divide by delta t and multiply by delta t. So, this divided by delta t remember limiting value of this is the derivative of f at t.  So, therefore, the definition of the failure rate because as you see that it should fail just at t time t. So, it has been functional up to time t and then it fails.  So, the pdf is mu e raise to minus mu t I have used symbol mu because lambda is already being used here fine and this is 1 minus f t will be e raise to minus mu t. So, you see this is mu a constant. So, for an exponential random variable the hazard rate is a constant it is not a function of t otherwise as you see that this will be a function of t. So, the hazard rate function is dynamically changing depending on the time that means if you are talking of life time. So, as it should be, but for exponential distribution the explanation is simple since it is memory less therefore, the hazard rate function does not change it is a constant. So, this is the rate of change of this is the rate of failure and so because it is memory less it does not matter how old the instrument is the probability of its failing anytime is same and so here the rate is also constant mu is therefore, also referred to as the rate of the exponential distribution. So, now mu is the parameter this is also the rate of failure for an exponential distribution and we saw that 1 upon mu will be the mean of the exponential distribution. So, given hazard rate of function lambda t for a continuous random variable it is possible to determine its pdf. So, we will just show because you see lambda t I can write as d dt of f t 1 upon 1 minus f t right and then if I take the integral of both the sides and attach a minus sign. So, there is a minus sign here this is 0 to x lambda t dt and this is integral 0 to x minus f prime t I have written this as f prime t dt upon 1 minus f t. Now, by you know formula for integration because derivative of this is this therefore, this will be l n of 1 minus f t right. So, therefore, l n of 1 minus f x because you are computing from 0 to x. So, it will be 1 minus f x will be and this is integral minus 0 to x lambda t dt I hope this is clear because see this will come out to be l n of 1 minus f t and this is from 0 to x. So, 0 to x when you put x here this will be l n of 1 minus f x and at 0 f 0 is what f 0 is 0 right. So, l n of 1 is 0.  So, therefore, I am just using that. So, that reduces to l n of 1 minus f x and this on the right hand side this is minus 0 to x lambda t dt. So, therefore, you can say 1 minus f x is equal to e raise to minus 0 to x lambda t dt and so f x you can write down from here as 1 minus of e raise to minus integral 0 to x of lambda t dt. So, if I know lambda t then I can integrate here and then my f x will be of this form. So, that means it is enough if you know the hazard rate function of a random variable you can determine its distribution. So, once you know the cumulative density function you can determine the pdf also right. Now, I will just illustrate the concept some more through an example and this says that see it is said that the death rate of a smoker is at each stage twice that of a non smoker that means they say that your age gets reduced by half if you are smoker compared to what non smoker. So, what is the ratio of the probability of a non smoker to that of a smoker to that of a smoker of surviving up to the age of. So, suppose I am just saying that what the both of them surviving up to the age of 60 given that both have survived up to 50 years we want to find out the probabilities. So, maybe the ratio part is not important all I am saying is let us find out the probabilities that a non smoker will survive up to the age of 60 given that he or she has survived up to 50 years. Similarly, a smoker the probability what is the probability of a smoker surviving up to 60 years given that he has survived up to 50 years. So, I will define lambda s t as the hazard rate of the smoker and lambda n t as the hazard rate of non smoker. So, now let me just right now take instead of 50 just let me take some years age a. So, what we are saying is that the probability that a non smoker's lifetime is more than 60 years given that the lifetime of the non smoker has been more than a is the conditional probability because again the intersection of these two because 60 is more than a. So, this is a probability that the non smoker has been the lifetime would be more than 60.  So, that will be 0 to 60 lambda n t d t and 1 minus f n a will be 0 to a lambda n t d t e raise to. So, this is what we just computed here and therefore, if you take this upstairs then you see the integral this will become e raise to a to 60. So, this will be e raise to minus integral of a to 60 lambda n t d t and this let me call as p n. So, the probability of a non smoker surviving up to the age of 60 given that he has already survived up to the age of a and correspondingly for a non smoker for a smoker this probability of having survived of surviving up to 60 years given that he has survived up to a years is lambda s t d t and I am calling it as p s. So, if the belief is that lambda s t is twice lambda n t that means the rate of the death rate is twice as high for a smoker compared to a non smoker then I substitute lambda s t for lambda s t twice lambda n t here. So, that will be twice lambda n t and so this will become square of I have not written the step I mean actually this is equal to e raise to minus a to 60 lambda n t d t square which is the probability p n square. So, the effect is that the probability gets squared up for a non smoker. So, the probability of surviving up to the age of 60 is a square of the for a smoker is square of the probability of a non smoker surviving up to the age of 60. So, this 50 was not really important because a could be anything here. So, given that is why we said that at any stage at each stage. So, therefore, does not matter when you are making this comparison. So, however old the both the people are after that if you want to say what is the age of surviving up to 60 then the probability for the smoker is square of the probability for the. So, now here as I said that if you take lambda n t to be 1 by 30 that means remember I am taking the situation when yeah. So, that means this is now because this is constant. So, therefore, I am taking the exponential situation that means the random variable the lifetime is a random variable is exponentially distributed then probability that a non smoker reaches the age 60 would be yeah because this is lambda n t is 1 by 30. So, you want to compute will it come out to be e raise to minus 1 by 3 yes e raise to minus. You are saying this is 50, 60 and 1 by 30 dt. So, what will that be 1 by 30 into 10. So, this is I mean e raise to minus. So, this is e raise to minus 1 by 3. So, if this is a constant that means it corresponds to exponential random variable and so this is e raise to minus 1 by 3 which turns out to be 0.7165. So, for a non smoker and for a smoker it will be the square of this which will be 0.5134. So, see how fast the probability has reduced because the because the person smoking. So, the probability of a smoker surviving up to the age of 60 is 0.5134 and for a non smoker it is 0.7165. So, that way one can have many more applications and as we go along may be I have put some problem related to hazard rate function in your exercise 4 also. Now, we continue with some more special continuous random variables and the next one is the gamma distribution and x is set to have gamma distribution with parameters alpha and lambda. Both the parameters have to be positive p d f is given by this equation. So, f x is lambda e raise to minus lambda x lambda x in raise to alpha minus 1 upon gamma alpha and that is why the name. So, this is let me show you the calculation for the gamma alpha. So, let us compute the value of gamma alpha for alpha greater than 1. So, therefore, the definition is this is equal to 0 to infinity e raise to minus y y raise to alpha minus 1 d y. So, integration by parts and therefore, this will be the derivative here is e raise to minus y should be minus.  So, therefore, this will be plus 0 to infinity then derivative of this is alpha minus 1 y raise to alpha minus 2 e raise to minus y d y. Now, let us compute the values at the two limit points at the end points. So, for y equal to 0 see this will be 0 because alpha is greater than 1 and that is why it is important. So, alpha is greater than 1 therefore, this is positive power. So, therefore, this is 0 and of course, at 0 e raise to minus e raise to 0 is 1. So, this is equal to 0 and again when y goes to infinity then this goes to infinity faster than this here again because alpha is greater than 1. So, this exponent is positive and therefore, this will go to 0. So, therefore, no contribution by this term and so your integral. So, gamma alpha reduces to just this which by our notation will be gamma alpha minus 1. So, therefore, I did not write. So, here iteratively that means, this integral will be now alpha minus 1 and so for positive integer values of alpha if I go on doing it iteratively. So, for integer values of alpha positive integer values of alpha this we can see is gamma alpha would reduce to factorial alpha minus 1. You can see that because as go on. So, the finally, what you have will be this will be then I should have yes this is alpha minus 1. So, this should be equal to alpha minus 1 gamma alpha minus 1 from here alpha minus 1.  Therefore, you will end up finally, with just integral 0 to infinity e raise to minus y d y and so this will reduce to this will reduce to alpha factorial of alpha minus 1 for alpha b positive integer. Now, it can also be shown that the gamma function is defined for alpha between 0 and 1. This is also possible we can also show that the integral will is defined that is it will be finite value. So, for all values of alpha between 0 and 1 the integral is also defined that means gamma alpha is defined for alpha between 0 and 1. And one important value is gamma 1 by 2 which is root pi and this integral we will we will obtain these values later on in the forthcoming chapters. So, I will talk about fractional values of gamma alpha alpha between 0 and 1. And there are tables available for values of fractional values of alpha their tables available non negative fractional values of alpha tables are available. And for alpha equal to 1 the gamma distribution reduces to the exponential distribution. I will have to check the see our gamma pdf is given by this. So, when you put alpha equal to 1 this term is gone. And so your pdf reduces to lambda e raise to minus lambda x and gamma alpha is also 0 I mean sorry 1. So, therefore, you will be the gamma pdf reduces to lambda e raise to minus lambda x for x non negative. So, therefore, for alpha equal to 1 the gamma distribution reduces to the exponential distribution. So, this is one relationship and then I will show you some other relationships between many other this thing. Now, you want to again check that this pdf is a valid pdf. And therefore, I have to show that this integral will be evaluated to 1. So, here of course, you put lambda x equal to y then lambda dx is equal to dy. And immediately this integrand reduces to e raise to minus y lambda dx gets replaced by dy and this is y raise to alpha minus 1 upon gamma alpha. And so from here you see that divide by gamma alpha here and this is equal to 1. So, the validation is complete. So, therefore, this is a valid pdf. And now you want to compute the expectation of this gamma random variable then you have to multiply this by x and integrate. But then it is easy to manipulate because I will add x to this and lambda also. So, I divide by lambda then I multiply by alpha and multiply here by alpha. So, this becomes gamma alpha 1 by our definition. So, this will be gamma alpha 1 and this will be lambda x raise to alpha. So, then this will be that means the pdf of gamma here your parameters are alpha plus 1 and lambda. So, therefore, since the this is again a pdf for gamma alpha 1 comma lambda. So, again it will integrate to 1 and so you will be left with alpha by lambda. So, the expected value of alpha lambda gamma variable is alpha upon lambda. So, that means if the convention is to write this first and then this. So, then this divided by this that is if you are taking the gamma distribution alpha comma lambda. Then similarly, expectation x square can also be just by simple manipulation computed immediately. What I will do I need lambda square here to bring this together with this. So, then I divide by lambda square and I multiply by alpha alpha 1 to make it gamma alpha plus 2 and this will be lambda x raise to alpha plus 1. So, again this is a pdf of gamma alpha plus 2 lambda. So, this will integrate to 1 and I will be left with alpha into alpha plus 1 upon lambda square and so variance will be this quantity minus alpha lambda whole square and that gives me alpha upon lambda square. So, simple calculations to tell you the required quantities. Now, let me just show you an application and this application may be I will be using a concept which we have yet to do, but does not matter I still thought that this will be a good time to mention this application. So, here see this is we are considering the case when alpha is positive integer when alpha is equal to n is a positive integer. Now, gamma distributions rise as the distribution of the time one has to wait until a total of n events have occurred. So, it is like you go to a railway booking counter and railway ticket booking counter then you have people ahead of you in the queue and each person as I told you that we will treat the service time as a random variable. So, and remember that the I had shown you that the service time being a random variable can be an exponential random variable. So, for each person the service time is a random variable and then since they are different people independent people. So, each one gets serviced. So, then the total time would be some of that many independent random variables and exponentially distributed random variables this is the idea. So, now the what I am trying to show you is that the gamma variable is actually the time one has to wait till all people ahead of you have been serviced and you have also been serviced. So, the way we will measure it is that. So, when I am saying alpha equal to n.  So, then until a total of n events have occurred and of course, later on when we do the Poisson process and so on then the whole thing will become much more clear, but you can just get a feeling for the application that I am trying to discuss here. So, now let T n be the time at which the nth event has occurred. So, time at which the nth event occurred. So, then T n less than or equal to t this event would that mean if and only if all the n events have occurred by time t. T n is the time at which the nth event occurred. So, now T n less than or equal to t will mean that by time t all the n events should have occurred which means in our particular case all n people have been serviced by the railway ticket booking counter. Now, let capital n T be the number of events in 0 t. So, see in this particular case if there are people ahead of you let us say n minus 1 people ahead of you you are the nth person then that means in and the time span that you are taking is 0 to t then that many people should have arrived in the time 0 to t when there are n people in the system then only they get serviced this is how we. So, in this case there are n arrivals in this time and so when we look at probability t n less than or equal to t if you want to compute this probability then this is the same as probability n t greater than or equal to n because at least n events in 0 t that means at least n arrivals must be there they can be more, but when you are talking of n people to be serviced in this particular time span of time then that at least that many people should have arrived or that many events must be there in the system. So, this is what it is and this we will therefore, because this is a discrete thing people arriving is a discrete events. So, j this will be j from n to infinity probability n t equal to j probability that there are j people in the system time 0 t and then you sum it up from j equal to n to infinity. Now, this is the part see very often when you talk of events discrete events occurring in a span of time under certain conditions it can be shown that these will be Poisson arrivals that means the number of arrivals in a span of time would follow a Poisson distribution and therefore, probability n t equal and this I will prove hopefully when we are talking about the stochastic processes and so on. So, then in detail I will discuss how you arrive at this probability when you are under certain assumptions you can show that the probability n arrivals in the time 0 t would be given by this. So, you sum it up j to n so it means for n t equal to j essentially n t is a Poisson random variable and so the mean value becomes lambda t because you are taking the span 0 t. So, this will later on be explained. So, therefore, this is your Poisson probability you sum it up from n to infinity. Now, this is your cumulative distribution function for t n to find out the p d f I will take the derivative which is f t n of t and so we differentiate this expression with respect to t and you see if you first differentiate this then lambda comes out and j. So, j lambda e raise to minus lambda t lambda t raise to j minus 1 divided by j factorial minus derivative of this which will be lambda minus lambda e raise to minus lambda t lambda t raise to j divided by j factorial. And here j varies from n to infinity and so just rearrange the things a little bit j when cancels out here. So, it will be j minus 1 factorial lambda t raise to j minus 1. So, what you see is that here the terms are from starting from j minus 1 and here it is j. So, you see things will cancel out in pairs and except the first term here will be left out which will be lambda e raise to minus lambda t lambda t raise to n minus 1 divided by n minus 1 factorial. That is the only one because when you put j equal to n plus 1 here that will be lambda t raise to n upon n factorial and here also j equal to n it will be n factorial and lambda t raise to why is it j minus 1 here I will subtract. So, this will be j sorry because when I am differentiating with respect to this one here then lambda t raise to j remains intact. So, this is it. So, when j therefore, this term will cancel out with the second term here and then the third term here will cancel out with the second one here and so this will process will go on only the first term will be left out here which is lambda e raise to minus lambda t lambda t raise to n minus 1 upon n minus 1 factorial. So, this is now a gamma distribution with parameters n comma lambda. So, therefore, the amount of time a person has to wait till he is serviced and if there are n minus 1 people ahead of him in the queue and so that the that is a random variable and we have just now shown that when the arrivals are poisson then this will be a gamma distribution with parameters n comma lambda. So, in this case this is also referred to as an n Erlang distribution that is another name in literature you might some books may refer to this distribution as n Erlang. So, we have got some feeling about the gamma distribution and as we go on I will give you some more you know insight into the thing. Now, the other continuous variable distribution which is of importance is the beta distribution. So, a random variable x with p d f given by the equation f x x is 1 upon this is the beta function a comma b x raise to a minus 1 1 minus x raise to b minus 1 x between 0 and 1 and 0 otherwise the integral we denote by b a comma b. So, this is 0 to 1 x raise to a minus 1 1 minus x raise to b minus 1 d x where a and b both are positive. Now, again just as for the gamma distribution we can show that for a greater than or equal to 1 and b greater than or equal to 1 the integral will converge and in fact for integer values just like we did for the computation for a gamma distribution it can be shown that this integral will be equal to gamma a gamma b by gamma a plus b. So, therefore, I should again correct my statement here that is that the beta p d f is this function divided by this. So, it becomes gamma a plus b divided by gamma a gamma b and therefore, the integral will it turn out to be 1. So, the gamma p d f the beta p d f is actually this divided by this number and. So, we denote this integral by b a comma b which is. So, therefore, it has since it is defined for all a b positive. Now, for a greater than or equal to 1 and b greater than or equal to 1 you can show by integration by parts that the integral will converge and for and will be equal to this and for fractional values of a and b also it can be shown that this is defined the integral is defined and it is equal to gamma a gamma b upon gamma a plus b. Now, many useful applications of the beta distribution and one case is that it models random phenomena whose set of possible values is some finite interval c comma d. So, that means all possible values of this random phenomena occur between within a set interval c comma d and, but then since we have here defined the variable to be from 0 to 1. So, then by scaling and shifting we can transform this interval to 0 1 and of course, one obvious transformation is that y is equal to x minus c upon d minus c. So, then all possible values of x which are within c d will now be. So, the corresponding y variable will have all values between 0 and 1. So, and then we will see further applications of the beta distribution and we will compute the other quantities related with the beta distribution. Now, I am just trying to give you pictures of graphs of this beta distribution for different. So, now when a is equal to b this graph is symmetric the graph of the beta function is pdf is symmetric and for example, a equal to 3 it will be something like this and as a becomes bigger the mass gets concentrated this the graph becomes narrower and this is symmetric. So, if you draw for a equal to 10 probably it will be something like this p the peak will be higher and so on. Now, for a not equal to b the graph is asymmetric and skewed towards the left. So, for example, a equal to half it is almost skewed towards the y axis and as a increases again the skewness shifts to the center and these of course, they are not the graphs are not drawn to scale, but in any case a upon a plus b is equal to 1 by 20. So, in this situation when suppose a is 6 you can find out what the value of b is and so on. Now, there are situations see for example, if you have a big project in which you have lot of jobs and so of course, a big project will be made up of a number of jobs and this project may not have been handled completely before. So, there is lot of uncertainty about the job completion times and as a project manager he has to he or she has to you know sometimes we have some estimate as to how long it will take for the whole project to be completed, which means that must have a good idea as to how long it will take for each job to be completed. Now, in the absence of any previous experience because the jobs have not been performed. For example, of course, this is now a very old example that when they were trying to put a man on the moon then it was a completely new project all the jobs that made up the project were all new. So, people had no idea about the how long it will take for the jobs to be completed, but certainly there is a certain finite span and then of course, you do not expect just like as for the normal distribution for example, it is a symmetric distribution, but then here there was no reason to believe that the completion time distributions will be symmetric. So, therefore, beta distributions fitted the bill very well because here was a distribution which has a finite span and even though it is a continuous distribution and then it was not symmetric so and so on. So, then huge projects were then the time estimations were made using beta distributions.  So, beta distributions again one gets time one can talk about I can give you an idea how the time estimates are done using beta distributions. Now, as we go along we also need to keep coming back to distributions of function of a random variable and I will just do some sample functions here and then try to give you a general result. So, let us say suppose x is uniform 0 1 and that means x is taking a non negative values then if you define the function y equal to x raise to n then obviously x raise to n will also remain in the interval 0 to 1. That means the range for y is between 0 and 1 and so if I want to find the pdf of y then probability y less than or equal to small y is the same event as probability x n less than or equal to y and this will be probability x less than or equal to y 1 by n. So, remember this is because the values here are non negative. So, this is the same as this inequality the nth root and now if you differentiate both sides this will give you the pdf of y and here when you differentiate this will give you pdf because this is now f x this side is f x y 1 by n. So, you are differentiating with respect to y and so this is f x y raise to 1 by n into derivative of y 1 by n which is 1 by n y raise to 1 by n minus 1 and y between 0 and 1. So, but for a uniform random variable this is equal to 1 and therefore the pdf of y reduces to 1 by n y raise to 1 by n minus 1 when y is between 0 and 1 and 0 otherwise. Take another function so now even you take the function y equal to x square in this case you are not saying that x can only take non negative values x can take negative values also then you see when you write down this event probability y less than or equal to small y which is probability x square less than or equal to y then this will be then equal to this event that capital X is between minus root y and plus root y because I did not if I had you know sort of put the restriction that x has to be non negative then obviously this it would have been just this part this part would not have been there. But since I am allowing x to take all positive negative values therefore this will be this will be equal to this event right and so by again our this thing writing down in terms of the cumulative density function this will be f x root y minus f x of minus root y. And then so we differentiate again respect to y and d dy f y y is the so here this will be f x root y and then derivative of root y which will be 1 upon 2 under root y this is x and plus f x minus root y.  So, this will be your pdf for y equal to x square now the third kind of function that I am looking at here is y equal to mod x. So, x has a pdf f x then here and so in this case y will have non negative values even though x has negative values right. So, we write down the event probability y less than or equal to small y this is probability mod x less than or equal to y which again can be written as x between minus y and y right. Because the absolute value has to be less than y y is a positive number. So, therefore in magnitude the value x even if it is negative it has to be higher than minus y right. Because if you are saying that mod x should be less than or equal to 3 then your x cannot be minus 4 because absolute value of x would be 4 which is not less than 3. So, therefore the values of x have to be between minus y and y right. And therefore, this is f y minus f of minus y and when you differentiate with respect to y you get pdf of capital y which is f x y again minus sign gets converted to plus because there is a minus coming from the derivative of minus y. So, this y greater than or equal to 0. So, one can go on but then I will just summarize all this in this theorem and yes. So, this is x is a continuous random variable and f x it is pdf suppose g x is a strictly monotone increasing or decreasing function. So, this is now very clear and it is differentiable.  So, monotonically decreasing or monotonically increasing then the random variable y equal to g x has a pdf given by this and it will take a few minutes to just prove this result. So, in this I just realized that in the statement of the theorem this absolute value sign is missing but that is important and I will show you y. So, that means when y equal to when you are looking at the function g x of the random variable x and we are finding the pdf of y then f y of small y is f x the pdf of x into of at g inverse y and absolute value of d dy of g inverse y when y is equal to g x and 0 if y is not equal to g x and of course here what we are saying is that the spurious values are not being considered because when you take the inverse function here see it is a monotone function. So, the relationship between that means this would be I do not have to worry about extra values here. So, this will be fine. So, now let us look at the proof of the theorem. So, we start with the event we start with the event that y is less than or equal to small y which is equal to this and this I can write x less than or equal to g inverse y. Now, because the function is monotonically increasing. So, this inequality from here this inequality is the valid outcome because it is increasing. So, the inequality will not change the function g we have assumed is increasing function and therefore, this is equal to f x of g inverse y. So, differentiate both sides with respect to small y then this is f y y which is d dy of this thing and in the next step you get this is the pdf of capital y which is here when you differentiate capital f x you get small f x. So, that is g inverse of y into the derivative of this in inverse y and now here because the function g is monotone this again result from calculus you can show that positive derivative and f being the pdf f x being the pdf of x this is non negative. So, the product is non negative and therefore, this is non negative. So, this satisfies the condition and of course, you can verify that this is also a valid pdf that means the integral will be 1 and so this is it. So, when you are taking the increasing function then because the this part is non negative I do not have to put the bar sign here, but when g is decreasing then you see the probability the event g x less than or equal to y will the transform to x greater than or equal to g inverse y and that is what I am showing you that if this is the function g x then you are saying g x less than or equal to y. So, g x less than or equal to y so beyond g inverse y are the values for which your function is less than y when the function is decreasing and so the inequality here will reverse and that will be x greater than or equal to g inverse y.  Now, since g is a decreasing function this derivative would be negative so minus minus this will make it positive and that is why it is important that we write the absolute sign here because your p d f cannot be negative that is the first condition and which turns out to be because when the function is decreasing this would be negative so minus into this would become non negative and so here again this would be positive. So, this is for the completion sake that I wrote down this theorem, but normally what we do is we initially you know do compute the p d f we write down the equivalent event when you take a function of a random variable and then of course, differentiating both the sides you try to get the p d f for the function of a random variable, but at times it also helps to be able to use the theorem. So, this is this thing now let me just show you that as I was saying that one can either obtain results directly or using the theorem. So, if x is an exponentially distributed random variable with mean 1 by lambda then we show that expectation of x raise to k is k factorial upon lambda k k varying from 1. So, for any finite value of k this is what you have right now direct solution I am giving you. So, solution 1 I should have said actually this is solution 1 which is direct solution. So, here because I know the p d f of x. So, expectation x raise to k will be 0 to infinity x raise to k lambda e raise to minus lambda x d x remember we are told that the mean is 1 by lambda. So, the parameter the distribution would be lambda e raise to minus lambda x d x and integration by parts treating this as the first function. So, the lambda lambda cancels minus e raise to minus why am I writing t here this should be lambda x into x raise to k 0 to infinity plus the minus sign and minus sign makes it plus 0 to infinity e raise to minus lambda x and then relax x raise to k minus 1 d x into k right. So, you see this integral will come out to be this and then I again multiply and divide by lambda. So, then this becomes my regular gamma function. So, 1 upon lambda. So, this will be i k minus 1 into k by lambda this integral because when I differentiate this the k will come out the k should have been there. So, you have differentiated x k. So, k is already there k is here. So, that k I am writing k by lambda and then this integral is your i k minus 1 our i k was lambda e raise to minus lambda x x raise to k d x integral from 0 to infinity.  So, this is k factorial upon lambda k into i 0 final right if I go on doing it repeatedly. So, this becomes then for if I write down for i 0 this will be k factorial upon lambda k integral 0 to infinity lambda e raise to minus lambda x d x which turns out with this integral is 1 because anyway you know that this is the pdf of an exponential distribution with the parameter lambda. So, therefore, this integral is 1 or you can directly show that this is 1 and therefore, this is the answer right. Now, we want to use the theorem. So, using the theorem that is that you compute the pdf of the random variable x s to k. That means, I compute the pdf of the function of the random variable and then through that route I try to compute the expected value. So, if I define my y as x raise to k then I am trying to compute y less than or equal to small y which is probability x raise to k less than or equal to y which is then x because everything is non-negative. So, therefore, the inequality will be converted to this that is x less than or equal to y raise to 1 by k and then f y y that is the pdf of y now will be f x of y raise to 1 by k into 1 by k y raise to 1 by k minus 1 right because this I will be writing this is as f x of y 1 by k right.  So, this will be 0 to infinity y lambda e raise to minus lambda y raise to 1 by k 1 by k y raise to 1 by k minus 1 d y. And so, e y now here I can put y raise to 1 by k is s. So, then 1 by k y raise to 1 by k minus 1 d y is d s. So, this whole thing goes to d s and so, I have now here s raise to k right because y will be s raise to k and lambda e raise to minus lambda s d s. And this is now we recognize that if I take lambda divide by lambda raise to k and combine lambda here. So, lambda s raise to k and so, this is your gamma pdf and therefore, is not pdf in the sense that I must have here gamma k plus 1. So, therefore, this integral will therefore, be equal to this integral will be equal to gamma of k plus 1 and then divide it by lambda k. So, that is another way of and since this is an integer k is an integer positive integer. So, this will be k factorial upon lambda k which we got here also. So, you know whichever is convenient one can try to get the result either way.


Hi everyone, Joe for Jaspy's CaseBreaks.com coming at you with a quick little 2013 limited football break, a little blast from the past. This is random team break number three. If you're watching live, number four sells out that three box mixer that we've been trying to fill today. We're going to give away five of those spots at the end of this break. But first the break. Big thanks to everybody here for making it happen and thanks to all the teams for being in. Let's roll it. That's a different timestamp right here. Let's roll it. There's the current time right here. Two and a six, eight times for names and teams. One, two, three, four, five, six, seven, and eighth and final time. And obviously a different dice roll for the giveaway part, as you know by now. Two and a six, eight times for the teams, one, two, three, four, and eighth and final time. All right. Here's the first half of the list right here and the second half of the list right over here. I'm going to skip the trade window. No trade windows in these quick little filler breaks. Let's just alphabetize by team. Let's do the box. Let's see what's inside. Here's the final printout. Hot off the presses. Let's just go one by one here. Not too many cards here. Out of three, 49, Ark Monk. Got groundwork, Relic, 43 out of 49, Ronnie Hillman, Sean Maddock with Denver. We got Marvin Harrison, 49 out of 49. It's a cool dual Relic for Steve and the Colts, the blue horseshoes. And we got, this is pretty cool, dual Relic and Autograph, Quartarelle Patterson. One out of 99. That's rookie, jersey, and Autograph. It's always nice to see a rookie out of here still in the league and still contributing at a really nice level here, Vikings. That's going to be for Steve Birch in Minnesota. We got CJ Spiller to 49, David Wilson to 399, and a Greg Jennings to 399. All right. Not a bad box. Right here. Not a bad box at all. All right. Now let's flip back to the list again. Let's gather everybody's names here. Here's the dice. Here's the list. New list. Get everybody's names in there. And let's roll it and randomize that list two and a five, seven times. It's going to be top five after seven. Good luck. One, two, three, four, five, six, and seventh and final time after seven. So top five out of six. Even six on down. It's going to be sad times. Sorry, Terry. Very close, no cigar. But if you're watching live, we're going to do one more of these, and that'll finally unlock that three box mixer. So let's give it another go, jaspeaskasebreaks.com. We'll get them next time. Top five. You're happy because you're in. Steve Birch, Steve Birch, Steve Birch, Sean Maddock, and Steve Birch. Four of the five. Steve definitely had the odds with him. Sean, you snuck in there as well. I'm Joe for jaspeaskasebreaks.com. Let's do that one last one to unlock the break, and we'll see you for that a little bit later tonight. Jaspeaskasebreaks.com. Bye.


Anything that you'd want kind of an up feeling for this really provides it. Hey what's up guys it's Josh here today I want to do a re-review on this amp citrate. Amp citrate is a supplement that I was really blown away with when I first tried it. I said it was pretty much my favorite supplement. I think I had tried it for a few weeks at that point. Eventually somehow some way I stopped taking it every day and I've slowly started to incorporate a little bit more after I've started to retest DMA and DMHA. I was going to do DMHA next after DMA but for some reason I was having some weird experiences with it some bad some good and I ended up trying this amp citrate a lot and I feel like I have a really good pin down opinion on this one so let's jump right into it. It's pretty decently priced you get 133 servings at 75 milligrams each I do recommend slightly more than one serving but at the same time you get 133 this is a very exotic supplement so I do think if it is $55 it is worth it. Quick little overview of this this is kind of like a medium strength stimulant there is a few stimulants that are stronger than this which are DMA and DMHA definitely stronger than this. Then there are ones that are a lot weaker than this I would say this is kind of on par with Tia Kreen but it's got more of a DMA style feel but it's kind of on par with how long Tia Kreen lasts. I would say this lasts definitely longer than DYNAMINE a little bit longer than caffeine so it's kind of in the middle range and I think that's kind of why I like this so much and why I recommend this so much. Usually with the energy on this one I get probably three to four hours of solid energy maybe up to like five or six most of the time the coffee unless you rarely have coffee coffee is really not going to last to that three or four hour mark you'll probably get an hour and a half two hours tops out of this one so you do get a longer feeling of just being up and for some reason caffeine kind of has more of a crash with this one this one thought a lot more it's kind of like an even keel but it was never too much the pros of this supplement in my opinion this is the perfect blend of it's really going to work but it's not going to be overkill so many times with DMA and DMHA I really do appreciate how long they last I have to really really be careful with it and something like Amcitrate it's just so nice because if you're kind of craving to have a lot you could have a decent amount of this and it won't mess you up like if you were to take four or five scoops at least for me of DMA throughout the day I would completely mess me up because I only really can take it once the beginning of the day and it lasts so long if you were to take it in the middle of the day it's going to probably be there a little bit in the morning when you wake up so it's just too long this is right down the middle it's pretty generally pretty safe a lot of people could just try it out even people who are sensitive to stuff you're probably not going to have a bad time with this one in my opinion it's just the perfect blend of having a good amount of stimulation but also being safe well relatively safe the only reason you'd be taking this is for an extra little jolt in my opinion this kind of works well with a lot of people the main pro is that it has an amazing blend of energy to be in safe at the same time it's actually not that much cons in my opinion but the cons number one is the taste now I don't really want to blame this one 100% because it tastes the same in my opinion as DMA and DMA they all kind of taste bad in my opinion tiakreen tastes the worst so it's not even near as bad if you put a lot of this in your drink you are going to notice it I've noticed that one one and a half scoops you don't taste anything too you might taste a little bit of something but it doesn't really bother me that much but if you get up into those high scoops you are going to taste it I actually think this would be worth that even if it was 75 to 100 just because of how exotic this is you can't get anything like this anywhere else you pretty much only have access to maybe like yohenbi and caffeine so exotic so good and so worth it I mean I think it would almost be worth $100 this is I believe $55 for 133 servings I would recommend everyone start out with one and a half scoops and based on that one and a half scoops if you want more or less kind of go from there also take it in the beginning of the day you could probably redose it once in the middle if you want to as well as far as the price to energy ratio I would usually go about three to five scoops a day if I'm going to take this you are going to run through the packet a little bit quicker than you would with something like dma and dmha dma and dmha some of them I think are cheaper and stronger but at the same time I just like this one so much because so likeable and so safe you could recommend this to way more people probably like five times the more amount of people because of how much problems you get with dma and dmha it's just so much more balanced if you're looking for the maximum amount of energy for price I mean that's got to be dma or dmha but in my opinion this is still worth it like I said if this was $100 I still think this would be worth it I would recommend this for just about almost anybody I mean the only people I wouldn't recommend this for is people who really don't like stimulants who don't like caffeine this kind of works well with anything if you got somebody who's working long hours it would go good with them if you have a pre-workout you could toss a little bit of this in maybe use a little bit less your pre-workout it's going to have a unique feel if you take dma or dmha you could maybe do half dma half this you know what I mean get a little bit of both same with caffeine and you could take a little caffeine a little bit of this it's just going to blend really good it's not going to be crazy same with tea green almost everything goes good with this almost everyone goes good with this if you're somebody who doesn't like stems and doesn't like caffeine that's the only person that I would not recommend this for but goes good with almost every situation studying gaming anything that you'd want kind of an up feeling for this really provides it I really really enjoy it and you could also take it by itself and just you know skip out the caffeine for a few days and just kind of let yourself recharge but anyways guys am citrate is an amazing amazing supplement I've enjoyed it since I've very first started taking it and I enjoy it now and I recommend it to just about everybody it's a fantastic supplement if you're looking for any sort of energy boosting effects or focus boosting effects but anyways guys we're on the road of 50,000 subscribers and I couldn't do without any of you guys I hope you guys are the best I'm having a great day out here hopefully I'm in a great day at home see you all in the next video peace