Okay. And Jane is the founder of this group. I've just been told. Yeah. Where's the microphone? Oh, right here. I can move closer. Like on the directional. Yeah. Should I go stand by? No, it's fine. And if it turns out that anyone has trouble picking you up, I'll move it for you. All right. I'm here to make your talk easier. So I'll move whatever. All right. This is like a first class situation. Yeah. Hello, everyone in the room and on soon. My name is Jay Allen. I've been an early developer since 2010, which is quite a while.  Sort of not on purpose. It just like one of those things that just happens to you.  So that's what happened to me. Like, we were deploying a lot of early in software and we had like, almost no process around packaging it and like putting it out for distribution. And so I got super like care about that.  So for the last few like year, 18 months, whatever, I've been doing mostly DevOps stuff. But honestly, like early is still in my heart. And I just want to share some early love with you guys. So tonight we're going to talk about early timer wheels. Timer wheels themselves are not like a new idea. They've been around since the 80s. In fact, like the paper, I hope that some of you at least glanced at or skimmed or read the summary of was written in 1987. It's still an amazing paper. Honestly, it's very short. It's easy to understand. It's incredibly powerful. What a good tech it is. So we're going to talk about that tonight. Also, any time if there's questions that you want to know about Erlang or time or whatever, just ask it's fine.  Are you on the zoom meeting or no. If you don't mind jumping on the zoom meeting, that way you can share your slides with everyone. Sure. I can do that. If you go to the website. Yeah. First have to get on the improving Wi-Fi. Oh yeah. Improving students. Proving. Well, you know, I guess we're going to have a slight technical. Difficulty. And I'm not even using Linux on my desktop. So you guys are super lucky today. You know, we're not going to have like 15 unplugged replugs. Just a quick warning. You don't want to say that too loudly. Because I'm supposed to be next to our Linux group. People. And this is a Linux person. Everyone knows that. That's only on art. I've never had a problem. I'm just going to throw some bombs out. And you can discuss it after I'm done talking.  Like, I can do that. I can do that. I can do that. I can do that. I can do that. I can do that. I can do that. I can do that. I can do that. I can do that. I can do that. I can do that. I can do that. I can do that. I can throw it at me. Okay. My computer does not like improving. Are we, are we having an issue with that? I don't know. Even my, I have an alter. Okay. Capital. Oh yeah. That's probably why it's not working. It's doing something. Here we go. It's doing the thing. Oh my God. Okay. We go. Woo. Awesome. That's the best. Okay. Now I need to go to the thing and do the thing. Yes. Go to the thing and do it. precision. Yes. I love that. Yeah. So this is the thing here. I need to join. Yeah. You connect it to the right zoom meeting. And then you go to show your screen and I'll see here. Also. We're trying to do Jerry. It's one. It's making a lot of understand the day of game net. Or a long time. Yeah. This is the paper. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. I just want to check. Do remote participants have the shared screen. You should see the title slide. I feel for the speaker. We see it. Is it still a thing? We're good. We're good. Yeah. Okay. Awesome. Yeah. Yeah. Yeah. First of all, let's talk about how weird time is. Who thinks that time is weird. Who has never programmed date time. Who has never been super frustrated with date time. Everyone in this room knows that it's one of them. Everyone in this room knows that date time. It's one of the three armpits of computing. The other two armpits of computing are printers. And serial cables. You'll notice that two of them are possibly related to one month. Okay. But programming those things are awful. And they're even one of the reasons they're awful is because time is very political. Like it's this abstract thing that humans have invented. And so humans have interpreted time and time. Like how they want to do time for their place in different ways. So, you know, in our country, there really wasn't a notion of time until like. The middle of the 1850s when railroads started like having time, like train schedules, right? And then people were upset that they didn't have local moons. So they decided, well, we're going to have time zones because of geography. And then, you know, that was the start of some really terrible ideas. But the problem is, is that time itself, everyone thinks it's like this sort of always progressing. Fully, like strictly monotonic advancing counter, but the reality is that actual time is not like that. It's quite a bit next year. So I have a couple of factor crafts. Who here thinks that it's a fact that time always advances.  Well, correct.  Because I'm willing to. You know what? I love that you brought a black hole. But let's talk about not singularity time. Let's talk about Earth time, you know, without like giant gravitational fields to influence how time goes. I think back. Yeah. Right. Like intuitively we think that's a fact, but in fact, it's crap. Yeah. So. In fact, I'm going to do that. I promise I will do that. In most practical programming scenarios for us, it's always monotonic. There are cases like before, before the Julian calendar, before the zero Julian day where my family. That's a reference to a calendar. I mean, sure, that's, that is a specific problem. Actually, like before, you know, ranges that are sort of outside of our normal, like we're just shooting timeline. Those are definitely annoying. But like that's not what I'm talking about in this situation. So I have another factor crap, which is NTP is a thing. Who knows what NTP is? Okay. Someone's learned out what is NTP. It's a centralized time. It's a centralized time protocol, right? It synchronizes clocks on computers, right? Right. So why do we need to synchronize clocks? Like why is that important security? Security is a good reason. Why else? General relativity. General relativity. We're not getting like on the edge of stuff. Like the Disney movie from the 80s black hole, not a click hole here. We are not. I mean, like with the GBS. Yeah. Right for positioning. Because like a pendulum in the grandfather clock, like slows down.  And then. Very OCD. And so if his clock isn't exactly. Right? And like, just to do it because always do some type of error that might happen. So maybe just have money at least eight. That's a big thing to be synchronized. That's right, it's not the top bottom in the night of indigestion. Synchronization sounds very stable. Synchronization is super stable. So in one of my next slides, we're going to talk about how white clocks are important for distributed systems. But for right now, we're just talking about time itself as an abstract. OK, so who here has heard of a weak second? Yeah, so what's a weak second? Useful to go and keep low voltage. Like if you commentate the one year on low to 365 on 25 days, we have to use the compensator that, correct?  That's also correct. So every year, every single year, there is a weak second. OK, the weak second generally happens on January 1st. Does anyone know how computers process weak seconds? They don't. How do you process a weak second? Don't you just think that it's a weak second? I don't need those words. Yeah, it's magic. Like it's literally magic. OK, like the fairies come out of the wall and they tag your computer and then the weak second is magically passed. OK, so there's all kinds of different ways that companies have decided to approach this problem. Leak seconds are generally processed by your clock, not advancing for one second. OK, that is my time on the different. It does not match with weak seconds. That's correct. So that's a case where it does not. Now, there's also been bugging implementations of clocks and computers. Who's surprised by that? No one. No one is surprised by that.  It happens instantaneously because it's unexpected. So if there's one rule about distributed systems, it is that you must expect the unexpected. The old classic saw is you be liberal in what you accept and conservative in what you said. That's the rule about building distributed systems. OK, so we talked about how weird time is, how political time is, how time itself doesn't always advance because of these meaning to match with actual hashtag science, and all kinds of things like that. So that's specifically about time. And then the next thing I wanted to talk about is distributed systems. So I'm a distributed systems nerd. That's also close to my heart. You probably guessed that because Erlang is a wonderful language for building distributed systems in. So let's talk about some of the reasons why you need reliable clocks. We've already mentioned a few of them. One of them is positioning. We need to be able to calculate where we are based on triangulation. Triangulation counts on time. So we need to have really accurate clocks so that we get a good measurement of where we're at on Earth. We have this big satellite like cloud and it's sending a signal and we're timing that. And that's how we're going to figure out where we are on Earth. So that's important. I didn't put it on here, but that's a great use case. Another is coordination of state replication, which we touched on just a little bit ago. There's this idea in distributed system transactions that there are these different isolation levels, which means if I have multiple writers, what is the ordering of those rights? How are we going to record that in our source of truth? And the highest level, highest guarantee of that is this thing called linearization. And linearization is essentially this very intuitive notion that over some time t-line that the rights are going to be ordered in the correct sequence. So if you have two rights that happen simultaneously, you have to resolve that somehow. But at the end of the day, there's going to be this total ordering of all the rights at a certain time for a certain register. So that's linearization. You need to have good timing for that because, again, you need to collect what time these things happened at and then resolve them if there's conflict. There's also retries, like failure recovery. So you have an algorithm, it didn't work, or you have a remote partner that's not responsive to you. You need to detect that somehow. That's called failure detection. And then we also have retries, which I touched on already. And then finally, there's algorithms that do traffic shaping, traffic control.  So that's another case where you need a timer and a callback and something needs to happen on this sort of interval schedule. So let's talk about how we can implement some timers. So the paper that I asked you all to read or that I want to talk about tonight discusses a couple of ways that the authors are aware of to implement timers. The first one is direct access. What does that mean? It's literally, we're going to pick a piece of memory. We're going to put a counter in that thing and we're going to decrement it. We're going to just keep decrementing every tick of the hardware clock. We're going to go that memory location, decrement it. And when it gets to zero, we're going to do something. Whatever that something is, we're going to call a routine, whatever happens, happens. So that's a very elementary way of implementing a timer. Straightforward, easy to understand. The problem is, is that what happens when you get to very large numbers of timers, right? There's a really big scale problem here, which is there's a lot of overhead bookkeeping on every single tick you need to access every single timer and decrement it. And obviously, as the number of timers increases, that's going to slow down your computation quite a lot. So that's not a good method. The second method is sort of like the first method, but instead of just having a single memory location, we're going to put a list of things possibly ordered, possibly unordered. In the paper, the authors discuss the various tradeoffs that we're doing that, right? So then that's also problematic because as that list gets very long, and then you have to keep evaluating the things at the front of that list or the rear of that list, depending on which method you picked and what tradeoffs you've chosen. Another method that's in the paper that's not on the slide is that there's this idea that you're going to have a treat. So instead of having just a straight up array, you're going to have a treat, right? And then you can do all kinds of tree stuff. And that drops the complexity to n log n, which is better than n, but still not great for large ns, right? And then method three, which I love as a distributed system person is you're just going to ignore wall clock time. We're just going to completely forget about wall clock. And we're just going to worry about processing events as they occur, right? So as an event comes in, we're going to look at it. We're going to classify it. We're going to say, oh, this is an event x. This is an event y. We're supposed to do this when we get x, which is to do this when we get y. And then you can just count those. I've gotten 10 x's, right? So now I'm going to do something with all 10 of those. I'm going to roll them up. I'm going to summarize them. I'm going to retransmit that, whatever the thing is that you're supposed to do with them, right? That's a perfectly legitimate algorithm to use in a distributed system. But in this particular case, we are talking about wall clock time.  Because in per debugging purposes, you want to know when those events happen, right?  I just got 10 x's. What am I going to do with them? You're going to want to say, well, this x came in at time 0, time 1, time 2, all this sort of thing. Because later on, when it fails, you're going to be like, what was I doing when it failed? Like what event was I processing? If they don't have to wall clock time, it's going to be really hard for you to figure out. Let's look at a log file or whatever and try to figure all that out, OK? So at the end of the day, you can't escape from wall clock time, even if you're ignoring it. And what's wrong with that implementation? Nothing. But you still have to deal with wall clock time. So we might as well deal with it. All right. We can do better, right? What if I told you we could do better? That's the point here. So the way that the paper talks about doing better, here's the paper. This paper is called Hashtag Hierarchal Timing Wheels, Data Structural Implementation of a Timer Facility. It was written in 1987 by these guys at DEC. Really great paper. I highly recommend it. But here's a Timer Wheel, right? So this is the idea that's in the paper, sort of this still down to a diagram, OK? So in the middle of the diagram, we have this Timer Wheel, right? It has all these slots in it. We made this really small little Timer Wheel. This is an 8-bit Timer Wheel. So every time the clock ticks, we're going to just look at the Timer Wheel, the slot that it's in, and we're going to see if there's any little boxes there. Those little boxes are timers, OK? And depending on your implementation, they may be ordered lists or unordered lists. But we're going to evaluate the head of that list. And if the head of that list is expired, then we're going to process it. In fact, we're going to process every element in that list, OK? We're going to see it where if any of the jobs in that list expired, every single clock tick. And that way, we can compress the number of memory locations that we're storing data in. And we can also do much more fasty vows. We don't have to evaluate every single Timer, every single clock tick, right? And we can also schedule these things in advance. So that makes it nice. There's some other algorithmic things that go on in the paper. There's the idea of hashing, right? So that means that, let's say we have this 8-bit Timer Wheel here. So every time we put a new job in, we're going to take the time that expires and do Modulo 8, right? That's going to tell us what bucket the little box goes into, right? So when we're building this link list off the Timer Wheel, we're going to look at that, we're going to hash it, right? Do a consistent hashing and what it's called. We're going to do that and we're going to put a little box in that list. And then every time that spot and the wheel comes around, we're going to check all the jobs in that list, right? And then as the job expires, we're going to remove them from the list and do whatever it says to do. Hopefully asynchronous. But anyway, that's the basic idea for a Timer Wheel. Is everyone clear on that? Like, does that access everyone? Is there any questions about that? No questions up there. OK. I need to almost speak up at that in the questions. Yeah, yeah. If you're on Zoom, then you have a question. Just pop it in the chat and someone else. So wait, so I'm just going to put a simple plot, right? And this plot always increments just like every take or whatever. So this plot technically has about eight different things Yeah, so just go up. So from the two between and three to four to four to five, five, six, seven, seven, eight, seven, zero. OK, so let's pretend that we have this really simple timer. And it starts at zero. So every time that thing increments, we're going to do modulo eight, right? We're going to take whatever time take it is. We're going to do modulo eight. That's going to tell us the number on this wheel from zero to seven. And then we're going to get a location and we're going to evaluate all the little boxes in that list. Right. That's the basic timer. But each time we pass one, we're only going to do one event. No, no, we're going to aspire anything that's expired. Oh, so even iterate on that list if we need to. Yeah, so the idea here is, depending on if you sort the list or don't sort the list, the paper talks about both techniques. You know, sort of if you sort the list, then you can actually have an invalid time. That's a protein O of one. It's actually O of N, but in practice, it's O of one because generally speaking, your expires are the front of the list or the back of the list, depending on how you implement it. So you don't have to do that many, you know, evaluations, right? You don't need to evaluate the entire length of the list. If it's unordered, you get really fast insertions, but then you have to look at more potential metadata, right? To decide, should I do something like this or not? Does that make sense? Yeah, okay, all right, cool. So let's talk about Erlang now. So Erlang has been around for a super long time. The first version of Erlang was released in 1906. Timer facilities were added like, I think, you know, around release five, something like that. So not out of the gauge, but pretty quickly out of that. About six years ago, the developers, the core team for Erlang decided they were going to completely overhaul the time system in Erlang. So Erlang has this primitive called now, which is a function. That function returns this terrible time couple. It has this concept called megaseconds. Megaseconds are the number of seconds since the Unic epoch times one million. So yeah, so you take that first number, multiply it by a million, and then you add the second number, seconds to it, and then you get an epoch time. And then if you want the millisecond resolution, you can add that on the end of it.  And the other property that now as a function has is that it provides a strictly monotonic increasing counter. Okay, so it's super useful for generating reference IDs, unique identifier. So as stuff comes in off the wire and you want to give it a name or a tag or distinguish it somehow, you call now and it will give you what is guaranteed to be uniquely monotonic advancing timer. Even if the actual wall clock time is not monotonic, you will get a monotonic value from now. Okay, but this is a problem because to generate that monotonic time value, Erlang has to coordinate with all the other nodes in his talk. So if you, in Erlang, it's really easy to network a set of nodes together and they give you all sorts of fancy stuff like failover between run times and you all kind of enter the node communication for free like you get out of the box, it's really neat. But you also have to coordinate a lot of stuff. One of the things you have to coordinate when you call now is, okay, what does the other node have the time, right? And has it already allocated attack, right? Because it has to be unique across the entire cluster. So it requires a lot of communication and coordination to generate that value. You can see in a very busy system when you're calling now a lot, it's going to be a big problem. We're really going to have a bottleneck and not a call. Also, there's this weird couple, right? You've got to deal with that somehow. So it's not great. Like the user interface is really not good. It's expensive coordination. People really want it to get system time and this is the way they were doing it, but it's not cheap, right? It's not just asking it operating system for time value. It's like talk to every single other node, go out, get this value, generate it, give us it back, and then we'll figure out the view of it, okay? So that's terrible. You need to do it better. So after OTP-18, they basically overhauled all the stuff. So they made it more discreet. Like you could pick to do monotonic time. That's really what you want to have. There's also a new system call called system time, which is literally like giving it a system time. There's also another call called OS timestamp, which is the same value, but less interpretation. And then the other thing that early does, which is kind of cool is we talked about NTP is a little bit weird. So when you have NTP across a fleet of servers, you're gonna have like one weird server that's like off in La La Land. It's gonna be like 30 seconds late, a minute late, like two minutes late, whatever. It's just the black sheep of the fleet. All the rest of them are keeping good time or like reasonable time, but this one is like off in La La Land. No one knows what the problem with it is. Maybe it's a bad crystal, maybe it's a bad board, like whatever it is, it doesn't matter. So the question is, when NTP hits that server and updates the clock, and then the clock is suddenly like either 30 seconds faster or 30 seconds slower, how does Erlang account for that, right? So it's been going on its merry way, writing timestamps, using the system clock, probably. How should we deal with the skew, right? Before 18, there was only one way to do that. But after 18, there was like four different algorithms they came up with. And the default one is the one where it sort of gradually either increments or decrements the internal clock so that it gets to be aligned with the external time that's coming from the operating system. But it doesn't happen like in a snap, okay? It takes time, it takes whatever the adjustment period is. Usually it's like four hours. So over a period of four hours, it will slowly increment or decrement the internal clock so that it will match with your system time. Which is pretty cool. There's all kinds of other strategies that has super configurable. It's actually quite, it's like almost too configurable. Sorry, can I, it's slowing the clock or it's going backwards? It's slowing the clock and letting the system time sink. Yeah, sink up gradually, right? It's going backwards. I suppose you could put it like that, but that's not how I think about it. It's basically advancing more slowly. No, that was my question. Yeah, yeah, yeah. Because going backwards causes all types of problems. If it's out of sync the other way, does it slow down? Yes, oh, yeah, yeah, yeah, that's what we're doing. Oh, well, oh, I thought. Oh, I mean, if the system times ahead where it is, it will increase it slowly over the interval, whatever that is, so that it will catch up. Eventually there will be synchronization between the runtime and the OS layer, right? Because in early, the runtime is different. It's discrete from the OS layer, and then they have pretty similar functions in a lot of respects. So that's really how Erlang deals with like wall clock time and kind of an operating system and also a runtime system level. I want to talk a little bit about Erlang's timer facility now. So Erlang has a built-in timer facility for programmers to use in their code. And here's like one of the interfaces that it offers. This function call is called apply after. And if you look at the paper, you'll see that there's a couple of interfaces that are defined in the paper. The thing that I found interesting about Erlang's implementation is that this function call is very similar to the function call that's in the paper. In fact, it's almost identical. The only thing that's really different here is kind of the specifics about how Erlang does function calls. But essentially what it does is it takes a time, and that time is either an absolute time, like if you're doing monotonic time, it will take an absolute monotonic time or you can be relative time. So you could say like 10 seconds from now or 5,000 milliseconds from now execute this function, right? And in this case, it's a module, a function name and a list of arguments. Like those are the, that's what all the types are underneath here.  A t-wrap is a time or reference, a reference in the Erlang runtime is guaranteed to be unique on a specific node. And so that way it's a good distinguisher, right? So every single node will generate its own unique references and then we need to cross the entire cluster.  That's one of the guarantees of the runtime. And it does not require coordination, which is lovely. So anyway, it's this opaque term, essentially that gives you a unique distinguisher. And then reason is a term, a term in Erlang terms is, could be literally anything in RACCUS is an atom. If you don't know what an atom is, it's essentially a tag. It's, you know, if you're familiar with Ruby or whatever, Ruby has this concept tag, right? Where it's like colon and some keyword that's the same thing in Erlang, it's just called an atom. So hopefully that helps people understand the Erlanginess. And then there's another function I wanted to talk about which is send after. So this is apply after, which is after a certain number of time applied as function. This one is send after, which is after a certain amount of time send this message to this destination. Okay, so in Erlang, everything is a process, right? When you do computation, it's a process. And so you need a way to send messages to two different processes. And maybe you need to do that on a schedule, right? We've already talked about all the reason you might want to do that. And since Erlang is really, really suited for building distributed systems, it is a very common practice to send a message to another process after a certain amount of time. And so this is the way to do that, which is really interesting here. Now, there's a little message that you'll see down here that says send after three. It says see also timer module section in the efficiency guide. You're like, okay, what is the Erlang timer efficiency guide say about timers? Well, this is what it says. It says that creating timers using Erlang send after and Erlang start timer is more efficient than using the timers in the interfaces I just talked to you about. Why is that? It's because the timer module, which I just showed you guys, has this overhead as all this bookkeeping that needs to do when you create timers through it. So if you create a lot of timers, it will slow down your processing because it has to do all this internal bookkeeping. You just talked about why that's a bad idea. I don't know why the implementation for Erlang has that, but it has these primitives, okay, Erlang send after and Erlang start timer that are written in C, or actually they're written in C++. And so they are super fast. And whereas the Erlang code, the timer code is not written in C++, it's written in interpret language, actually compile language on top of C++ runtime. So it's not as efficient, right? Plus it has to do all this overhead of bookkeeping, blah, blah, blah. So basically the net net here is that when you're sending messages or processing time in Erlang, these are the primitives that you should prefer. If you do a small number of timers, using timer is not bad, but this is sort of good Erlang style, use the Erlang module instead of the Timer module. The way that the Timer module exists and all that. Historical reasons, number one, but number two, there's other functions in the Timer module that are super useful. A couple of them are for tracking execution time. So there's a function in there called TC, which takes a time and will calculate how long it takes to execute a function. And it will return the milliseconds, how long it took to execute, and also the result from the execution, right? So I ran this function, it took this long, and here's the result. That's what it gives you back. That is super useful, does not use the Timer process, so it has no bookkeeping, and so there's like no penalty for doing that. So that's a reason, another reason is for doing math with time. So like, for example, you wanna convert an hour into milliseconds, you can do that with this, if you wanna have like the number of milliseconds in five minutes, which is another thing that happens all the time, right, after five minutes, send this message or give up, like we're gonna fail, right? Give up the failure, all that sort of stuff, and you don't wanna actually like do the math, figure out how long five minutes in milliseconds is, you can say, you know, timer minutes five, and then it will return the number of milliseconds for you. So there's some good reasons to have it around, but for using it for actual timers, not a good idea, which is very ironic, but it's something about Erlang that, you know, people should know. All right, so let's go back to my little diagram again. I know you all have seen this before, so what I'm gonna show you now is some of the source code for doing Erlang Timer Wheels, like this is the actual C++ implementation that they had chosen, and I just thought it would be interesting to talk about. So I just wanna make sure, like everyone has this in their head as we kind of go through this code. So Erlang has this idea that has two Timer Wheels. One of the basic questions you might have is, well, how big is Erlang's Timer Wheel? Well, that depends on how much memory we decide to let Erlang have, but in the general case, it gets 14 bits. So it has this idea of a soon Timer Wheel and a later Timer Wheel, and there's also an immediate. So one of the things you can do is you can use a Timer, but you can say after zero, which means do this right now, right? So it's kind of this weird thing, but that also actually goes into the Timer Wheel, it just gets executed immediately by the scheduler, right? So Erlang has done a scheduler and it will dispatch that job to a processor immediately, right? So it'll get computed right away. But the soon wheel and the later wheel both get the same values. If you're doing debug, it's 10, right? Cause it's small, it's easy to track. If it's like a small memory, you get 12. And then the default one is 14. You can see the soon wheel, the 14 bits is 16 seconds, right? From now until 16 seconds ahead. And then the later wheel is 36 hours from now. 37 hours, whatever it is, 37 hours, 16 minutes. So that's something to keep in mind as we go through the next piece of code here. And then this is the actual structure for the Erlang Timer Wheel. I know it's a little bit of an eye chart, but the thing that I thought was really interesting that you might wanna see is that you can see at the top, there's the out one slot, which I mentioned. Then there's the scene wheel and then there's the later wheel. So they're all kind of smushed together actually in Erlang's implementation, which is pretty fascinating. So I think that's really cool. And then one of the other things that I really wanted to call out here is that there's like a lot of sort of interesting bookkeeping down here at the bottom, where it talks about like the sort of next time out time, like are there empty buckets between now and when the next time I'm gonna look at this thing is, like can I just skip over them? Do I even need to look at them? And so it can keep track of stuff like that. It just like, I don't even need to evaluate my time wheel until I get to that time, right? So I can just kind of ignore it. And then there's some monotonic things here, right? So internally in the Erlang runtime, it keeps monotonic time. So the monotonic time comes from where? Where does it come from? Does anyone have a guess of all clock? Yeah, it comes from a wall clock, but what wall clock? It comes from the computer's wall clock, right? It comes from the computer's wall clock. So in the Linux kernel specifically, I don't know about other systems, but in the Linux kernel specifically, there's a system call that's called get monotonic time raw, okay? And I think that it's hilarious. There's like all these interfaces to get monotonic time in the Linux kernel because many of them have had bugs in them. In fact, there's some serious WTS that I'm gonna show you like in a couple of slides where monotonic time has actually gone backwards because of bugs in the kernel. So when you're writing a system like Erlang or runtime like Erlang or Java or something else, you kind of have to deal with all these weird WTS that you get like because of the implementation of the operating system, right? They're not like bug in your code, they're bug in someone else's code. And I know we've all worked around that in our lives as developers. So I just think it's interesting and kind of funny that it's even down deep in the guts of very complex runtime things to like all this code to basically deal with like bizarreness in the operating system. All right, good. So I wanna see if I'm understanding correctly. So the wheel is advancing according to the amount of memory that you've allocated. Well, so the wheel size itself, so let's go back to this. The wheel size is based on those bits, right?  Okay, how many bits? Yeah, how many little blocks? Correct. So yeah, so as the time comes in, it's gonna be 14 bits, like whatever number that is, it's a power of two. So it's two to the 14, like that's some pretty big number that I don't know off the top of my head. We're gonna hash it, we're gonna get a bucket location and then we're gonna see if there's something there for us to deal with. And then in that data structure, I just showed you guys, we're gonna keep track of which buckets are full. Like if there's an empty one, we're just gonna skip it. Like we're not even gonna look at it. Well, this next time we evaluate this thing, we'll see is this thing having whatever, right?  So there's all kinds of like little shortcuts and sort of implementation hacks that they've added here to really improve efficiency and how they're computing these things. All right, so I promised you one of the WTS. Here's one, this is a kernel problem. So this came straight from the system call that calls get monotonic time, depending on what the Linux kernel is, you can actually be negative, which is obviously not that great. So there's one WTF that kind of always funny. And then here's another one, which I like. So what this does is it returns the maximum like drift of monotonic time. So even monotonic time itself in the operating system can drift, right? So it itself is not necessarily strictly monotonic, right? It can either repeat the values or it can advance like more than one, right? So, which is still monotone, but like it's like not intuitive, right? It's not intuitive. That's how it actually behave. So like even though you're asking for monotonic time, you may not actually get strictly monotonic time, which is fascinating. All right, and then like that's all I have for you tonight.  I love this paper. It's like one of my favorite papers. I think the implementation in the Erlang runtime system is really cool. I think Erlang is a really cool runtime.  So anyway, thank you for your attention. I appreciate it. And I'm happy to answer your questions. The questions, there was a comment from Proctor. Backwards compatibility is something that the Erlang slash being developers keep in mind too. Maybe Proctor can unmute himself and ask the question. Well, it was for my comments, the only question. But if you want to mute Proctor kind of a, let's do it. Someone asked why Timer was still around. And I was just, that comment was that the being developers don't like removing things from things and breaking older releases. So they try and keep it. And I'm sure Jade can speak to that more. They try and keep it as parody. If you're running on 18 or you're running on 17, they try and keep as much working on 26 as possible. So it's not like, hey, this thing's broken. Don't use it anymore. We're going to leave that in there for old code to run and still keep running. So in general, that is super true. It is not necessarily strictly true though, because some of the things they took away are super annoying, but better. I mean, they're bad, they're honestly better, but like dealing that transition point was very annoying as a programmer. But yes, in general, Erlang developers, the core team, whatever, they're super sensitive to removing functionality that's present in the runtime that has been there for a long time, even if it's bad, objectively bad, because they have clients and users. One of the ways that Erlang makes money on Erlang is they develop custom distributions of it for clients. And then those clients build code on top of it and they have certain expectations that this code is going to live in Erlang literally forever, and that expectation is generally met every single time. I mean, there's stuff in there that I have no idea what it's for, but it's been in there.  So it has that in it. Like who uses that anymore? I don't know, not me, but like, I'm sure someone out there in the world is. So, but yeah, thanks. That's a good point. The questions on in person. So I kind of think of how to ask this question. So you talked about how much you like this implementation, but I'm still in clear as to why. And I guess I'm going to say this is someone who knows that time is perplexing and has fought with it, but does it necessarily, I'm not necessarily able to recognize like a good versus a bad implementation unless there's a comment saying. Okay, well, let's watch out this back. Let's think about a time scheduler that people find somewhat unreliable, like the Windows event system, just to pick one in random example. I think, you know, it's gotten a lot better, but you know, there was a time when it was very unreliable in terms of executing things that you wanted to be done. So I feel like that's an example of a timer that is not reliable and you can't have a lot of confidence in. One of the reasons I like the Erlang system is that is very granular. You can do up to a millisecond time and it's almost dead on after it every single time. Like Erlang was developed to be sort of this soft real time system. And so one of the things that they've worked really hard to do is to make sure that the timing system inside of it is very responsive. And as I mentioned before, like when you build distributed systems, especially things that process in near real time, then you want your time system to be very accurate and reliable and eventful. And Erlang's system like very bold for a long time. So like one of the benefits of using an older runtime system like Java, like Erlang, is that it's been through all these battles, right? Like they've wrung all the bugs out of it. And I find that to be very attractive in the programming environment. So there's questions. There's no questions here, bro. I mean- I usually have some. I mean, the only thing I'm just gonna say is just a comment.  And that's, you know- Well, as I said, it is one of the armpits of computing. So, yeah. I mean, anytime in general now, just all time computing. Oh, okay. Well, I think, you know, we should just give up this concept of local names. We should just all be on set time and we just do not spend. Just get used to it and get over it. I mean, it might make sense to do that, especially if you have space travel. You don't want to have care about like miles of time or the juvenile time or whatever. Just have a specific time depending on that. Yeah, that's true. Okay, so this is a random aside. There is an academic conference that's called Planet Wide Distributed Systems. And that is one of the things they talk about is like, how do you deal with clock skew when you have like light seconds or like minutes of like transmission distance between you and a spacecraft or you and a robot or something like that? Right, how do you replicate state across that kind of distance or barrier? And it's pretty fascinating, like, the ways that they try to address those problems. So if you really want to get your nerd on, are you the paper in the house, like the Byzantine laser or something? Yeah, well, I mean, that's like one of the things that they want to do is start using lasers for transmission instead of radio waves. Laser, lasers are more fast, but they are consistently approaching the speed of light where the radio signals sometimes go down. Those are dispersing, that's why it's a more coherent solution. Animal laser, but yes. The most enlightening thing about this is that it's not my fault. Another excuse to pull out of your head shows that I'm out of order. That's right. Tell your boss. It's not my fault. Time is garbage and I don't know how this works. So obviously, Berlin, this is a primary concern for Berlin. Yeah, fundamental. How difficult is it to implement this in other languages? Well, so what are the requirements? Yeah, so basically the requirements are, you need a hash table, right? Like it could be super simple. I mean, it's literally, it seems like, yeah, you need a hash table with a certain amount of buckets in them. And then you order, you have a linked list that hangs off of it or a tree depending on implementation. That's an implementation detail, like how many timer jobs are you gonna have? Generally it's cheaper to just have a list and can even be unordered if there's not a lot of timers. And you can decide what a lot means, right? Like you can make that dynamic even. But yeah, I mean, right? So it's very, very straightforward algorithm. You have this wheel has a certain number of slots. You have the timers that hang off of each one of those buckets and you can even have them higher up, right? So let's say that you have a wheel for, in the paper they talk about using a bucket for days, a bucket for hours, a bucket for seconds. And then every time you go around the wheel, you advance the top bucket, right? By one. So for example, if you had a wheel that had 60 slots for seconds and 60 slots for a minute and 24 slots for an hour and then whatever 365 slots for a year, then every time you do the second wheel, you advance the minute wheel by one, right? And so on and so on and so on. So that's another way you can kind of like do even more like storage efficiently and higher archically at low costs. Like low lookup costs, low implementation costs. It sounds like a new case for lenses. Like, I mean, are we going to like severe into astroland now? I'm trying to think about it. No, that's a good stuff, that's a good stuff. So I think I have a question. Yeah, I haven't read the paper. And do you know what this one is about? What are those divisions in the donor in the middle? They're basically just little slots. So they're just distinguished locations. And what we're doing is we're taking the current time and we're basically slicing it up into these different regions, right? So you think about like a timer. So we're going to have something that expires at time 10. We're going to figure out where to put that job on this wheel by taking the time when it expires, caching it in this wheel and then sticking it in the right bucket, right? OK, well, in sense, how would it have been just to put it on the wheel? It depends on the implementation, but the simplest one is that it just advances like a clock. So every single clock tick, you just slide it around to a new position. And then you look at the little green boxes and you say, OK, I'm in bucket three. Is there anything in bucket three that expires at time now? And if there is, you execute that. Whatever that is, like you send a message, you execute a function, whatever it might be, right? Right. Is that the time when you're on the workbook or course it's from the workbook or the security workbook? I'm sorry, I don't understand. Is there a relation to the workbook or security workbook to this? Yeah, it's generally keyed off of the system time, generally, but in Erlang it has its own the Erlang runtime keeps its own clock, separate from the system clock. It has it powers the wheel using its own internal timer. Oh, OK. Yeah, that's the big advantage of Erlang here, right? Is that so? So does it get the ticks from the system? Yeah, I mean, the underlying ticks come from usually a hardware source, right? Like there's literally a crystal on a motherboard, right? That's sending hardware in the rocks. It said, I've done 1,000 Hertz. Here's your tick, right? So that does come from the operating system, but Erlang itself does all the bookkeeping to keep that like strictly on time.  What pixel operating system could you allow NTP in there? Well, so that's something that Erlang can't control, right? There's no way to predict how that interaction is going to happen. But hopefully the Erlang runtime will get scheduled adequately and it will be able to do its processing at the end. OK. But yeah, no guarantees, right? There's no guarantees for any of this. Like there's no silver bullet. I mean, yeah, but there's failure everywhere. It's like failure all the way down, you know, especially if it's turtles on a very turtle all the way down. I mean, that's like my favorite thing to say, but it's literally put the rough side down on their shell. They're all very soft turtles. Yeah, yeah, all the way down. Yeah, said turtles all the way down. OK, I'm just going to do it quick. Well, you can. It's super short. It's like six pages. I feel like it's my fault for not reminding people to read the paper. Well, that's right. It's all because of the clock. Yeah. What was the name of that space conference? It's called it's called Planetary Scale Distributed System. Oh, thank you. We have just off topic here also from Proctor. Wants to know if you're still doing your barbecue field trips. And if so, when is your next Dallas Fort Worth visit? I mean, Proctor, I hate to tell you this, but I'm basically pescetarian these days. I am almost vegan, actually. So I'm vegan, except for brisket pretty much. I don't know if it's any more brisketarian. OK, sorry. That's not really so. I mean, look, I live in Texas. I've got a line. Also, brisket is just freaking amazing. So so we're going to talk more about that in a minute. But I'm going to suggest that we're going to stop the recording really soon. So if there are any other things that you want to get on to the recording questions or comments on to the recording, do it now. Otherwise, once we're going to say, thank you very much. Right. Continue the Q&A and discussion. Yes, and they'll be offline. They'll be offline shitposting once you're going to miss. Yeah, exactly. Yeah. Do I stop recording now? Yeah, start recording. Special. All right. So. It'll say there's a woman. Oh, it's not going to say. Yeah, so Mrs.


