All right, we're going to go ahead and get started. For those of you who just walked in, we have a microphone now, so if you guys want to talk, just raise your hand. We'll shuttle it around and go ahead, Paul. Turn my mic on. Yeah. The people on Zoom don't care who I am anyway, so we're good. Or they shouldn't. Anyway, yes, as Steve said, it is RCU's fault and it's under active development. This came as somewhat a surprise to an academic guy I was talking at at a conference a few years ago. Quite a surprise, actually. He had a rather interesting view of what synchronization primitives were. I didn't have the heart to tell him that locking in atomics were also under active development. I'm not sure how that would have affected him. But here we are. So what I'm going to do is I'm going to do a very quick review of RCU. There's some little URLs at the bottom of the slide that you can't read. And those are each like a 90 minute presentation that will cover this material. This is just a reminder or a taster, depending on whether you've seen those or not. OK, so the big thing is just that top two bullets. Global agreement is expensive. My 50 years ago self would have been shocked to hear me say that, but the speed of light is just too freaking slow. And atoms are too freaking big and that's causing us massive problems in concurrent software right now. It's just the way it is. Laws of physics can be brutal. Now the way we work around that with RCU is we don't just synchronize in time. We do so in space as well. And we split the core RCU API up into the temporal on the top and the spatial on the bottom. And to take a look more at the temporal piece, this is four different scenarios. Time increases in each scenario from the top of the screen to the bottom. The upper left there is a situation where a reader started on some CPU before an updater did. That means the reader might have reference to something that the updater removed. And the updater is going to remove it. It's going to invoke synchronized RCU. It could also use call RCU, but let's use synchronized RCU for now. And that synchronized RCU had better not return until that reader is done. Because freeing that object out from under the reader would be a very bad idea. And that's the key thing. Synchronized RCU needs to wait till all the pre-existing readers are done. Now on the upper right over here, this is the other way around. The reader started later. It can't possibly have a reference to that object because it's already been removed. And so it's OK for it to be hanging out still after the free, because that free can't affect it. It doesn't have reference to the thing being freed. If you think of the upper left as the belt and the upper right as the suspenders, then the lower left is the belt and the suspenders. The reader started after the removal and finished before the free, so we're doubly protected. The lower right's a bad situation if this happens, which it does occasionally. That's a bug in RCU. If the reader's there and gets a reference to the thing being freed and is still hanging around after the free, that's a user after free. That's just as bad with RCU as anywhere else, maybe worse. All right. This is the global agreement cost graphically for a reader right to lock. The updater has to wait for the readers to get done. It takes time for that to propagate across the machine. And once the updater gets done, it takes time to propagate that information across the machine to allow the readers to continue. You know, put that big red blob in the middle that's lost time. So the wait, go ahead. Okay. The way this works is we have time going from top to bottom. And this is a summary of like a 20-slide animation in one of the presentations. But we have the red dotted line when the change happened. We have the beginning of the grace period and we wait at the blue dotted line. So we've made the change, we're waiting for all the readers. And at the lower blue dotted line, the readers are done and we can proceed free. And the reason that works, we've got this kind of zone of what might be confusion between those two blue lines when you might have processes having both the old state on one hand, other processes having the new state on the other hand. And the spatial address space synchronization takes care of that. A given reader will either have the blue structure or the green structure. You won't have some mush of both of them, at least assuming you've programmed it correctly. And so both time and space allows us to get rid of that red zone where bad things, nothing is happening. We end up with something like this on the bottom where we can actually be having useful work happening at all times. Okay. So why are we putting up with that extra complexity of both time and space? Well, this graph shows why. This is log log. So that a nice slow ramp of RWLock is going up orders of magnitude. As we add CPUs, reader-writer log gets a lot slower. RCU does not. It gets fuzzier because we have more interference. If we have lots of CPUs, we've got different cases of a given core having two test instances or just one. And so you get the variation throughput because of that. The hyperthreading essentially is why the variation is there. Now this is the best possible case. This is the RCU marketing slide showcase because the critical sections are of zero length. We acquire the lock and immediately release it. We enter the RCU critical section. Don't do anything, just go away. If we add some critical section, then we get something like this. And as you can see, the shorter the critical section and the more the CPUs, the better RCU looks. The more help it's giving you compared to reader-writer lock. And of course, no matter what your situation is, RCU was getting rid of some deadlocks. Not all of them, but it's getting rid of some of them. Okay, so that's why we're doing it. This is a list of the use cases that I've thought through and written up, which are in the presentations. And that's our full speed review of RCU. Okay, take a deep breath. Let's go into the recent changes. This is a list of them. I'm not gonna go through all of these in great depth. I'm going to guess at which ones are most important and look at those a little more heavily. I'm around the rest of this conference for if you want to look at either the RCU in general or the particular changes in more depth. Flavor consolidation. So I was mining my own business and I got an email looking like this. Those of you who received this kind of email know that this is a sign you're not gonna be reminding your own business very much longer. And I wasn't. This was an exploit in a use case of RCU. And the problem was they did something like this. Their readers use RCU-relocked SCED to protect the data and the updaters use synchronized RCU. And that's a problem because back before 4.19 and earlier you had to keep it straight. So if you're using RCU-relocked on the readers you couldn't use synchronized SCED like they did. Excuse me, I got it backwards. If you're using RCU-relocked SCED on the readers you couldn't use a synchronized RCU you instead had to use synchronized SCED. You couldn't mix and match. You had to keep the readers and the updaters straight for these particular three flavors of RCU. And the problem was somebody didn't keep it straight. That meant we had to use after free. Somehow or another, I don't know how. I wasn't in the security loop and I'm glad not to be actually. Somebody figured out a way to exploit this. So, Linus to his credit said, look can we do something about this? And the way you do something about this is you just make it so synchronized RCU will wait for all of them, any of them. All right? That way you can just use synchronized RCU no matter which type of reader you're using and it'll just work. The just work part took about a year of my life to make happen but it's there now and that's good. And that's wonderful because you can just do whatever reader you want. You can synchronize RCU and wait for it unless you've got some changes you need to backport to 4.19 or earlier.  Your call RCU can stay a call RCU, it's great. If you go back earlier than that and you look at your use case really carefully and see oh yeah, the readers are using RCU read lock and only RCU read lock, then life is still good. You can do that. Hey Paul, so do we have a booby trap now for backporting patches? Exactly, we got a booby trap. And that's exactly the point. Here's your get out of jail free card right here. Okay, for synchronized RCU.  It takes variable numbers or arguments, you can pass whatever else you want as long as it's type matches call RCU. What this is gonna do is it's gonna invoke these three guys and wait for all three callbacks to fire. And that emulates post 419 synchronized RCU. So if you're using more than one or you can't be bothered to look and I'd probably be in that letter camp myself actually, you can just use that and be okay. If you know what's going on, you're familiar with the code then maybe you only need to use one or two of them or something like that and that's fine. And you can even add other functions if you want to. You're limited only by your stack space on how many parameters you pass there. Now call RCU, what you have to do is chain them. Okay, I mean you can if you want to set up something like this where you make your own thing and you have your callbacks have a datomic that they decontest and go with that. But it's simpler if you can stand the latency to just have do call RCU, have its callback to the call RCU VH, have its callback to the call RCU SCED and then have that callback do whatever you really wanted to do in the first place. Okay, so those are your two get out of jail free cards when you're going to 419 in case you want to loo the booby trap. Of course if you like booby traps I suppose that's another story but please let me know which stable release you're using and I'll try to avoid that one. Okay, so that's this guy, Joel Fernandez put in addition to list for entry RCU and H list for entry RCU but there's only so much space into 5.4. The idea is that what happens, these guys have an interesting relation with LockDep and rather than blow up the API like we've done elsewhere, what he did is he made it so you can have an optional LockDep expression shown here. So you can say list for each entry RCU, give it the position variable, give it the head of the list, give it the struct member of that the list is and then you can have something like LockDep is held ampersand event mutex and that allows you to have some code that can be called by the updater held by the lock or by the reader called by RCU or however you want it and not have to have 55 million different names for list for each entry RCU. So that's in 5.4 and it's something that might be useful. There's also single element KV3RCU, KV3RCU, this is Vlad Redsky, it's in 5.9 and later. The classic way you use KV3RCU, KV3 and KV3RCU are synonyms now. There was some thought of, I'm not sure what the plan is going forward, but here we are.  So you pass the pointer and the field into it and the nice thing about it is it doesn't sleep.  There's need for it, it'll be here, but one of the problems with it is if you have a really small structure and you got a lot of them, throwing in 16 bytes for an RCU head may not be your best strategy, okay? And what this guy allows you to do is not have that. You just pass the pointer, okay? So the field is an optional parameter now and that means you don't have an RCU head, you don't have that space overhead, but if the system is out of memory, it will sleep. What it does is it tries to allocate a page of pointers and it just kind of fills things in those pages of pointers, has a whole mess to RCU and then the cool thing is is that when it would come time to invoke callback, it just scans down through that list and K-free's them, which means you aren't getting massive piles of cache misses or at least not as many, okay? And Willie likes that, maybe the rest of you guys do too, I don't know. But you might be out of memory and you try to allocate the page and it isn't there. And you may be in a context where it has to be dainty about trying to allocate, like you have interrupts disabled or something like that.  So what it does then is just call synchronizeRCU. And when synchronizeRCU returns, it's great, well, just free this thing right now, we're good, let's go.  You have smaller structures, but you can sleep, okay? And that's why the tool to parameter variant has to stay around because it really can be called with interrupts disabled. Okay, and that's been around since 5.9. The bit about the page of pointers and the reduced cache misses has been around since 5.7. Both of those are Vlad's work. Okay, I'm not gonna talk much about this except to say they exist because you might see them on a stack trace and wonder what the heck's going on. These are used mostly for tracing, for handling trampolines. They're very specialized. So if you feel the need to use them, please talk to me and also talk to the people using them because they're very specialized and you can mess things up badly. Now, this is just their names. If you happen to see this on a stack, that's what's going on. The RCU tasks has been around since 3.18. It's been around for a long time. The other two showed up in 5.8. And Niraj Upadjie helped me out a lot with this, finding corner cases in other places where I wasn't doing things quite right. So that was really cool. Nice to find them that way as opposed to blow-ups in the field, you know what I mean? Pole grace period APIs have been around for a long time as well. Get state synchronized RCU and con synchronized RCU around since 3.14, but there have been some other variants that added more recently. And I'll make these slides available. I'm gonna go through these in vast detail. But this is the classic 3.14 APIs. This is something Andrea Archangeli asked for. So the idea is you call get state synchronized RCU and it hands you back a cookie unsigned long, as it turns out now.  When you come back, you know, has the grace period ended? Well, what you do is you pass the cookie to con synchronized RCU or upcoming things. You can put an expedited there. What it'll do is look at the cookie. If the grace period has expired, it says great. Do enough memory barriers to get things taken care of and then return. Otherwise it invokes either synchronized RCU in the one case or synchronized RCU expedited in the other. Either way, guaranteeing that the grace period has elapsed when it returns. Okay. And that's actually works quite nicely except that sometimes you can't sleep. Okay. And that last bit about sleeping can be a problem which is why there's been more recent things. In fact, I think the requesters of all this stuff are in this room. So here we are. So this is talking about how you might use the non-sleeping interfaces. The idea is we've got some kind of thing in the far left there. We've got some kind of a list that has structures on it that's accessed by RCU. The other three lists are not touched by RCU readers. And maybe it's a cache of things or something like that, but occasionally you yank something out of it and say, you know, this thing's been here long enough it hasn't been used for a while. So we don't want to get rid of it right away because it might be used again. We'll put it in the second list. When we put it in that second list, we call GetStateSynchronizeRCU to get a cookie. And that'll tell us later on whether Grace Periods expired since we removed it. Now GetStateSynchronizeRCU only gives you a cookie. The good thing about that is you can call it from an NMI handler if you want to. Okay. The bad thing about that is it does not guarantee that a Grace Period starts. And if you have some embedded device that goes really, really quiet, that Grace Period might never start and that might be a problem. So the thing underneath, the StartPoleSynchronizeRCU, maybe with an expedited on it, will give you the cookie, but it'll also make sure that the specified type of Grace Period actually starts. All right. And then you can put the cookie in there and then you're in the state shown in the third box there. You can call PollStateSynchronizeRCU passing of the cookie. You'll either say yes to the Grace Period expired, or no it hasn't. You can call that from NMI handler too if you want to. Perhaps a reader goes and looks for the item and doesn't find it because you yanked it out of the list. So maybe you find it here and put it back into the list using ListAtRCU, in which case, things fine. It's back into active duty and who cares. But if PollStateSynchronizeRCU says, yeah, that Grace Period is done, then you can call GetCompletedSynchronizeRCU if you want to. What that does, it gives you a cookie that's kind of pre-expired.  And that allows you to just leave in the list with the marking this guy has done. So later on, if you looked at it again, you could just throw it away or whatever you're going to do. All right. And the reason that's important is because, you know, a cookie is a big thing. It's got at least 32 bits, but counters do wrap. And there are configurations in the kernel. We can go through Grace Periods really, really fast. I mean, more than one per microsecond, okay? And that's specialized ones that status center people never see, unfortunately, but, or maybe fortunately, I'm not sure, but it can happen. So counter wrap, and this is real, at least for 32-bit systems. All right. So there's a caveat though. What you might think you could do is say GetStateSynchronizeRCU, grab the cookie, do SynchronizeRCU, and then do warm-on-once PollStateSynchronizeRCU cookie. And there's two reasons why that warm-on-once can trigger. The first, of course, is counter wrap. If you waited long enough between there, well, you've come back around, and it says, no, it hasn't been used. It goes, look, I just handed this cookie out. The other one is that because I'm taking and I'm sort of consolidating both the expedited and the normal Grace Period counters into one counter, something has to give, all right? And what gives right now in DashRCUs, this is not yet in mainline, is that if you happen to have partially overlapping Grace Periods, expedited and normal or vice versa, one of the other of them won't be recorded, okay? Which I think in production is just fine. I mean, in RCU torture, I can make that happen pretty quickly, but I don't think the production workloads are gonna have a problem with it, famous last words. If production, well, the next thing I guess is if you do two Grace Periods, two things on this Grace Periods, then either one of these two guys, one and it's reflected in the counter and you're good, or somebody else, one that started after the first one and they're reflected in the counter. So if you do two, the only way you can fail is counter wrap in case that matters. But in any case, there are some ways to avoid this, but you pay a price one way or another. Either the cookie grows from 64 bits to 128 bits, which seemed like a bad idea, or the counter wraps a lot faster, which also seemed like a bad idea. But if it becomes a problem, we can make some adjustment or another. All right, callback offloading. This is something that's mostly of interest to real time people and HPC people. The idea is normally what happens is your callbacks are invoked on the CPU and the CPUs accuse them. But that can be a problem for some kinds of HPC workloads and also real time workloads because you got this callback who cares when it executes and bang, it shows up in software queue priority, preempts your heavy duty real time guys and causes trouble. So you can tell the kernel to offload them to put them into a K thread and then you can put the K thread where you want it. Or you can rely on the fact that the K thread is a K thread and the scheduler can put it where it needs to go, one way or another. What Frederick has done is now, traditionally what happens is you assign those at boot. You say which CPUs are offloaded or not at boot time and they can't be changed without rebooting. What Frederick has done is put in the infrastructure to allow them to be changed at runtime. So as long as the CPU is marked at boot time as possibly offloaded, you can offload it and de-offload it back and forth as you want. And there's some in kernel functions you call do that right now. Hopefully at some point those get wired up but that's where we are at the moment. I think that he's going, this is part of a cunning scheme on Frederick's part to make know where it's full also work this way. Okay SRC, remember that I'm not gonna look at this in great detail but some of you may have noticed that SRCU struct can be quite large especially if you're in a distro kernel that has NR CPUs set to like 4096, which happens. And this isn't that much of a problem. The SRC struct isn't that big but it can mean that the compiler gets to use ugly instructions for accessing fields beyond the SRC struct and whatever structure you're using. So we have something that is going in to put this on a memory diet. The idea is one to not allocate the array until runtime which means we know exactly how many CPUs there are and we size the array based on the CPUs on the machine instead of how much the distro thought it might ever have someday. So that saves a lot of memory right there. In addition, there's a lot of SRC use cases where you don't need the combining tree. You could have a single global lock and it'd be just fine. And so we have a mode where it runs that way. And if so, if you have a problem where large SRC structs are causing you trouble, let me know and we can talk through the options and what we can do about it. I also have an option to leave it without a SRC node array and then expand it up if there's contention but that has not yet earned enough trust to be default. Okay, it's there but you have to ask for it or it will be there next merge window. Real-time expedited grace periods. Back in the 1990s in 9HPTX, this is a proprietary UNIX system. There was something like RCU and it had RCU CPU stall warning timeout of 1.5 seconds. I'll admit that I was kind of disappointed that in Linux it had to be 60 seconds but to be honest, Dynix PTX was a much, much more controlled environment. We didn't have random device drivers, somebody somewhere coded up that were being used that didn't care about code paths, the real-time or anything. We did decrease that down to 21 seconds and you can imagine my surprise when I got a patch decreasing the expedited grace period timeout, just the expedited, not the normal one, to 20 milliseconds. And yes, that is through order of magnitude faster than the current timeout. This is something that's looking good for the next merge window and it's enabled by default if you have Android set up. All right. Of course, if you know something about readers and grace periods, you might have some questions. There's another patch that goes with it from McAllish Singh, the previous one from Vlad Retsky again. And the problem is that expedited grace periods are driven by work queues which are scared other K-threads behind them which can run slowly if the system's overloaded. What they did was they made K-thread create worker and they put it at schedule. This is strong medicine. So it's enabled only if you have less than 32 CPUs. You aren't running the RT patch set which doesn't use expedited grace periods in the first place, so I bother. And if you have priority boosting enabled. The test results were impressive. He got the latencies down from 200 and some odd milliseconds down to less than two milliseconds. Which gets them down, so they're having sort of a wimpy but a very real, real time that has an expedited grace period on its fast path. If you'd told me that last year, I would have lapped in your face, okay? But here we are. Okay, so this looks like a Megan's 519. There are a few remaining issues. We probably have to have more granular setting of priorities for the various RCU K-threads. The callback invocation K-threads get in their way. For example, so we'll probably have more patches coming along that make that work better. There's some miscellaneous stuff.  We have some real painful thing that was in the schedule between the schedule and RCU for a long time that Lai Zhang Shan got rid of. And RCU now watches most of the idle loop getting rid of some weird stuff and tracing that used to be there. And Peter and Thomas took care of that for me, which is cool. Okay, looking to the future. So this is kind of a banner year for me. This year, I turn 100. For you guys that like these new fangled 8-bit bytes, 40, okay? 64. Now, I still expect to be around for a while. My grandfather and my father's side was doing technical work, mechanical engineering stuff, to age 89. My other grandfather was servicing radiation therapy of chains to age 90. My father celebrated his 90th birthday a couple of months ago, and he cut back a few years ago to four days a week. Although the way he'd put it is he works two days a week, but it takes him four days to get the work done. So I expect to be around for a while still, but the fact is that any of us could find ourselves forced into Mother Nature's Retirement Program, as I put it at any time. So it's good to be prepared. So here's some things that might happen in the first. Along there, we've got things, ways of dealing with these that I'm working with people on. The common case, of course, is stuff I don't see coming, which means we need to have people with an understanding of the basic infrastructure. All right, so if I look back, if I look at 2017, five years ago, at the two years preceding that, that's kind of a distribution of the first 12 contributors, not worrying about keeping email addresses taken care of. I let John and Greg worry about that. And I was worth 74% of the commits, and there were 46 contributors, although the vast majority of the contributors gave one commit over those two years. If I look at the previous five years from the present, I'm at 63%, which is down quite a bit, all right? There are more commits, and a lot of that is because after coming to Facebook, I've done a lot of work to make it so that RCU can use distributed testing, which is taking all the work that's been very helpful. And the other thing is, of course, what's a commit? If a guy gives 10 commits, is that good or that bad? I can tell you that a bunch of guys in the top few there have done work that is actually quite deep and serious. So I take this as a good thing. We have 79 total contributors, again, most of them have just one commit. Okay, longer-term trends, the blue line on top is the total commits, the green line on the bottom are the ones that are from somebody other than myself, and the trend is generally up on that bottom line, so we are getting this information submitted out. We got a lot more work to do. Okay, we're early days on getting it across there, but at least in contrast to five years ago, we're making a start. Okay, now there were people that did serious contributions to RCU, but what tended to happen in the past was somebody would get to where they demonstrate the ability to do that, and then somebody would pay them a lot of money to do something else, which is not a bad thing because you have these people scattered over the place that have at least some context at some period of time in the past, which is better than nothing, but the cool thing about having recently is the people have been staying focused on it, which is very good. Now they may have looked at my age and drawn the natural conclusion, which is not a bad thing either. Okay, summarize, mostly I'm just gonna say that RCU's underactive development is driven by its needs of its users, and that's actually been a lot of fun. It's been a great experience working on this over the last 30 years. There's places you can get some more information. The two presentations I'll call out again, those are 90 minute presentations that talk about use of RCU. We might have time for questions or not, so I'll hand it back over. Oh, you got a mic coming at you. So two obvious questions, and one is when I think about file systems, sometimes the most helpful contributors are those contributors who come up with test cases, user space tools, and things like that. And when you think about a three letter word that's hard to spell like RCU, a lot of people don't even know what it is. So one of the things I was wondering about is, with the BPF guys over there doing wonderful things, are there RCU contributors who have done a great job with tracing and instrumenting for your example, and also for finding the evil people who haven't embraced RCU, and think about the guys who sit there scanning 30 million lines of code and finding those annoying commits, thousands of them, the style changes and the adding the global changes one by one. So are there developers outside the RCU tree who have been really good at helping with those two tasks? There have been. In networking, Eric Dumasay is near as I can tell Mr. RCU for networking for years and years and years, and he does a great job of it. The BPF guys you mentioned, they're on my team, so we talk a lot. And in fact, RCU task trace was from their needs directly. All right? But I had a conversation in the break with somebody who was saying they were having problems because they used RCU, they'd get some really cool feature in, and they would tell the guy, this is great, but you're on a fast path, you need to RCU here and bang, the guy's gone and they never hear from him again. So if your point is that we need better propagation of the use of RCU, I can't argue. Now the two presentations I called out are my first attempt to make that happen, but I'm sure we need more. And I'm also, it would also be great, it'd be great for people looking not just for RCU, RCUs, I mean use the right tool for the job. I mean I'm happy when RCU is the right tool for the job, but I'm not so happy if somebody takes RCU and cranks it around and does something stupid with it, right? I think we need, I think it's a more general problem. If you've got some kind of synchronization problem, how do you decide what to use? I've written a book trying to get a start on that, but I'm sure that a lot more work needs to be done in that area. So one great example, and I just keep having trouble forgetting it, thinking of the BPF people, Hany Namati gave a talk, I don't know, two or three years ago at the storage developer conference. And he basically talked about BPF and how you analyze performance problems with files. So he's looking at Linux files and he's like going into the various trace points in the various ways BPF tools can do, these amazing things that detect problems you have. And everybody, every single file system developer is nodding their heads saying, this is amazing. But one of the things that's interesting is, okay, go one step farther, okay? Can RCU help, what are the red flags we're looking for that those, because he's looking at what's inhibiting serialization. So it's an interesting question to like how you spot the problem first. And I keep coming back to that presentation he gave two years ago as a great example of things that help, but I just don't know. So I'll give you the canonical one. I'll give you the canonical one's been around for a long time. And I showed that slide with all the boxes on it with the different use cases. This is for the use case on top of that chart. If you have a read lock, a read write lock, and the reader uses the value after dropping the read lock, then as soon as you drop the read lock, everything can change. And so that's one case where you might, I mean there's a bunch of other conditions that have to happen. That's one place where you might usefully apply RCU. The same thing with an exclusive lock. If you have something where you calculate a bunch of stuff and then drop the lock, you might, if things are set up right otherwise, be able to use RCU. You're already paying the price in terms of stale data. Because as soon as you drop that lock, that it is stale, or it might be. So that's one piece, but there's a lot that goes with that. You may be asking, I should make a presentation along those lines, I'd be happy to do so. Micro, my friend. Especially for files and blocks, because we're boring, right? Okay. So just examples. Because I think that there's a lot of common places where we screw up, where we don't take advantage of stuff like this. And another example is X array, right? Where we don't take advantage of X array, or we don't want to take advantage of some new feature. I think you should talk, for X array there, a guy over there you might talk to. Yeah, I'm trying to hide, I think. Oh, the thing that, one thing we could do would be if there are places where you're having scalability trouble. If you can summarize, I mean, I've been looking at code for a long time, it's still difficult for me to get it in my head around 10,000 lines of code in one whack immediately, right? So if you can help me out by summarizing kind of what you're trying to do, we could discuss it and see what might work for the different places where you're having problems, right? So you have a place where there's contention problem, or where it doesn't scale as many CPUs, or it needs to be faster, and the overhead of acquiring blocks is causing trouble. You know, summarize what you're trying to do, maybe we can chat or you could also have a chat with the other people who use RCU a lot. I suspect most people in this room are familiar with two examples that I get all the time. One is you got this async IO, DIO kind of workload, or IOU ring workload, and I've got a thousand threads writing tiny ridiculously small amounts, and why aren't I seeing hundreds of writes at the back end? The back end. Typical problem number one. Typical problem two is I've got a file copy workload, and I'm expecting to see these big chunks of writes scaling up eventually to whatever the R-size is, and I'm not seeing much on the back end. I'm not seeing much parallelism on the back end. Those are problems that come up all the time, right? And there are usually plenty of file systems specific reasons for screwing up, but those are problems that we analyze all the time, in every file system. Okay, I think that I'm being given a sign that we're done with this one, and ready to start the next one, so thank you all very much, oh, well. The difference between an ArrayWalk and a LinkListWalk is a factor of 12 on my laptop. That is how much, this is how little you should be using doubly linked lists. Cashmiss is a real, real expensive.


So before we start I have to show you guys some awesome things that Dora sent me, I think I'm in frame. And then I got a big one for Big Brother. First it's such a good job on these. They're one of the four pups. And then also got these little awesome possum smoke alcohol ink pieces for the new gallery which we'll be opening soon. They're so beautiful. Oh my goodness, I forgot. I'm on my vest. Hold on, hold on. They're saying so pretty. Where is this one? Now that's turning it face to me. We'll face out. So what we're going to do is, but it's going to be then facing my face. And then the camera isn't as good on the other side. So what we're going to do is we're going to bring that over here. So that the mic is going to be on the side of me that I'm going to be on. Put that over the mountain. Sorry you guys. There we go. Look at all that stone coat. Y'all, we go through a little bit of resin in my life. I've had my surprise. We did texture ocean for you guys today. So I started out with this. This is a modeling paste from PBO. I am way saying that wrong. I'm still sure. Oh, PBO. My American accent. It is a modeling paste out. Both. It's great. Awesome things to try out for you guys. And this is what it is so far. Let me tell you this on a little ride real quick. So you can see my texturey crackly wavy part. I did this about 20 minutes ago. So it's still a little bit squishy in some areas, but it's going to be good enough. Then I have the little jetty here. The rest of the canvas I prepped with flat white interior house paint. I just sanded it with how many 220 grit sandpaper and then sprayed it with my handy dandy Krylon spray gesso. So now that all of that is done, I have had this hint and up to where I'm like, this is what it is every time. So I'm going to start with the dean. The dean. This alcohol is on. I have it linked in my description box below. 21% is the purple alcohol from non-pals. They come like six in a box and it's fairly affordable. I always grinch my surface with alcohol just because I like my face. This is by Jaqqar. The first color is blue violet. It's king out of. They sent me this color too actually. Can you guys hear me at all? They may be like in the beginning of the video where it was. It is dull blue from zig. It is. I'm sorry, Brandi, I didn't see your question. Do I have my surface and hello to you? We're okay now since we changed it around a little bit. So this is my Wagner heat gun. I'm going to turn it on to 650 workstation. So the sound is going to be a little bit lower than usual. So I'll just speak up for you guys. It's back here, right? It's right here. It should be fine. Turn your volume as high as you can, please. Ask if they can hear you since you're right behind it. Can you hear me since I'm right behind it, everyone? Oh, this girl is with you. Miss Teresa's there. Yes, I am. She said I can hear you. Okay, I'm glad you can hear me. I'll talk if she says something. She says it's muffled when the blower's not going. So you're just fine. Thank you, nails by Cindy. So I'm pushing back the alcohol and wave so that it gives that stuttered look. The way alcohol ink works is that it sets where it dries, where the alcohol evaporates. So as long as there's alcohol down, it'll be fluid and you can adjust where it is. But once it's dry and set and you push it, then it'll leave these little striations. But that's set for a minute and then push it back and it'll leave a line. It's a perfect for alcohol. Isn't it? What? That blower is perfect for your moving your AI. Yeah. Set for a minute, there's now that dark. And I wait for you to see it and never stays. Stephanie says it's beautiful already. Thank you. Mandy, we've talked to you. I haven't seen what you said. Of course not. Mandy knows that we've responded to her. She said, you know what I'm saying, Thomas, my speech-to-text does not. But people are saying hello to this for any person anyway. Excited to see how this is going to work because I've never used alcohol ink on a texture. To push my deep colors into a circle, that way there's like a super deep looking crevice. To cut some of this ink, it won't really look right. So I'm just going to dab it a little bit. If I fiddle too much once it's this little bit of liquid ink, it'll like finger and splay out and it just looks weird. Let's tease it in a little bit. Absolutely just sit here and dry. It would be the only shiny part on here. So I like to just dab it out just a little bit. And let it set up and finish. So let's get a close-up of that. Thank you, Dawn. Erpy area. I've never done this before, so it'll be an experiment together. As per use, I'm going to put a little bit of alcohol on it. And I don't know what this is going to do to this texture paste that I'm using. We're going to find out together. Let's find some erpy colors. Vanilla sounds good. Champagne. Two doesn't want some champagne. Here we are. Mustard. Thank you, Dawn. I'm just going to drop some of this dark mustard in the crevices. That's probably not a good word. Light this.  Because would it be my art without gold? I don't think so. Erpy areas. Why is crevice such a horrible word to me right now? I'm not digging crevice, but... This is Pinata Rich Gold. Now let's blend this out and see what we got. I find that's the thing about most of my artwork. Put the paint down and then see what we got. I'm really hoping that a lot of the ink gets caught in the... I'm assuming that was the rich gold that I asked you. I assume so. A lot of the color gets caught in the... Rich gold, Mary. ...in the crevice. Because you know how sand has that little... One of the pumps is peeling out. There's some light brown in here. She said, what is air purifying? Air purifying? On the ground. Saskia, this is the sand that she's pouring on that she used. That she used the modeling paste by Paveo Texture Paste. And that's where she's... It's her ground area. I'm hoping this isn't too yellow, but we'll see how it dries out. Because you know sometimes alcoholings are completely different colors. Well, especially these eggs. Those are like, you never know. It's like, you for sure have to get spotted for those days. Because it looked great when you put it down and then now it's kind of looking a weird mustard yellow. Like these are looking okay. These little vaning. So I'm thinking that the colors are gonna be okay. Once it dries. Yeah. And that's the thing, it changes color with alcohol. And then it goes to the normal color strip with those. Now I'm drawing this in patches. Still on the 650 heat setting. Because I don't so much want the waves, like in the infinity area. I want kind of swirls of where the sand is catching. Yes, Stephanie. We primed the board canvas with... She said she had primed it with the flat white paint first. And then she put the texture paste on. And then she did a light sand. 400 grit. 220 grit. Light sand. And then she sprayed the gesso. The gesso spray. At the end, Kryolan just spray after that. And then re-sand it again with the 220. Yeah, I think that's a good sand color. Yeah. No, Stephanie, you're not yelling. It helps to see when it's the questions. Are the yellow ones alcohol ink? Yes. Miannels, yes. This is all alcohol ink. So far. The colors on here are. And even the gold is alcohol ink. The studio says, thank you so very much for sharing that fantastic heat gun with us. It is awesome. You're welcome, Brandi Studio. Ooh, that's cool. All right, since I know my table is leaning a little bit this way, and I'm going to put brown right here on this textured area. I adjusted my board so that it would run on my paint. So it's air cut. That is amazing. Thanks, ma'am. Thanks, thank you. So where she's putting that alcohol ink over right now is... It's a little bit lower and smoother. It's same texture paste, but it's just like a little, like, jetty area. No. Yeah, these colors. Yeah. But that's so smooth of a flow that it's going to be easier for you than that. You know? Just for the alcohol ink. Does it do a cool setting with a low like that? Is it on cool like that, or? You can do it for a seven. But does it stay that flow? I'm going to change how much air is pushed and the temperature. But it doesn't seem to move your wrist as well. Nope. This is a high air flow setting. Oh, wow. Which is why it's good for ink. All right, baby. Go ahead, put Maddox down. Give them a kiss for me. Yes, ma'am. Bella, it is alcohol ink that she's blending. We're about to break out the red. This is where she's placing the alcohol ink right now. This is on top of texture. All the tan is texture. Under below it. I'm wondering if you're just wondering, are you going for a certain look? I missed the beginning and I feel like I missed something cool with the blue. This is for deep beaches. It's going to be ocean. So I'm going to put blue here and over most of it. I'm going to put blue alcohol ink here and here and then blue resin over all of this. Oh, sorry, Bella. I misunderstood. Yes, it's just alcohol ink. She's not using any blending solution. It's 91% isopropyl alcohol mixed with the alcohol ink. I was thinking it looked kind of like an ocean. Very cool. You're excited for the surprise? Yeah. I'll have Miss Carrie check. I'll text her to check the door. It's done putting Maddox down. That's so sweet of you. Thank you, Kim. I love that. I don't even do work tones, but I'm digging this like brown, bronze. It looks like a dog beach. I'm going to try to do this without blending out too much of the brown. I need some light blues and light aquas and green without tilting that way. Hi, Linda. Can I change my mind for a minute? The texture of the bottom looks amazing. That's what was going on, going near the beach. That's what was getting on the beach. Awesome. The voice blue. I'm so addicted between the green and the eye color. I just love doing that with the eye. Yeah, I like adding some green because, you know, when the sand gets really closed, like the ocean gets really close to the sand and it's not very deep, you get that green look because the blue of the ocean is mixing with the yellow of the sand and it feels like open-ish. Yeah, and the light's hitting it more too. It says love, alcohol, apes. Can someone tell me what pencil is the best to erase without a shadow? No, no, no. Pencil to draw, probably erase. I would stay away from actual pencil pencils with lead. I would do like a colored pencil, like a blue is good, a light blue colored pencil because whatever, you don't even have to erase it. Whatever you put it on, it's not going to show up, whether you paint it with acrylic or whatever. So that's always a good one. Joe, I hope you heard that. Because I know you're eating.  We always tease Joe because he's always like, Gotta take a phone call. She fills everyone in, taking coffee where I go. I use chalk. Oh, I wonder if there are a lot, but it depends what you're writing on. Manels, question, question, question. Oh, is there any reason, okay, me and Nels, is there any reason in particular that you're not using the blending solution? Does it make the modeling paste feed up or something like that? I don't know what it would do to the modeling paste, but you could use a blending solution. I'm just not. I'm not sure why. I don't feel like I need it because I'm really trying to get these like wave lines. So I feel like if I used a blending solution, it would kind of fade these hard edges a little bit. Not cheap. I have some. I like using it. Basically the blending solution's more so made to blend mixatives or like the white jacquard ink, alcohol ink. You can use it with your alcohols, but literally just alcohol will save you money. And the other good thing about blending solution, if you want to use it with regular alcohol, is it allows you to be able to move your inks longer. It takes longer to dry purposefully, so you have longer working time in a sense for the AI, but it's not a necessity unless you again are using a mixative, like a metal, or you know, want more working time. Because it'll take you, you get to move more. It does really help blend colors really, really beautifully too. But it isn't cheap, so it's better if you can avoid, you know, using it all the time, unless you have the money to do that. Which is awesome. Yeah. Okay, Miss Teresa. You said to pick where. Joe said she's doing it on Joseph. Okay. I would just use a light blue coloring, light, what do I say? Colored pencil, Joe, to, to, because you can still erase that, but you could be, it won't show up through whatever you're painting. You know what I mean? You can cover it and it won't show. Okay, thank you, Miss Teresa. Coler says, hi everyone, hi Mallory. Okay, JJ. JJ says, taking Ruben out to pee. Peaches said it's high five. Bouvier, the gold is also pink. Yes, Miss Bouvier. It is rich gold by Pinata, jacquard, Pinata, alcohol, ink. Let's see where we're at. Which is my team. Hey Petra. I always say it wrong. I love this. I'm hoping that it inspires some people to try outside of their comfort zone of stuffs. It will. Oh, Miss Carrie, Kim said she's sending something to the house today, so. Check the door. It makes me feel good when I see her. Right? Oh, the brightness. She just complimented her so well. Carrie says, looks great. Thank you ma'am, thank you. Hi Abby. Miss Kim, you didn't need to do anything. You're just fine. Thanks, Miss Bouvier. So yes, your copy art just came right in. And then this is Love the Dark Door. So, now that we have our ocean, we put some alcohol in up and get our resin. Get your resin on after you see it. Nature says it looks amazing in our house. It's so pretty in the house. It's totally like this one. So what is this we are using? This is a blending pen by Cali Arc. I'm just, there was a separation where I did this part and then this part. So I just wanted to connect the waves so to speak. It's basically a blending solution pen. Michelle McCarty says hi. Oh, I was on her website, okay. I'm looking forward to going to class in Raventon, Florida. I could find everything. Can someone send her a link? One moment, Miss Michelle. We're going to send you a link. Give me a second. So we got this beautiful upside down sign. This beautiful blending pen. Oh, and it's got two different tips. So you have the broad or the fine. Which is really cool. Thank you so much. Thank you. So I don't know if you guys can see the way in that. Can you use alcohol and on glass as well? Yes, Mary. You can use alcohol ink on glass. It's better. The smoother the surface, the better with alcohol in it. Nice flow. Just remember putting any kind of art, and direct sunlight is no bueno. As it's not light fast. So you definitely want to seal it, but be mindful that because even glass itself, colored glass will fade and direct sunlight. If you paint and use just a spray, do you need wood sealer? I'm definitely inspired by that. It depends on your wood, Miss Wondering Arts. If it's not sealed in, you would need to seal it with what we use as polyclinic. You know what we want to seal? Like wood wood, like pine wood, or something that seriously breathes with polyclinic. And that would be front, back, all sides. You know, you want to literally seal it, and then let that dry, and then you can gesso on top of that and sand it and do all your jazz. And that's just so that it doesn't keep breathing so that when you do resin over, the bubbles don't come through, and then... Yeah, I mean, it'll last, so just keep your blending solution. It is expensive, and it's such a small bottle too. So, you know, you can even use a couple drops of blending solution within your alcohol itself, and it'll help, you know, give you that longevity and really blend your colors. Thank you. Okay, Miss Trudy, I will. As soon as she gets back, I will let you know. Resin's a long thing. Yes, you can use resin as long as it's UV archival resin, but you still are going to need to seal it. Otherwise... Yeah, Resin, you need to protect it.  You're going to want the satin of this or the matte. You do not want glosses. It will reactivate your alcohol ink. But this is all you need, and then it'll be bomb, and it won't fade in, it won't reactivate it, blah, blah. And then once that dries, then use resin, and I would suggest using a highly UV protected resin. But still, even still, you still want to keep it on and direct sunlight. Things should fade, people. Okay, so Miss Trudy's and something right here. Ah, she wrote, that is pretty, you're fine. That is really pretty. And she said, tell it to you, I like that blue hair. Oh, thank you. And just so you know everyone, we have ginormous windows open, and it's automatically, the fans are pushing it out the window as she's doing that, so... It is super ventilated, but wear your safety gear and you'll breathe a mass if you're sensitive and need it. We're kind of screwed. Okay, so I think I showed you that, Mary. So it's the UV by Krylong UV archival. That's all you need. To seal your ink. And use the matte version or satin. Yes, Joe. The spray is the bomb. That doesn't blend it out on your glass table. Mary Fisher has a glass table that I am outside. I wanted to do something with, but it was messed up. Yeah. The suggestion is to not alcohol ink something that's outside. Just use the resin to color your glass, on your glass table. And you can resin over glass as well. Scuff it first. Would be best probably. Just make sure your resin is UV resistant. And then I would do a light, you know, like sanding, just to give some a little bit of tooth as well to the glass. Just so that your resin just doesn't peel off or whatever. And I would use a resin that really gets really good hard. Like this stone coat, art coat, or the stone coat counter top, art coat one, or the regular stone coat counter tops. Those all get like super nice and hard and can withstand heat. I don't know how hot, but sun's hot after a while. So just be mindful of things like that when you choose your resin. You don't want it to like get so hot it starts getting sticky or melting or sloping or something. All right, you guys. So this is the semi gloss version. What I sprayed the first time was the matte version. I'm just going to show you guys what happened. Even though I went ahead and sealed it all in with the matte version, this will still give you issues. So come on over. Let's look in this area. Pushed out just a little bit. There's extra lines in there. We activated it and something gives it like this little vein wasn't here. Just to give you an idea as to why you stay away from gloss, even semi gloss. I'm still using it a little bit because I didn't have enough of the matte in it. That can to fully seal this in. It ran out. So I'm spraying it in the small part so I can seal it and evaporate the alcohol that's in this can really quickly so that my resin doesn't fade it while it's setting. If I were to just spray this and let it set on its own, it'll have time to reactivate my inks and move everything around from where I had it set up. So that's why I'm spraying it and then immediately hitting it with a heat gun. I would just recommend getting them at and saving yourself the stress. Yeah, or setting. Man setting or safe. Just the glosses or not. Semi or not. Carried. A blurb came up and she said, tell me Brandy loves the geocoasters you just did. I believe is what it said. Laura Taylor. Hi Laura. As you see, wherever she's spraying it's going lighter. It reactivates and makes it disappear. It's weird. I know. It literally makes it disappear. Great, she says. Off today and the weather is awesome. She says, Hi Laura.  That's so much. Yeah, I put them. Sorry. That's why I shoved it to your face. I'm all, here's the mic. But yeah. She said, thank you so much. That is so kind of you, Miss Teresa. Before we seal happen these like dark areas. Dude, see, that's why I like the cart a little bit because it looks because there's we'll see. I'm so like, Hi Laura. It's a pay bow. Yeah. I felt fuzz behind me. So I was like, modeling paste. It's a craft. My pay bow. Hey, but Miss Petra, I think honestly yours is probably best. And this is really expensive. So she added the texture paste right here as well. She has.  Stole Bowie's treat. But he has a treat right there. But he wants hers. But hers is bigger so I could see why. He wouldn't want that one. Yeah. I want to get yours, Petra. Yeah, Christy. I'm here. E Brandy loved the geode coaster she did a couple of days ago. Miss Carrie, I just said that to them. Am I on mute or something? Did I hit something wrong? Kind is yours, Petra. Yeah, bust it out, Petra. Put your link in. I forgot about that. Look at the tail. Kim said, Carrie, Kim, you see that, right, Kim? Carrie got your package. Oh, Miss Petra, if you came to the US, please stay with me. Yeah, come through Texas so we can all hang out more. Laura Taylor's coming through in September. Yeah. Laura Taylor, I want to part off. She flies, though. That's what's weird. I don't know how she does that. So, I'm going to be using art coats. So much. I'll treat that. I'll try to get it. So, if you guys are new to resin, I'm using Art Coat by Stone Coat Countertops. You can get it on my website, artistholdout.com, or you can get it from Stone Coat's website.  I'm actually waiting on my order from Stone Coat. Now, because I'm out, it's a great resin. You can get, like, two-hour working time. It's the highest UV resistance on the market. It's heat resistant up to 500 degrees. Water, alcohol, everything resistant. There's no fumes, no smell. The viscosity is amazing, especially for creating ways for cell and things. It's just my favorite. Anyone who has used it can tell you that it's bomb.com. I just got to mix it for three minutes, which is the worst.  That's the game. Pretty much looking. And then they're going to sit under where I'm filming to argue about it. I can't help it. Oh, you did it. Is that a target? No. He's, like, really long. Look at this. He's going to get both of you. I'm saying it now. She does this now at home because he's over her. But wait. With the other kids, she does it now, and they're like, what are you doing? And now she buries. Trying to bury it. Belly buries. I know. She always learns to do something when she comes here. From her big brother. And she'll be like this and nothing. Like right here. And I'm like, um, you can't. It's not going to go in there. Yeah. Don't forget to scrape your stir stick, the sides, and the bottom of your mixing container. It's a 20 inch round, Miss Perry. Belly likes to believe he's the boss here on what. Joplin, like, kind of person. When she lays down, she lays down hard. Patience. She's just feeding the babies. Little treats. Okay. They're both. I'm not even going to say it.  It's not. Pamela's the love of this piece. And she'll rewatch what she knows. Thank you. I'm just putting some clear down on the sandy areas. Where I put her. Where I don't want any of the blue to get to. Turquoise seas. Tint by color obsession. Just a couple of drops into my resin. To faintly tint it this color. You don't want to use a lot because even though it's transparent, it's going to alter these colors on the bottom. So I want it to slightly change the color, but not go breathing. So I'm going to do one, two, three drops just to start. And see what color we got. I have more of this coming for our stock in the store. Unfortunately, I'm out currently. But it's like a beautiful, like, melted aqua jolly rancher. Color. Color is amazing. This one is melted. But I'm pretty sure it's Caribbean blue by color obsession. It's a tint. I do have it in stock currently. And I'm also going to use Snow White by color obsession. I may not use this actually because I don't think I have any. You hear that, but we made the button go for you. I just made the button. Miss Erica made the button to go for you, Miss Laura Taylor. But it's maybe too far away for you to hear. But thank you so much for the donation. You know, I'm going to add some green meadow. Beauty! Awesome blonde java. She says that Carlin's giving away $1,000 scholarship to art students. Had she some of my resin application as right now, if it would have started to melt and move my resin, I'd be able to see it when I do that. But it didn't leave any ring, so it's sealed in proper. That's kind of like a visual test to see if you've sealed it in enough. Thank you so much. I'm going to use this one because it's bigger. I don't have any smaller ones. Turquoise seas. I added just a little bit more pigment to make it slightly darker. I think this is like four drops worth. It's my favorite. And it's never in stock. I swear, as soon as I get it in, people buy it. This is look for Carlin. Too sweet. I don't know what I would do with it. So this is going to be, actually I think this is Bondi.  I've been really paid for this right now. I'm going to use the inked canvas last week and it's going to use the resin today. If it's a question about time and spuvier, you should be fine. Matter of fact, if you ordered some craft coats, really well done. Did you know what you're actually going to do? No. If I heat it up too much, then it won't be the right consistency for my brothy cells. So I just want this low and slow heat. So you don't want to move it? No. All I want to do is pop the bubbles. Okay. How much rain to do a float to cost on our own? How much resin to do a float to? It was 10 ounces. 10 ounces I'll cover it. Miss Ramona, it was 10 ounces to cover the 20 inch round. Bring the bubbles. She's just popping the bubbles. Let's go with that. We can wear that child. Let's do it. Do you get diabetes from the sweetness of those puppies? No. Don't worry, sweetie. This is like way older, so you know I'm still in back. We missed the question. Go fast. Oh, there you go. There you go. Yeah, she says it's gorgeous. We know. Erica, do you have any more of the Turquoise Shimmer epoxy pigment paste? It's okay forever to find this question you had, but I did. Okay, so Erica says that if she doesn't have it in her shop, the Turquoise Shimmer epoxy paste, then it's on order. What you two asked was that adopter or bowie fur. They probably got together and inspired her to make it. Okay, so with your waves when you put them on, you want to move back from how you think it should be. Okay. So if you want the waves to look like the sand going this way, you want to push them away from the shoreline. Wherever you put your shoreline, push your white waves away from it. Jelica, if I'm saying that correctly. I don't know if it's pronounced helica, jelica. But hello from Serbia. Do art. Says I too. It's great you're happy to say hello to her. She said, Carrie, does Doris know you have that wrench? Yesterday, crazy thing happened. Miss Jen came on and she was like, where's my wrench? She was like, what? She didn't have a wrench any longer. And it was just Jen. Did you set it? I just added her back. I don't know, it's weird. I added her in all the way to the three dot way, how you show me. The five-nose hoover is out of the way. I was like, yes. But it doesn't leave in the main D's where it shows everybody. You know what I'm saying? It doesn't show it there. So I added her there just to make sure because we don't have to hit 13 years or whatever. So I guess it's just in there for today. Do it again. Beautiful piece. You have an awesome day. She says she went to the really cool town with lots of harness. Where was your town, Miss Java? To Hey, keep an eye on your wrench. It's long saying. Pretty Erika. Bluffton, South Carolina, where she made it. That piece is the bomb. Baby cake says, nice. That white really brought it to life. And Judy says, bomb, diggity. I love this piece. I love the depth of this piece. So stunning. Leslie's doing it so good. Oh, so she can teach them because they said that they would be gone before you can teach them anything and it was way too expensive. That's kind of morbid. They're going to be gone before you can teach them anything. Right? Wow. This is my favorite piece.  So we have our new single lives after raising five kids on Java.  So unique. Sherry, he needs to see that is my favorite alcohol piece, alcohol ink piece that I have seen you do. Spectacular. I'm digging it. Trudy has a question. If you swipe your resin over this white, what will you still get cells? I know you'll get cells with. Yeah. You won't really be able to see it though. White base, but white. Should it be a white on white? No, because the clear out the coats and you still see it. It's not like super hardcore, but you still, yeah, you still see it. It almost looks like a little shadow, you know what I mean? But yeah, basically, if you had a white board, then yeah, it would be harder to tell. It would be way more fun to put color over on top of that white base. It's just thin. I'm sure it's doable. I'm sure you would get cells. Well, she's saying this white with just clear. Yeah, it totally does.  It is harder to see this. Because that's each error time. Erika's felt okay. I'll see. And now it's just me and my six cats and my arts, which you would have never let me do. You don't need nobody to tell you that you're alright. He says you're better off the job. Teresa's okay, fam. I need to mow my lawn. Thank you, E and S, for a great life. Oh, you're welcome, Miss Teresa. We're here for everything. And she'll keep an eye out for that spray on Thursday. Thank you again. Miss Teresa, do you get the the ones that you get to sit like writing lawnmowers? That's already here. Do you have a six-counter of art about the exes? She said the cats are already here. So I'm sorry. Yes, Miss Morota, I do have a video today. I just need to post it. I'm sorry. I'm lagging on the edit post, but it will be at some point today because I am going to art after this and I had already pre-recorded a couple different little ones. They're just simple, simple. One of them was at Miss Judy's and one was the stones that Erika helped place. Erika actually placed all on the star. Oh, zero turn. Dang, Teresa. You got a zero turn lawnmower. How do you fancy that?  Happy artying, S&E, I don't know if I saw it. Can't wait to see. Aw, thank you, Miss Kate. It's beautiful, Erika. Thank you, Saskia. I think my favorite part is this like gold sand shore undertone under that green. Patri says, Patri says, amazing art. Digging it. Kate says, wow, great job. It's awesome. And a resident up says, love it, Erika. Joe says, love that part with the gold underneath too. Hey, guys. Talk to you tomorrow. Thanks for tuning in. We love you all so so much. Check out our website for all the things. We do have a class coming up. Yeah, she's much, much, much smaller than Moe. She heard me. She's like, right there, like, let me out. I heard the whale. Bye. Anyway, you guys, I said bye.