I have some very exciting news for you guys. For the first time, our group trip, the first group trip with trekking pals where you can join us and travel with us. How exciting! We partnered with Trova Trip, a travel agency that helped us put together an incredible itinerary filled with adventure. Join us in the beautiful island of Bali, Indonesia. From May 7th to May 14th of 2023, we're going to Bali. You're invited to join us and we have an incredible itinerary. Some of the highlights of the things that we will be doing there includes hiking, to Mount Batur for a sunrise hike, swimming with men race, paddle boarding, exploring the temples in Bali, indulging in incredible Balinese cuisine. Many many more activities. These are just some of them. I will leave the link in the first comment with all the details, everything that you need to know about what's included, what's not included, the detailed itinerary day by day, where we will be staying and much more. If you have any other questions, leave them in the comments and I'm extremely excited to be able to meet some of you in real life. It's going to be an adventure of a lifetime. Book your spots soon because I want you to also know that the next five spots are at a discounted price. After the next five spots, the prices are going to change. So if you want a request to spot, all you will have to do is to go to the website, click request to spot. And one of the questions that I received over on Instagram is about how much you have to pay to request a spot. Only 25% is required as a down payment to book a spot and then the rest of the price is going to be settled next year before the trip. Thank you so much guys for watching. If you have any other questions, please leave them in the comments and let's go to Bali together.