Hello everyone, Mary and Espresso Press Design. Thank you for stopping by. Welcome. Hope everyone is doing well. Today we're going to do a little fast-frame project, a major scrapbuster, a little show-and-tell, a couple of things for the craft show and what I've been up to. So let's get started. I'm still struggling with the ornament, but I've come up with another idea. I cannot cut through. This is using my Mamagami, which is something I really wanted to incorporate into something. I really like the lace background, but I cannot cut through that many layers, so I bought a lace dye. I decided that these need a lot more ornamentation, so some more ribbon, probably a jewel brad in the center, and then I might be there. We'll see. This is a little teaholder that I modified from the last one. It's kind of like a cram box. I think it's very pretty, and then it has three T envelopes and the little stickers for closing the envelopes. So I think that's very elegant and a nice gift idea. Okay, I have been experimenting with more paper because I have all of these cutoffs from my packaging material. So I have been making leather, which there's tons of tutorials on how to do this. I've been making leather with these scraps. I've wet and washed some videos on dying leather and things like that so that I could come up with something to do with it, something to do with them. I came up with this little book. I think it would look very nice in leather. Self-closing book, but I didn't have time to make it yet. So that might be upcoming. Very easy. That's just the prototype. And I have been playing around more with the Mamagami, and I've come up with some beautiful texture pieces that still retain the softness of the Mamagami. And they kind of remind me of a brocade. So that might be in the near future. We'll see. Let me know if you're interested in any of that. I probably would not do a leather video because there are 10 million how to make leather. I did not have glycerin. I did not use glycerin. Glycerin is an oil and I would not like an oil in my papers. So I don't use oil lotion for the Mamagami and I would use the starch before I would use any type of oil in my paper. And that's just personal preference. Oils can get rancid, so I wouldn't want oils in my paper. So just a little shout out here. Thank you Susan for your kind comments. And a shout out that was very nice of you. You really made my day. A shout out to Candace at Journal Me Crazy, prayers and thoughts to you for all you're going through. Pop over there and show her some love. And you can watch her video and get caught up on what is going on if you're interested. Shout out to my friend in Canada. I hope you are quickly improving. And I've updated my website because I just don't have time to do that much work on it anymore, posting video galleries of people who have used my papers, what's new products and all that. So it's more of a gallery style and when I do one of these little crafts I'll have craft show galleries and then I will put a link on how to make them because I always try to give credit where I saw an idea but since I'm not making these in a video just showing them you still might want to know how to make them so I'm going to post the link to where I found to make them. Okay among other things what I've been this video is a little late today. This week I have been purging the craft room because it's driving me crazy. It really interferes with my creating when every single surface around me is covered with paper. So I've come up with a little scrap buster and it is fast frames. And I've made a few here and I'm going to take my little scraps. These are very simple. I didn't decorate them very much but I'm going to do the frame and then I'm going to give you some ideas on how you might use them. So what you'll need, I'm using my sack of 4x4s from the specimen cards video where I cut up all my papers into different sizes when I get overwhelmed with paper and then I just take the stack. So I'm using a 4x4 and in the end that will give you about a two and a half or two and three quarters by two and three quarters frame and the inside is about an inch and a half by an inch and a half square. So they're very easy and you just take your four by four. The hardest part for me is getting the folds straight and if it's going to bother you that you have a fold line there just do a crosshair side to side top to bottom.  See I cannot fold a straight line. I cannot cut a straight line. That totally drives me crazy. I hope that improves and then you do the same to the other side. I hope that someday I improve in that although I've seen other people like Harry the crafter who has been at it for years and he claims he still can't cut a straight line. So I don't know. I always think of my friend. Every time I'm trying to cut a straight line I think of my friend at the newspaper back in the days when you had to cut and paste to your page layouts. She could cut a straight line like nobody's business so every time I have to cut a straight line I think of her so I'm trying to make sure all my corners are pre-mitered there if you can see that and then you have your four folds and then you're going to take this one and fold it up to the point and this one and fold it up to the point that well it's like I guess I should say the halfway mark and then make sure you can see your fold because that helps and then you're going to fold those in and there is your little frame okay and at this point I can tell two of my folds are crooked. What a surprise. That drives me crazy. How is that not possible? Wait a minute that looks better.  Okay if I wasn't on camera this would be going better. Because I whipped those other four out in no time or five or however many. Okay that looks a little better maybe that paper wasn't exactly square. Okay I'm just going to go to this one because I know that one's perfect. Okay so there's your frame and I'll do another one here. I want to try one of these. Let's see what happens. This is my oh here's another thing I have to tell you. Make sure your paper is square. If you do these with a book page it's really cool. I didn't have any decent book pages around me but if you get your image in the center and then because a book page has a back and a front what's on the back will become the frame and then what you have in the center will be your what's framed. So that's really cool. If you have the right books just make sure your photo is in the center and then you can whip book page frames. Okay and then I'm just going to give you some ideas on how you can embellish them. See I thought all these and it would also be nice if you have the double sided paper some double sided scrapbook paper. Why are you not coming out now? These papers must not be square. I'm going to have a gap. Why is that going to have a gap? I'm pretty sure I measured these right and they're 4 by 4 but you can do any you can do any size. I didn't really try it with a rectangle but I'm sure it can probably be done. Okay let's see if we can get this one a little better. So remember you're going to go to the half mark. I've spent the last three days purging this craft room because I just can't take it anymore. Clutter really interferes with my oh that looks cool. See I like pattern. I just have to get that corner fixed. Just going to pull it in there and squish it. Okay that one's not too bad except for that fold there. It's crooked. Why am I crooked today? Okay there we go. There's another little one. Okay I like that because that comes from oddities because I like that type of look. This comes from transitions. Yeah I did I went these out in like I don't know an hour but I didn't have any problems of course today I have problems. Okay so I'm just going to give you the ideas of what you can put in here and how you can decorate them. Okay you can go the traditional route put your little specimen in there like that. You can take your little a little image which thing was not quite big enough little flowers something like these cut these out put them in there of course I did the ones with the shoes. You can take your little lady face put that those in there and then I thought it might be kind of cool to do a collage in there a mini collage so I grabbed some tiles I could stack some tiles in there I have a little background if you're so inclined you could do tiny collages in there something like that you can pop a flower in there and you can see I don't know where my little circle went decorate the edges pop some little lace little flower decorate the corners something like that you know a little fishtail little snippet whatever that would be quite pretty um yeah you can I don't have any off hand you can run some labels along the sides some little strip labels you can run some words along the sides and these all these kind of came about because I do not like clusters I don't know what it is about it but I just I know clusters are a great scrap buster but I just don't particularly like them so I came up with this instead and um you know they they could make a nice little nice little trying to see if I have a book here no I just have a pocket nice little corner on a page a little focal point on a page you could oh wait I had another idea let me get a piece of string here you could take your little piece of string make a little loop glue that up under the top and you could hang that make it a hanging frame hang that from a paper clip on the page or something a little hang tag something like that so there's tons of tons of things you can do with these little frames very simple to make you're using a four by four scrap five by five scrap six by six you're going to have to play around to see if it can be done with a rectangle I'm pretty sure it could be and then you'll need your little back um and everything you want inside and everything to decorate so I think I'm just going to whip up a few of these here for the photo and yeah that's that's what we have today I don't know what I'm going to call this but best frames maybe that's what we have for today where are we 26 okay I hope you didn't mind me not decorating but I don't you're going to be able to do these how you want and again just pay attention to your folding make sure your corners get mitered from the start and then double check and make sure your image is stay square and that's pretty much it that I can think of okay everyone I'll see you next time I me again I'm back I forgot to um say how to glue this down and I just took a little glue stick and went over those little points and that's whoops that's pretty much how I just glued them together little dot of glue in the center and that's pretty much it okay that's probably important and you know of course you can run a line of glue whatever but that's how I glued them together and um they're pretty you know they're not going anywhere okay have a great week everyone sorry about that I hope um I hope I have this room straighten down a lot better so that I can um actually think and get my creativity back because it's just um I don't work well in clutter I really don't work well in clutter and if you saw this room I don't know how it happened but probably part of the problem is I started putting containers on this table and you know if you have a container it's going to get filled see what I mean that was probably a big mistake so that's what I've been doing is reducing the paper I don't need any more tiles I'm I'm just coming up with more scrap boasters so I hope this helped you too and I'll see you next time have a great week everyone thanks again for the nice comments please subscribe and share have a great week bye