Hello, I'm Brooke Davidson and I'm Jordan Lai The mask features a clear front to show facial expressions We want to represent a new generation that are inclusive and also adapted to the ever-changing world that we live in today


Every part of our award-winning next-generation trading platform is designed to help you take a better position, giving you the ultimate trading experience. CMC models take a better position.


The notion of death is a theme that runs throughout Hamlet. Indeed even the opening scene of the play starts with a ghost, okay? And of course we realize that this ghost that's been cited belongs to the dead spirit of Hamlet's own father, okay? So of course it's the idea of death and him dying an untimely death So he seems to be doomed to walk the earth until he is avenged by his son So he seems to be almost living in the state of Purgatory This introduces the theme of death from a very early stage within the play and of course we then realize The reason why the spirit is roaming around Elsinor and roaming around Denmark is because an unnatural killing Which is the killing by his brother Claudius of the king took place and this wrong has to be righted Okay, so balance needs to be restored. So death is used as a way to illustrate firstly just how temporary life is Okay, and of course even Hamlet reflects on this however, the notion of death is also used as a way to really reflect on just this fragile mortality that all of the characters have and Finally the notion of death is used almost as this great equalizer, okay? So we can see that death ultimately equalizes, you know, this imbalance that has been established because the wrongful king is in place But also the final death of the entire royal family then brings in the strongest person Which is for to bra who then decides we will we can guess at the end of the play. He's going to take over Okay, so this interesting preoccupation with death and Madness at some points also is a precursor to death. We're gonna see this with one of the grotations I've selected for a failure. Okay, so her madness kind of foreshadows the death that she eventually engages in of course She commits suicide and another element of death is this idea of as to whether we as humans being Powerless as to all of these things that happen around us Can we take control at least of our own destiny through the notion of suicide and suicide is contemplated by both Hamlet Right killing himself and Ophelia, but it's only Ophelia who goes through and successfully kills herself Hamlet does not. Okay, so this notion of death and this idea and this Fascination with death obviously runs throughout the play and we can see at some points the pressure becomes too much for Hamlet and he wonders whether death and Entering this internal country of the afterlife might be easier than this Torture of having to avenge his father's memory now This is tied to the first quotation because as you can see behind me I have selected the most relevant quotations you can use if you're writing about the theme of death in Hamlet And so as I mentioned the first quotation is tied to Hamlet directly and arguably this is probably Shakespeare's most famous quotation Okay, he states so this is Hamlet. He states to be or not to be that is the question Okay, so here Hamlet is contemplating whether he should carry on living this difficult existence living this difficult life Also carrying out this Overwhelming duty that's been put on his shoulders by the ghost of his father to kill the king so kill King Claudius or If this is all too much and if you should Consider suicide instead which will free him from all the difficulties of life. So he wonders should I be okay? So should I carry on living should I carry on existing or should I not be should I just commit suicide? Okay, now here, of course You want to focus on the repetition of the words to be and this illustrates how death Fascinates Hamlet. He wonders whether death in some to some degree is actually freeing for somebody, okay? However, he is too terrified at the prospect of what the afterlife represents and hence he decides to carry on living, okay? The second quotation closely tied to this and this is still part of his dramatic monologue when he's contemplating death And he's considering whether dying is easier than the difficulty of living is when he considers to die to sleep ellipsis The undiscovered country from who's born no traveler returns, okay? So he's wondering if he were to kill himself and to go into the afterlife. This is another place Nobody can ever tell him whether it will be a good decision or not because nobody has ever come back from the afterlife Okay, it's an undiscovered country. It's only discoverable once you die, but there's no way to reverse that process Okay, so again here we can see that Hamlet seems really preoccupied with the idea of death This idea that actually might death be freeing. We're not entirely sure Of course, if you look at it from the ghost perspective, it might not be that freeing because it's stuck in purgatory Now the one level as you can do here is firstly the verbs die and sleep, okay? So here there's this notion that death can actually give eternal rest this eternal sleep So Hamlet is wondering is death actually easier than this difficulty of life Also this notion of the afterlife being an undiscovered country. This is a metaphor, okay? So here again, there's this notion of maybe the excitement that the afterlife might Represent the difference. However, Hamlet decides to carry on living because he is too terrified of the prospect of what That are known might be in the afterlife, okay? The next petition could tie into the theme of death is when Gertrude so this is early on when Hamlet He's dressed in all black. He's so mourning. He's so sad and Gertrude tells him off Cast off the night. It looks stop being so sad. Stop mourning Death is a part of life again.  Okay, so there's this acceptance She doesn't have a similar preoccupation with death as Hamlet however, she seems to have this almost passive stoic acceptance of death being a natural and Necessary process of life and this is illustrated through the juxtaposition of the words lives and die, okay? Now this is in contrast to Ophelia who foreshadows her own death Okay, so this is when she goes mad and she's singing and it's unclear who she's referring to when she sings and states He is dead and gone lady dead and gone. This is when she is singing to Queen Gertrude So one way you can interpret this is she's talking about the death of King Hamlet. Okay, so he is already dead and gone You could also interpret this as her talking about her own father who has been killed by this stage or This could foreshadow her thinking about Her eventual death when she herself too will also be dead and gone Okay, so we can see here that she is pre occupied in her madness with death And whether death would maybe be more freeing and liberating for Ophelia remember that she lived a very restricted life She was restricted in terms of who she could love she was restricted in terms of what she could do as a woman And hence she's wondering will death actually be more freeing for me and she does eventually commit suicide, okay? Now as I mentioned this quotation what you want to do in terms of word love analysis is focus on the repetition of the words dead and gone Okay, or you could say that this foreshadows the eventual suicide and death of Ophelia herself The next quotation is when Claudius he is in the church He is so wracked with guilt over killing his own brother and he's contemplating What can be done whether the death of his own brother at by his hands? Okay? Because he's on that killed his brother or the God can ever forgive him Okay, so he's trying to pray his trying is trying and he's wondering. Oh brothers murder ellipses Oh, what form of prayer can ellipses forgive my foul murder? Now this in terms of structures a rhetorical question. He's wondering can God ever forgive this murder that I did, okay? Can can you know is there any way of this death that of course can that can that be reconciled? But also the other word love analysis you want to focus on is the litteration of forgive and foul Okay, this idea of the death being unnatural because he killed a king Okay, so he killed King Hamlet and remember at the time it was seen as unnatural killing a king or a queen because of God's Representative on earth. So Claudius is wondering. Oh my gosh, you know King Hamlet has been killed. Can God forgive me? Okay, so he's contemplating the death of his own brother at his own hands and he's wondering is this a forgivable sin The next quotation relating to the theme of death is now this is to do with the ghost Okay, so when the ghost reveals himself to Hamlet, he states I am the father spirit doomed for a certain term to walk the night. Okay, this is what we call declarative sentence Remember declarative sentences a sentence that states a fact feeling a mood the fact that's being stated here is basically Hamlet's father spirit is in purgatory Trapped until the person who killed him is killed and then he's going to go off into heaven Again here we can see that this notion of death is being explored through his father spirit And this is illustrated especially through the adjective doomed this notion that his father is in purgatory He's trapped until the correct King is restored and this entails this, you know includes King Claudius being killed and of course as I mentioned This is a declarative sentence and you also want to focus on the verb walk This notion that he has to roam the earth until the correct King is reinstated in Elson or okay So again head this ties into the theme of death because we can see that the ghost He is kind of coming from the afterlife. He's God's messenger and he's showing that the wrong person is in power Okay Now in terms of key quotations or is remember that these are really really good quotations You can consider when you're writing about the theme of death and I would suggest of course Considering you know including the word love analysis as I've mentioned here. So thanks so much for listening