So I've been asked multiple times a day whether to release music right now.  So in this episode, I'm gonna explain why it's absolutely stupid to give a blanket answer to the question whether you should release music during this time, but instead I'm gonna give you all the knowledge you need to make the right decision for yourself since the answer is not one size fits all. Hi, I'm Jesse Cannon and this is Muse Formation. And today I'm coming to you from my quarantine office instead of my usual studio, as you can see.  In fact, the fact that I'm even a little bit pessimistic and cautious right now in this video tells you everything you need to know. Since I'm usually a happy go luckily reckless type of person and I'm actually taking the time to do this post because I feel the need to warn people since I'm allergic to causing alarm and clickbait bullshit content but I feel like I have something to say that's unique here. So let's get right to the question. Should you be releasing music during the coronavirus outbreak-the COVID outbreak? So let's first talk about where the stupid answer I see from all sorts of people that are not paying a lot of attention every time I see this question on a message board. What they say is everybody's at home and waiting for you to release music. Well, not so much. Let's start off by pointing out first off that streaming music is down but let's also remember that many establishments like bars and restaurants that play Spotify all day are no longer streaming. There's also people not commuting to work and there's probably people streaming a little bit less. But we are hearing from YouTube and Netflix that their numbers are up immensely but this seems to be that everybody's taking a chill-out time right now. Let's remember, you can listen to music every day. You don't have eight hours to binge the Tiger King guys documentary every day.  The answer is no one knows but there is a lesson I can tell you I learned firsthand during September 11th when there was a crisis like this. On September 4th, 2001, a song I had done a bunch of production work on was Burning Up the Top 40. Though a song was a white boy hip hop song that had some questionable lyrics about a girl who'd moved out of a house and now the MC kept getting her phone calls. Well, the next week when 9-11 happened, no one had any interest in this cute little joke anymore and the song and the band disappeared and they were dropped from Atlantic Records pretty fast. So what I can tell you from this story is if your song is a bunch of club bangers about going out and partying, it may be good to wait. And if your song is about falling in love and all the fun you've been having in the summer, well, unless that's all been happening over a computer or your song's about being apart from someone and you in love and it's like love in the time of Corona or something, it may be good to wait as well. But if your music is more niche and it's like metal or like weird indie stuff, you can give it a try releasing it. But I will say with the caveat is that you should make sure you have all that content made and everything should be as planned as effective as possible. Since everything's kind of on pause and you wanna make sure you get this right right now. And if it's not gonna be right, you can always wait on it. And I do wanna say that there's great content you can make indoors right now. My buddies in Lake Cambrian did a quarantine edition of their latest video. Kalani shot a really intimate video in her bedroom on a phone. You can make content that is themed around what's happening right now, but it's also probably not best to compromise plans if you had really good ideas on what you were gonna do previously. Since who knows if music fans are responding to new music right now. So if you do decide to wait though, let's also remember it may not be so smart to do this right when it's over. What I'm gonna tell you is there's gonna be an insane flood of content when all the established artists who push back their ideas are gonna start doing everything all at once and releases will flood the market and then everybody's gonna be listening to their favorite bands records instead of new music. So with that said, maybe you do wanna go sometime soon. Let's also talk about another lesson I learned from 9-11. I lived in New York City at the time. We have to remember at that time New York City was not known for breaking bands that became big. In fact, if anything was the opposite, it was known as a dead zone where no A&R would scout even though they were all here. And yes, some influential bands came out of it of the time that were overlooked, but for the most part it was seen as a dead zone. But what happened to change it was a record came out right about the weeks of 9-11, the Strokes First record. And we have to remember all the live music venues below 14th Street where all of them are were locked down. And people were grateful for live music again and it made a huge, huge scene pop up. I was a part of that scene. And the notoriously jaded New York City audiences were all of a sudden having fun again and being grateful for shows. But trust me, it didn't last. So I do think while the Touringland release market will be flooded, I do hope by summer we're gonna see a lot of people who are grateful for music again. And they're also gonna want songs to soundtrack their lives while they're finally enjoying themselves again and making new bonds with the friends they haven't seen in forever or new friends they've made through this on the internet. I think there's gonna be a window maybe in about two weeks before this all ends where it will be smart to get some content out. And it will be smart to launch things if you are prepared because all these artists are gonna wait till they can really do the promotion they wanna do. Not everybody's gonna be like the 1975 and plan an immersive event to promote their music that's gonna shift all their plans that they had for a record release. While everybody's on their Netflix thing, the content farm is gonna run dry at some point. So let's remember you can take advantage of that. So the next question I keep getting is, should I live stream my whole entire life? The answer is unless you're gonna make this really entertaining don't bother doing it since you're competing with the biggest artists right now. As I'm taping this Dave Grohl and Ben Gibbard are doing theirs right now, all my favorite electronic artists are doing Twitch DJ streams. I wanted you to remember the question isn't should I live stream or do nothing? There's much more other things that are more effective to do with your time. I'd argue working on your songs, doing some other smart things are way more effective than just grabbing an acoustic guitar and vibing out on camera. Though I will say going live on Instagram or Twitch right now is the amazing thing you could do to bond with the fans that you do have. Doing movie watch parties or music video watch parties or Q and A's is working for tons of artists to build bonds with their fans. And we always wanna be doing that and social media is pretty flooded right now and this is a more effective way to do it since everybody's home. The biggest problem with these things usually are that people aren't home at the same time.  Also discord chats are insanely hot right now and you can set those up for your fans or if you have no most no fans, make one for your local scene or your micro-genre and post them on Facebook groups or reddits about your genre or micro-genre and hang out with people and develop the community you should be developing. I also I feel like if you're gonna be great at TikTok you'd already be on there but for some reason you think be great at TikTok and you're not already there, it's surging right now so get over there and do that as soon as possible. Which leads me to what I would be doing there in this time. In a previous video linked below in the description and here on a card in this video I talk about how I build community and all the people I reach out to whenever I release a new song. If you're gonna wait to release your music you can ensure it goes way further and do simple work each day to find all the people you should be getting your music out to. This is the most effective practice you can do to make sure that this time is spent wisely and effective and we'll make it so when you come out of this it can be way bigger. Lastly I should say for those of you in musical groups that are separated from one another I just made a video about how to do this time effectively that's linked here as well with your band mates and without them. Let's remember science and the early every big songwriting team these days shows working on improving ideas on your own is more effective than doing it with a group all the time. Past ideas back and forth between computers get on FaceTime discuss ideas but you don't need to be in the same room to get things done. Take this time to work on your songs get better at what you're weak at. For many of us being forced to be alone can give us the time to do amazing things right now so take advantage of it and use the hub and spoke method that I talk about in this video. So to British things out the short answer is if you're unsure about releasing your song right now use this time effectively by finding targets and building up your community and doing other things to bond with fans. Work on your music and make sure that this time sets you up for a better future and don't get depressed and wow in it. I hope you all keep your heads up and stay healthy through this best of luck. That's it am I missing anything? Is there any way you would have done this? I need to know your questions and what no one else is telling you since I want to answer them so leave them in the comments. I hope you liked this video and if you did please like and subscribe and get notified for my future videos since I'm gonna be breaking down the concepts in this video along with tons of others on promoting your music and how to make music you're more happy with. As well, I have a Facebook group that's linked below that has only helpful information. No one tried to sell you anything, playlist or con artist only helpful information for musicians looking to be better themselves. If you want to learn more about me make a record with me or check out any of my books, podcasts or anything else I do head to jessecanon.com or at jessecanon.com on any of the socials. Thanks for watching. One last thing, if you liked this video there's two playlists here with tons more videos that you'll probably enjoy. One's about how you promote your music and the other's about how you make songs you're happy with.  Thanks so much for watching.