The makers of Wrigley's Stearment Chewing Gum invite you to enjoy life, life with Luigi, a comedy show created by Si Howard and starring that celebrated actor Mr. J. Carol Natch with Alan Reed as a swallowing. Friends of the makers of Wrigley's Stearment Chewing Gum are glad to bring you life with Luigi because they feel it's a friendly, good-natured show that offers you relaxation and enjoyment.   Wrigley's Stearment Gum tastes good, it's refreshing, and the good easy chewing gives you comfort and satisfaction. Now Wrigley's Stearment Chewing Gum brings you Luigi as he writes another letter describing his adventures in America with Mamabasco in Italy. Mamabasco, Mamabasco, Mamabasco, Mamabasco. Mamabasco, Mamabasco, Mamabasco. It's the one thing about America, so you know that's the money to buy what you want so you don't have to to worry. That's because you got a simple answer called the credit. Which means that you buy it today and you worry to buy. Sure in America you buy anything you want for credit but with one, the basic condition you got to know how to sign an M. I'll never forget that when I was in one of the countries, I bought lots of things for credit. Radio, toaster, gas range, lots of more things. Then there came a timer for first appointment, and I found out that a big American institution, the loaner company. The loaner company was very nice, they gave me money to make a payment on a radio toaster and gas range. Then next month the loaner company came to me for the money. I was in a big trouble, I had to find somebody. And that's when I found out about America's biggest institution, I was called the Fat Doros. Can I show you how much I've become a good American, some big wholesale house is a promise to give me antiques for credit, if I'm going to get to my name, and it's been on the bright street to book. The name of all the businesses in the United States, and they'll give you marks on how good your business is. Is it like a school report card with the money? But it wouldn't look to be wonderful if I was in this event on the bright street with all the other big men. Anyway, I'm actually like a big man, look up at another bright street in the corner book, I'm going to call them up, and next month I was very nervous, waiting for the men to come over and let them get to me. Luigi, my friend. Hello, Louisiana, hello. Hello, Pasquale. What's the matter for you? What's the no way to say hello to Pasquale, little banana nose? So, I'm sorry Pasquale, I'm really nervous today. I'm waiting for somebody to come. A customer, little cabbage person? No, no Pasquale, here I'm here of Dunn and the bright street. No, but I heard a fix to the broad street. Is that what you mean? No, Pasquale, Dunn and the bright street, it's not the street. It's a credit to the company. They sent a man over to investigate me, put my name in a book, and once I'm in the book, I'm going to have a craze written and the whole city is going to lend me an fix.  Sure, it's a bookie. That's going to help your business, eh? Hey, Luigi, take my advice, so when this accredited fella comes, you send him away quick. No, no, Pasquale. Yes, you listen to me. Look, you smarty pants, I've been 20, 60 years in the spaghetti business in America, and I did a pretty good without this Sydney and the green street. No, Pasquale, that's a Dunn and the bright street. What's the difference? Look, Luigi, once you start up with a bright street, are you done? I only advise you if you want to go to forget the credit of stuff.  K-A-S-H, you catch. I'm not got enough for cash. All righty, so come with me. And are you going to lend me the money? No, but I've sent you to a third party, and this third party is just a bustin' with a cash. Yeah, I know faster, too. Luigi, don't start up with that, because if you're going to... Hello? I'm Mr. Hutchett from Dunn and Bradstreet. Are you Luigi Busco? No, this is a Mr. Pasquale. Pleased to meet you.  Sure, sure, Mr. Hutchett. Look, Mr. Hutchett, if you want to find out anything at all, you ask me, because I brought this little pop squeaker here for Italy. I sent him off for the business. I see. And that's how much stock did he begin with, Mr. Pasquale? Fifty-thousand. You lent him fifty dollars to start a new business? Certainly. Money was a no-object. Yeah, but again, in my business, it was, he got the very good of Mr. Hutchett, and for three years, I'd buy in a cellar, buy in a cellar, and then buy in a cellar. And how much would you say your business is worth today? Forty dollars. He buys the more than he sells. You tell her, Pasquale, that's not the truth. Mr. Hutchett, I'm a figure, I'm a guy, over a thousand dollars, and I'm fixin' the right to miss the store. Right, that sounds reasonable. Don't believe him, Mr. Hopscotch. Yeah, look at this oldest spin and wheel. He says it's a worth of fifty dollars. I say it's a worth of fifty cents of a firewood. Look at this, the chair, market ten dollars. Not worth the ninety-eight cents. No, that's not the truth. It's a genuine antithesis. Oh, why do you talk? The oldest thing in this store is a meme. Excuse me, Mr. Hutchett, don't listen at all. Let's assure that Mr. Pasquale, done in Bradstreet's decision on your rating, will be determined solely on the basis of solid business facts. Now, a few more questions. Number one, what is the size of your bank account? Get a statement for number two. Please, please, Mr. Pasquale, I'ma got a fifty-eight dollars in the bank of Mr. Hutchett. Do you have any outstanding debts, Mr. Pasquale? No, I'ma don't owe nobody nothing. That's a lie, that's a lie. He owes a cent to the party something. Mr. Pasquale, what debt is Mr. Pasquale referring to? A two hundred and fifty pound debt. Two hundred and fifty pounds? Is that English pounds, Mr. Pasquale?  Once I'm, I'ma shudder marry her.  I think I'm starting to get a clear picture, Mr. Pasquale. Thank you for your time. Yeah, but, but, but, but the way you, why you're going so quickly, Mr. Hutchett, you, you're going to give me the bad mark in the book? Oh, I'm sorry, Mr. Pasquale, it's too early to tell what your rating will be. will be i'll have to do a little more outside research before i can come to any definite conclusions about your financial condition oh but but do you think maybe it's going to be a good demarcation i don't know mr busker but maybe you're going to give me a little hint uh huh i'm sorry wait just stop for begging for mercy you only chance for now is the governor and then this hotchkiss walked out just like that i'll leave you have to write the heart of it and and i'm worried because if he's been given a bad direction i'm not going to get a credit in the business like like gorilla make in the business is it yeah i i sympathize with you levity it's not the right levity today you can't do business without credit we spent half our lives borrowing money and the other half are not paying it back you're smiling levity quiet howl here comes the fincher good evening claus we're beating the boys all right i'll call the roll should i call here how is here mr olsson mr show wild hofers couldn't drag me away by mr shows you like school that much no i just don't like to be dragged by wild hofers hi everybody little bg get on with our work now claus i asked you to study the chapter in your civics books on the supreme court mr hofers you may tell us how many judges there are in the supreme court big pleasure it so happens i have a wonderful system for the memory deck a cat has nine lives and there are nine judges in our supreme court that's very good and who is cheap judge mr cats oh thank you mr harwick and mr short you may name the nine judges of the supreme court stuff is easy as five uh one uh phoenix uh right now i would settle for mr cat for mr short keep quiet please uh and mr olsson tell him uh to complete the list there are fad vinsen pugo black uh Stanley reed william or doggles uh robert hate jackson her and hate spurton uh mix up in so far good mr basco the other two names are the two names are here done in the brad street like i always say you've got to give those charges credit that was a lot of allows it not mr short so basco where did you get that done in brad street for us well i'm a center for them and a manager came but but i'm afraid that he's going to give me better credit mark in the book and i'm not going to get credit from the host to the house the last two judges mr basco did the done in brad street investigator really come to see you oh sure but but it would have passed while they're mixing him up and it means though i'm i'm a don't take you's you're gonna make me good in the current the book don't be too sure of anything you're how you you shouldn't cost you a bit yes until you come to them yeah you'll save a lot of torn charges oh yeah yeah number eight is pharmacy car i should say she's a friend you don't know how important this is for my business if i'm looking to get a credit with a whole set of house then and i'm i'm never going to grow in the business no who could be number nine if you're so upset about what reading done in brad street will give you why don't you phone them maybe they'll tell you beforehand oh yeah the ninth judge is sure amendment them misbehaving please start him and the ribbons of the world and don't make him up to the commissioners believe you miss boldingale you are very good idea there's nothing like action call up yes why don't you better still Luigi go down to the company and find out children who go down to to then in a brad street certainly you grab the bull by the horse look out see the big shot tell him i'm Luigi basco you sent a man to investigate me i am here tell me what you decided about my credit then what are you going to sell shoes well now he's got three alternatives one he could hem and haul two you could stall you politely and a three he could take you out oh nothing of the kindness about so you go there i'm sure you'll do well can you write them a spotting i'm gonna get the net and to lose it i'm gonna go down to then in the brad street tomorrow morning how are you going to end up losing Luigi Luigi i want you to know if they do give you a high credit rate he has to show us let me be the first one to borrow five dollars from me before we return to life with luigi we'd like to mention that wriggly spearman's government is a delicious treat you can chew and enjoy while you're doing other things it's pleasant to chew on a smooth piece of wriggly spearman while you're doing housework for instance if you work in an office or factory the good tasty chewing seems to make your job go smoother and easier a refreshing stick of wriggly spearman is while the chew while you're driving your car riding on the bus or doing your shopping yes folks with a package of wriggly spearman gum handy you're always set for taste enjoyment plus chewing enjoyment so wherever you are and wherever you go be sure to have wriggly spearman chewing gum with you get a few packages tonight or tomorrow morning now let's turn to page two of luigi basco's letter to his mother in italy well mommy i'm gonna get up this morning after bed dream i'm a dreamed i'm a went to done in brad street mr. dana says luigi we got away you see if you got enough for credit then mr. brad street is a push me on the one-sided scale roses jump on the other side and i'm a flute through the roof so my dream is enough stopping me from a going downtown after breakfast i'm gonna took all of my receipts and my checks and my little account to book into my bank of book and i start to walk into the door when a suddenly a bunch of hot air is a comrades you're about to roll sir no no no please please but i said i'm i'm gonna be the hurry once and for all i'm a bunch of done in brad street what's your hurry because i'm a going to done in brad street i'm i'm gonna find out the what the credit they give me please stop stop hauling me back i'm gonna go calm down relax how do you realize what do you want to do now might mean the end of luigi basco in america the end why why think about it yourself you go busting into their office done is a talk on the brad street about should they let a million bucks at the general motors yadda fiyadda fiyadda you start yapping about your antique shop this this this phone call to washington he'd be big the marines the next thing you know luigi basco's on a cattle boat there for you wrong i'm wrong luigi i might not be so smart with the books but i know america the business like i know the palm of my hand the biggest thing i could teach you is this you've got less than two years to wait before the crown you american citizen right i said out of the first one all right but those are two years you've got to lay low huh and you want a little backyard don't pick fights with the dumps in the brad streets is going to do nothing till truman stab some of your racket this greenhorn allowed to vote to listen to me luigi however wait wait wait hello hello is a basco antique shop that's a basco speaking mr basco this is mr brown of colonial antiques your shipment is ready have you received your credit rating yet president no i don't know i'm sorry but not yet but that's too bad mr basco if you don't get it by tomorrow we'll have to cancel your order goodbye well goodbye my mommy that's why they're gonna stop me i'm gonna go to the denman of brad street to company out for stop for stop will you please uh all right i'm gonna tell you something i was a saving for last i didn't want to tell you this but i will i found out that this brad street is the big national of business national means washington which means the minute you walk in their office fbi such as you pocket somebody takes your picture and i pity you if they catch you walking around without your fingerprints no that's impossible you you make everything up i'm not going to downtown all right go go let them find out how broke you are they're going to give you a wpa rating workahouse for poor aliens 300 what's that on the street i want to pay the burden the signer says you've done in the brad streets establish that you look 41 mommy at the means of today they're both 110 years old well i would you take up your courage you walk in and don't get scared you've got to get that right tonight excuse me missy yes i'm a luigi basco i'm a comer for my market you want your credit rating is that it that's right i see me i have your name again please luigi basco be asked to see how everything is a little except for the big that's a big yes i see are you a subscriber to our service subscriber no i'm a ticket dealer mr basco how long has your business been listed with us since i was five yesterday that's the one who managed to come and ask me a question i see a new subscriber well i don't think your rating will be listed for another couple of months you see our book is corrected and published every 60 days please missy younger lady maybe you'll take a one little peek anywhere just to to make sure it would be a waste of time mr basco well maybe you'll have it made it please you'll let me talk to mr danum brad street and here's a going to tell him in my market mr basco your business will not be listed for about 60 days all right then i'm gonna wait to hear look maybe you'll let me talk to the boss do you want to see mr hastings our general manager who general manager all right must be very big man i please a manager generally mr basco it's entirely beyond my power to help you but a mr hastings all i'm at i checked mr basco and at the present time danum brad street has no report about your business but a mr high school she's invested in me yesterday and so far we've had no report from it maybe he's got a lesson to treat the car i don't know maybe mr basco you've taken up a half hour of my time i'm sorry maybe you're sending somebody else i would take up with that time there would be no point i'm in charge of this office oh you were the boss of the business from a danum brad street mr dun and mr brad street are both dead but then then who's a pay you your wage mr basco i'm trying to be patient with you ladies i'm i'm sorry to bother you so much but to me is but it's something that would would be the worst day of my life if you put to me in a book with this bad credit right and because then i'm i'm not gonna stay in business tell the truth who want to tell you you got in my credit mark in a book now but you shame me to tell me no and believe me not even a vice president of the firm could tell you more than i had good then i'm gonna see him see who the vice president he's a busy man mr basco very busy and right now i know he's not free oh you're making a joke of mr hastings in america everybody's a free please mr vice president you look in a book for me and say huh mr basco it's very rare indeed that i get to talk directly with our clients we shall either reporting manager or the office manager or the district manager handles these problems so please mr vice president you better need us to one of them i promise you i'm gonna do all of my business with you mr basco how long have you been in our country three years 18 days and if you tell me what time is now i'm gonna give you hours in a minute how do you like america mr basco mommy if i'm in a long time ago what i'm in a now i would have gotten myself a born in america i'm sure you'll make a fine citizen one day mr basco now uh just what is your trouble perhaps i can't help you well i'm i'm a found out the only way i'ma can get antics for credit from hulk said it is if i'm got a good credit i would have done in so yesterday you was a center mr hatching kisses to my story is he one of our field agents no i'm an antiques shopper not a field he's an antique agent maybe well go on well then then he's asking me he's asking me a lot of questions i'm i'm answering he's a go away i'm i'm worried that maybe he's gonna give me a bad marker mr vice president what is the best the market you'll give out triple a1 have you ever heard of it mr basco triple a1 oh sure i'm a sod this is triple a1 a newspaper once and i'm a thought is you like a vitamin a b1 triple a1 is our highest credit rating companies like general motors a t and t and standard oil get that distinction there are million dollars in over companies i presume you're below a million dollars i'm not the below i'm away under you'll need over 750 000 dollars to get a double a and the lower you get the rating goes to be and see and so on just how much are you worth mr basco and i'm uh i'm a don't take american alphabet is a go far enough come up please mr vice president never we take it quick and look at the book and now let's see mr basco this is done in brad street book or i'd book my desk he contains over two million names but i have to help you look are you taking a first a million i'm a second you're our investigator so you this morning your business wouldn't be listed for a couple of months my mommy that's the back of what i must start it if you're vice the president then you don't have to ask anybody else that's not true we depend entirely upon our investigators they're very able men or they are behind you on the wall mr basco you see a portrait of a man who during his youth served as a field man for done in brad street do you recognize him mommy ever i'm a linkin now i suggest that you go home mr basco and have patience within a couple of months but i can't do it so long mr basco and then the bus quality vice president he's he's a good a very excited and i'm i'm gonna walk out and that's what i was what are you talking to yourself like that what do you say to yourself again i'm just to play it up for your life that's all oh what a boob i wouldn't listen to basquale in all the widgets of big shots you know what's gonna happen to you now mr man without a country what what's the best way that advice president's gonna make sure you get the lowest to rate them there is triple the z six and a three eight so the whole country finds out luigi basco's got no credit can't be trusted then the bank refuses to take your money telephone book rejects your name you know what the library is a good stamp on your library card what the bad risk i must return this a book in two hours yes luigi and then to sign you own a death annus you had to make all those insult in the remarks in front of abraham malinkan the father of the country no no no no not the me but rather than insult mr lincoln i'm with it rather die don't worry you will that's the one thing luigi have a respect when a fire in squatter shoots try to fall towards the lincoln nebraska you got a money you got a citizen of purpose they're gonna listen to you come on the first party say for me ah all right luigi i gotta save you skin well you know the penalty marriage calling the first party a fighter also luigi wants to marry you what do you say nothing i'm playing hello mr basco oh mr hotcage mr hot to get you i just came from the office mr basco your credit rating came through and since you showed so much anxiety the vice president himself asked me to come down and tell you about it in person luigi don't say a word tell my lawyers to talk with you what lawyers this is off the record mr basco your credit rating in dunnan brad street's new book will be k one and a half can one and a half for what she does she needs to the most few credit is a good for the buck and a half it's not a very big rating but it means your business is financially sound and your credit is good up to two hundred dollars two hundred dollars mommy had to find now i'm looking to buy on a credit from the whole set and i'm looking to grow bigger and a bigger big deal luigi you got through the marriage basquale is going to rate you b-29 no no no no thank you basquale mr hotcage well i'ma talk to yesterday you was going to give him a bad rating well since yesterday mr basco i did some pretty thorough research work on you i spoke to your bank your gas and electric company your business connections and from half a dozen other sources i found out you pay your bills on time and what's more important the people you do business with trust you that's good enough for dunnan brad street mama mama me well goodbye mr basco goodbye goodbye and thank you and mr heffrich wait maybe i would like to get a new book too i got a lot of big assets soon i'm gonna have a my name in a great american book than in brad street and my businesses are gonna grow bigger and bigger mama me i'm i'm gonna hardly wait for a new book to come out of because in the between a theory and a continental account is it gonna be your loving son luigi basco k one and a half of the makers of wriggly spearman chewing gum hope you enjoyed the night's episode of life with luigi and they'd like to remind you that wriggly spear mint gum is an ideal treat for your whole family to enjoy you can give wriggly spear mint to the children between meals without worrying about spoiling their appetite and you can chew it off and every day yourself because it's never rich or heavy remember to chewing delicious wriggly spear mint gum helps keep the teeth clean and bright and aids digestion so you see it's not only good but also good for you when you're doing your family shopping remember to get a few packages of helpful refreshing wriggly spear mint chewing gum your family will enjoy it and you will too the makers of wriggly spear mint chewing gum invite you to listen next week at this time when luigi basco writes another letter to his mama basco in italy life with luigi is a scyhoard production and is directed by mac benna pat fritton as associate producer the script is written by mac benna and lu durman j carol nags has starred as luigi basco with alan leaders but trawley conchcon leaders don't let you over to drosa mary schiff at this folding drofa payas horowitz and ken keepers at golfin the music is on the direction of blood blustin this is charles wyand this is a cbs radio network


It looks like Travis Scott wanted to keep up with his baby mama Kylie Jenner and her latest mega mansion purchase because he just spoiled himself with his own and the police is crazy. In recent news, the rapper reportedly dropped over 23 million in cash on a futuristic mansion in Brentwood that resembles a yacht. Although he seems to still be living in the Beverly Hills house he bought with Kylie a few years back, he should be moving into his new luxury dig soon and we even found the listing. Travis Scott is a rapper, singer, songwriter and record producer who's accomplished a lot in his career in a few short years. Of course, he's also a dad to his daughter Stormi and is often on an off-again relationship with her mom Kylie Jenner is always the center of public attention. Lately the rapper has been making headlines for another reason though, he just dropped a crazy amount of millions in cash in the eight-figure ballpark if you're wondering on a new ultra-modern property in Los Angeles. Though he famously references the exclusive community of Hidden Hills on his song Butterfly Effect, it seems the Houston-born Travis would rather live in the Brentwood neighborhood surrounded by celeb neighbors like Dr. Dre and LeBron James. Despite the fact that Travis has spent plenty of time with Kylie and Stormi during the global quarantine, even visiting Kris Jenner's family home in Palm Springs with them, he clearly wanted to get a fresh start with his new location. As we know, Kylie's latest mansion is in the Homeby Hills area but there'll only be a 15-minute drive apart making it easy for co-parenting. Source's report Travis's current net worth is at about $58 million but considering he grossed over $53 million on his 2019 ashore world tour alone and paid for his new mansion in cash, I feel like that number has got to be higher. Hey guys, it's Kara and today we're doing another house tour here on Famous Entertainment. We already did one on Travis Scott but considering he just bought a crazy new mansion it was time for an update. We'll be taking a look at the rapper's new yacht inspired estate and his other homes. If you like these videos, make sure you subscribe to ring that bell to be notified when we post. You can always be up to date. We've also done house tours in the likes of Young Thug and LeBron James and we'll link to some at the end. Follow me on Instagram to chat and as you wish you will let me know whose house tour is next in those comments down below. I'm thinking we should do ditties but for now let's get into this video. We heard before this video that Travis decided to treat himself to a mammoth sized mansion in the Brentwood area of LA. Brentwood is a quiet upscale neighborhood on the west side with homes high up in the hills. He'll soon live next door to the likes of LeBron James and other celebrities. Congratulations on that. For me personally and I think for a lot of your fans and people outside of that we wanted to kind of know like what type of zone was you in when you made that project. Word is that Travis paid the $23.5 million price tag for this home in straight cash. That's how you know the astronomical rapper is rich. That number is said to be a bargain considering the man she was first offered at 42 mil before undergoing two large price chops. When Travis made the buy it's still one of the bigger purchases in LA's luxury real estate market. Travis's new colossal hilltop house was designed and built on spec by father and daughter team DeLorean and associates just last year and could double as the Getty Center Museum. The home spanned a massive 16,700 square feet of living space with seven beds and 11 baths over three full floors of ultra modern house. Although the mansion looks like it's just clinging to the edge of a cliff it still offers an acre of property and a generous outdoor space. Unlike most contemporary mansions Travis's spot has some pretty unique architecture. The home is wrapped in a smooth sheet metal that was meant to mimic the lines of a modern yacht according to the listing. Either way his mansion looks and feels more like a resort. Walking in the structure's glass front door you'll see a Florida ceiling walnut sculpture designed by a master Japanese carpenter and across from it there's a 12 foot green wall which acts as a natural air purifier. Not only is the entryway spacious offering high ceilings it then connects to the completely open main level of Travis's new home. Here there's an open planned living space made up of a single great room which is huge and has a full bar fireplace and multiple seating and dining areas. If you don't want to hang out in the open area of the home there's also a more cozy family room to relax in. On one side of the sprawling common spaces there's an attached custom kitchen made of luxury black marble and top of the line designer appliances. They're seating for more casual meals here and a larger table to dine at just steps away. The room here has walls of glass that open fully to the patio area giving his mansion a total indoor outdoor vibe. Of course with the panoramic views of Los Angeles that the property offers you have to take advantage which is why there are also balconies and terraces on all levels. The lower level of Travis's new home is devoted to recreation and entertainment. The mansion has everything like a full size home gym, a sauna, a 15 seat movie theater and more. Not to mention there's an expansive wet bar area perfect for hosting guests and a temperature controlled wine cellar that holds 650 bottles. Not to mention tucked right under the outdoor swimming pool you'll find the games room fitted with a designer ping pong table. Upstairs the penthouse floor of Travis's home includes two junior master suites and I'm sure one is reserved for his daughter stormy Webster reports. There are more full walls of floor to ceiling glass on this level and the impressive master suite has dual closets, a spa cell marble bath and balcony with views of the entire city. In fact Travis's master bedroom is so large it has its own sitting and living area and what looks like a full hallway. Outside the mansion the luxury amenities keep coming with a large entertaining area and patio including full outdoor kitchen and alfresco dining decks. Then there's the hard to miss 75 foot infinity pool that looks as if it's overhanging the cliff which has its own underwater sound system and there's a poolside cabana too. For more relaxing activities there's also a jacuzzi, tranquil 400 square foot zen garden and a stunning waterfall designed by Mario Ramona. Travis's mega estate sits at the end of a remote street and is completely invisible from the road although the home is hard to hide it's set below street level with the neighboring homes with the driveway sloping steeply down the mansion's roof. Likely a different design than you'd usually see. The driveway itself has parking for a dozen or more cars and from there further down there's an additional 20 car garage also dubbed an auto gallery. This will no doubt come in handy for Travis who's an avid luxury car collector. He got a new sleek black Bugatti first 29th birthday which likely costs around seven figures and owns plenty more. Some of his wheels include a Ferrari 488 a unique burnt orange color which is one of his faves and a custom matte brown Lamborghini a Ventura SP with white rims. He also has another custom Lambo a hurricane that's wrapped in bright purple camo. I'm sure with his new mansion's auto gallery Travis will have an excuse to add more cars to the collection. Of course the rapper still has a 13.5 million dollar mansion elsewhere in LA that he co-owns with Kylie which is where he's been reportedly living until he's moving ready for the new place. This home may be on the market soon or he'll keep both. This mansion is in the Beverly Hills post office neighborhood of Los Angeles a community that values seclusion and upscale living. Of course full of celebrity residents. In 2018 Travis and Kylie allegedly split the cost on this clean and classy home in the hills. Travis's home is surrounded by a ton of greenery and trees which gives a sense of security and shields the home from paparazzi. The mansion sits on a 1.1 acre plot of land and spans over 9600 square feet of living space inside. Built in the 1970s the property was once owned by actress Louise Curry and received an extensive renovation a few years ago. This made the home fully updated and more contemporary. This home offers seven beds, 10 baths and a handful of perfectly decorated open concept living areas. A two-story entryway opens up to an indoor outdoor living and dining area complete with European oak floors, modern fixtures and a fireplace. On the main level of the home there's also a family room, formal dining room and a chef's kitchen with an oversized center island and state-of-the-art appliances. Travis has an oversized master suite here spending 2,300 square feet which is bigger than the average home. It has an elegant and spacious ensuite bathroom, massive walk-in closet, its own sitting room, office and storage space. Not to mention the room opens up to an extensive private balcony with city and ocean views. Other features of his Beverly Hills home include a home movie theater, gym, library, wine room and extra den. There's also three car garage and additional parking space. Outside there's a large pool and spa that covers most of the space as well as patios and terraces for lounging and entertaining guests. Other features include a garden, a separate guest house with kitchen, living room and one bed and bath. So now we've taken a full look at where rapper Travis Scott calls home while the yacht like a mega mansion that he'll soon be moving into as well as the current home he co-owns with Kylie and Beverly Hills. The new place is in Brentwood but it's not far away at all just in another posh neighborhood of LA and I'm sure Travis is more than excited to move into the ultra modernist state considering he already got it all paid for in cash. Let's not forget Travis also spreads that wealth with his loved ones. Long before he even thought about putting down 23.5 million on his new place, back in 2016 he made sure his family was covered first. The rapper gifted his family a mega mansion in his hometown of Houston, Texas for Christmas and they absolutely loved it. It's my parents. It's my new house. I don't even know. And take their free career evaluation. Anyways after looking at Travis's homes which did you prefer? I mean his new modern mansion seriously has everything from open wall spaces on every level, crazy views of LA, a 20 car auto gallery and much more. What did you guys like best about it? I think my favorite feature of his new place has got to be the massive infinity pool. Be sure to let me know in those comments down below as well as what other celebrity houses you'd like to see. Follow me on Instagram if you haven't and you want to chat and I'll see you all in the next video. Bye!