We're back at Veeamon 2022. We're here at the Aria in Las Vegas, Dave Vellante with David Nicholson. Bill Andrews is here, he's the President and CEO of Exigrid, MassBoy. Bill, thanks for coming on theCUBE. Thanks for having me. So hearing a lot about obviously data protection, cyber resiliency, what's the big picture trends that you're seeing when you talk to customers? Well I think clearly we were talking just a few minutes ago, data is growing like crazy. Right this morning I think they said it was 28% growth a year, right? So data is doubling almost just a little less than every three years. And then you get the attacks on the data which was the keynote speech this morning as well, right all about the ransomware attacks. So we've got more and more data and that data is more and more under attack. So I think those are the two big themes. So Exigrid's a company we've been around for a long time, you've kind of been the steady kind of eddy if you will. Tell us about Exigrid, maybe share with us some of the differentiators that you share with customers.  You come back that up to disk. So some primary storage disk from a Dell or you'll pack it or an ad app or somebody. Or you're going to back it up to what's called an inline deduplication appliance. Maybe a Dell, Data Domain or an HPE store once, right? So what Exigrid does is we've taken the best of both those but not the challenges of both those and put them together. So with disk you're going to get fast backups and fast restores but because in backup you keep weeklies, monthlies, yearly retention, the cost of this becomes exorbitant. If you go to a deduplication appliance, so let's say the Dell or the HPEs, the data comes in, has to be deduplicated. Compare one backup to the next to reduce that storage which lowers the cost, so it fixes that problem. But the fact that they do it inline slows the backup down dramatically. All the data is deduplicated so the restores are slow and then the backup but no keeps growing as the data grows because they're all scale up technologies. Restores are slow because you've got to rehydrate. You've got to rehydrate every time. So what we did is we said you've got to have both. So our appliances have a front end disk cache landing zone. So you're right directly to disk. Nothing else happens to it. Whatever speed the backup app can write at, that's the speed we take it in at. And then we keep the most recent backups in that landing zone ready to go. So you want a boot of EM, it's not an OWL like a deduplication appliance, it's a minute or two. Secondly, we then deduplicate the data into a second tier which is a repository tier where we have all the deduplicated data for the long-term retention which gets the cost down. And on top of that we're scale out. Every appliance has networking, processor, memory end disk. So if you double, triple quadruple the data, you double, triple quadruple everything. And if the backup window is six hours at 100 terabyte, it's six hours at 200 terabyte, 500 terabyte of petabyte doesn't matter. Because you scale out. Right. And then lastly, our repository tier is non-network facing. We're the only ones in the industry with this. So that under a ransomware attack, if you get hold of a rogue server, or you hack the media server, get to the backup storage, whether it's disk or a deduplication appliance, you can wipe out all the backup data. So you have nothing to recover from. Right. In our case, you wipe it out, our landing zone will be wiped out. We're no different than anything else it's network facing. However, the only thing that talks to our repository tier is our object code. And we've set up security policies as to how long before you want us to delete data, let's say 10 days. So if you have an attack on Monday, that data doesn't get deleted until a week from Thursday, let's say. So you can freeze the system at any time and do restores. And then we have immutable data objects and all the other stuff. But the combination of a non-network facing tier and the fact that we do the delayed deletes makes us the only one in the industry that can actually truly recover. And that's accelerating our growth, of course. Great description. So that disk cache layer is a memory? It's a flash? It's disk. It's spinning disk. It's spinning disk. No different than any other disk. And then the tiered is what's less expensive spinning disk? No, it's still the same. It's all SAS disk, because you want the quality. So it's all SAS. And so we use Western Digital or CGA drives, just like everybody else. The difference is that we're not doing any deduplication coming in or out of that landing zone. They have fast backups and fast restores. So think of it like this. You've got disk and you say, boy, it's too expensive. What I really want to do then is put maybe deduplication appliance behind it to lower the cost. Or reverse it. I've got a deduplication appliance. It's too slow for backers and restores. I really want to throw disk in front of it to have fast backups first. Basically, that's what we did. So where does the cost savings bill come in, though, on the tier? The cost savings comes in the fact that we've got deduplication in that repository. So only the most recent backup data. But let's say you had 40 copies of retention. 10-week lease, 36-month lease, a few-year lease, all of that's deduplicated. OK, so you're deduping the stuff that's not as current. And only a handful of us deduplicate at the layer we do. In other words, deduplication can be anywhere from 2 to 1 up to 50 to 1. It's all over the place, depending on the algorithm. Now, it's what everybody's algorithms do. Some backup apps do 2 to 1. Some do 5 to 1. We do 20 to 1 as much as 50 to 1, depending on the data types. Yeah, so the workload is going to largely determine that in combination with the algos. The content type. So the part of the environment that's behind the logical air gap, if you will, is dedupt data. Yes. So in this case, is it fair to say that you're trading a positive economic value for a little bit longer restore from that environment? No, because if you think about backup, 95% of the customers' restores are from the most recent. From the disk cache. 95% of the time. Because if you think about why do you need fast restores? Somebody deleted a file. Somebody overwrote a file. They've come to work. They can't open a file. It's encrypted. It's corrupted. That's what IT people are trying to keep users productive. When do you go for log or term retention data? It's an SEC audit. It's a HIPAA audit. It's a legal discovery. You don't need that data right away. You have days and weeks to get that ready for that legal discovery of that audit. So we found that boundary where you keep users productive by keeping the most recent data in the disk cache landing zone. But anything that's long-term, and by the way, everyone else is long-term at that point. Yeah, so the economics are comparable to the Ddupe upfront. Are they better? Obviously, you get the performance advantage. So we will be a lot. The thing we replace the most, believe it or not, is disk. We're a lot less expensive in the disk. I was meeting with some VM folks this morning, and we were up against Cisco 3260 disk at a children's hospital, and our quote was $500,000. The disk was $1.4 million. Just to give you an example of the savings. On a data domain, we're typically about half the price of a data domain. Really? No. The reason why is their front-end control are so expensive. They need the fastest chip on the planet because they're trying to do in-line duplication. So they're chasing the chips all the time. They need SSD on it to move out of the hash table. In order to keep up with in-line, they've got to throw so much compute at it that it drives their cost up. But now, in the case of ransomware attack, are you saying that the landing zone is still available for recovery in some circumstances? Or are you expecting that that disk landing zone would be encrypted by the attacker? Those are two different things. One is deletion, one's encryption. So let's do the first scenario. The first scenario is? I'm talking about malicious encryption. Absolutely. So the first scenario is the threat actor encrypts all your primary data. What's your go for next? The backup data. Because he knows that's your balance of spend is to not pay the ransom. If it's disk, he's going to go in and put delete commands at the disk, wipe out the disk. If it's a data domain or he still wants it, it's all going to be gone because it's one tier. He's going to go after our landing zone. It's going to be gone too. It's going to wipe out our landing zone. Except behind that, we have the most recent backup deduplicated in the repository, as well as all the other backups. So what will happen is they'll freeze the system because we weren't going to delete anything in the repository for X days because you set up a policy. And then you restore the most recent backup into the landing zone, or you can restore it directly to your primary storage area. Because that tier is not network facing, it's fenced off, essentially. People call us every day of the week saying, you saved me. You saved me again. People coming up to me here, you saved me. Tell us a story about that. I mean, I don't have to name names, but how's that? I'll actually do a funnier story, because these are the ones that our vendors like to tell, because I'm self-serving as the CEO of Exigrate, of course. It's your 15 minutes job. Yeah, my 15 minutes of fame. So we had one international company who had one Exigrate at one location, 19 data domains at the other locations. We ran some more attack. Guess what? 19 data domains wiped out the one Exigrate, the only place they could restore. So now all 20 locations, of course, are Exigrates. China, Russia, Mexico, Germany, US, et cetera. They rolled us out worldwide. So it's very common for that to occur. And think about why that is. Everyone who's network facing, you can get to the storage. You can say, well, the media servers are buttoned up, but I can find a rogue server and snake my way over to storage. I can. Now we also, of course, support the Veeam Data Mover. So let's talk about that since we're at a Veeam conference. We were the first company to ever integrate the Veeam Data Movement. So we were the first actually ever integration with Veeam. And so that Veeam Data Mover is a protocol that goes from Veeam to the Exigrate. And we run it on both ends. So that's a more secure protocol, because it's not an open format protocol like SIFS. So with running the Veeam Data Mover, we get about 30% more performance. But you do have a more secure protocol layer. So if you don't get through Veeam, but you get through the protocol, boom, we've got a stronger protocol. If you make it through that somehow, or you get to it from a rogue server somewhere else, we still have the repository. So we have all these layers so that you can't get at it. So you guys have been at this for a while, I mean decade and a half, plus. And you've raised a fair amount of money, but in today's terms, not really. So you just had really strong growth, sequential growth, I understand it, and double digit growth year on year. Yeah, about 25% a year right now. 25%. What's your global strategy? So we have sales offices in about 30 countries already. So we have three sales teams in Brazil, and three in Germany, and three in the UK, and two in France, and a lot of individual countries. Chile, Argentina, Colombia, Mexico, South Africa, Saudi, Czech Republic, Poland, Dubai, Hong Kong, Australia, Singapore, et cetera. We've just added two sales territories in Japan, we're adding two in India, and we're installed at over 50 countries. So we've been international all along the way. The goal of the company is we're growing nicely, we have not raised money in almost 10 years. So you're self-funding. We are cash positive and self-funded, and people say, hi, we've done that for 10 years. You know what's interesting is, I remember Dave Scott, Dave Scott was the CEO of 3Par, and he told me when he came into that job, he told the VCs, they wanted to give him 30 million, he said, I need 80 million, I think he might have raised closer to 100, which is right around what you guys have raised, but like you said, you haven't raised it in a long time. And in today's terms, that's nothing, right? 100's, 500 in today's terms. Yeah, right, exactly. And so the thing that really hurt 3Par, they were public companies, so you could see all this stuff, is they couldn't expand internationally. It was just too damn expensive to set up the channels, and somehow you guys have figured that out. 40% of our business comes out of international, we're growing faster internationally, we are domestically. What was the formula there, Bill? Was that just slow and steady? No, so what we did, we said let's build Exegrid like a McDonald's franchise. Nobody's ever done that before in high tech. So what does that mean? That means you have to have the same product worldwide. You have to have the same spares model worldwide. You have to have the same support model worldwide. So we early on built the installation so we do 100% of our installs remotely. 100% of our support remotely, yet we're in large enterprises. Customer racks and stack stay appliances, we get on with them, we do the entire install in 30 minutes to about three hours. And we've been developing that into the product since day one. So we can remotely install anywhere in the world. We can have spares depots all over the world, we can bring them up really quick. Our support model is we have in theater support people, so they're in Europe, they're in APAC, they're in the US, et cetera. And we assign customers to the support people so they deal with the same support person all the time. So everything is scalable. So right now we're gonna open up India. It's the same way we've opened up here every other country. Once you've got the McDonald's formula, we just stamp it all over the world. Same pricing, same product, same model, same everything. So what was the inspiration for that? I mean, you've done this since day one, which is what, like 15, 16 years ago? So our whole thought was, first of all, you can't survive anymore in this world without being an international company.  We have companies now that have 17, 18, 20, 30 locations and they're in every country in the world. You can't go into this business without being able to ship anywhere in the world and support it for a single customer. You're not going into Singapore because of that. You're going into Singapore because some company in Germany has offices in the US, Mexico, Singapore, and Australia. You have to be international. It's a must now. So that was the initial thing, is that our goals become a billion dollar company and we're on path to do that. You can see a billion. Well, I can absolutely see a billion. And we're bigger than everybody thinks. Everybody guesses our revenue, always guesses low. So we're bigger than you think. The reason why we don't talk about it is we don't need to. That's the headline for our writers. Exegrid's a billion dollar company. A billion dollar company. Oh, it's way to billion. That's right. Not disclosing. But that's awesome. I mean, that's a great story.  Well, I don't know if it's a well-kept secret. Smaller companies never have the awareness of big companies, right? The dels of the world are 100 billion, IBM 70 billion, Cisco 60 billion. Easy to have awareness, right? If you're under a billion, I'll give you a funny story then. I think we've got to close out here. So this is a funny story. So I was talking to the CIO of a super-large 4 to 500 company. And I said to him, just so who do you use? I use IBM DB2, and I use Cisco routers, and I use EMC, primary storage, et cetera. And I said, would you ever switch from DB2? Oh no, the switching cost would kill me. I could never go to Oracle. You know, would you ever, so I said to him, look, would you ever use a pure storage, right? A couple billion dollar company. He says, who? Interesting. I said to him, all right, so skip that. I said, VMware, would you ever think about going with Nutanix? Who? Those are billion dollar plus companies, and he was saying who. Public companies. And he was saying who. That's not uncommon when I talk to CIOs. They see the big 30, and that's it. That's interesting. What about your partnership with Veeam? Tell us more about that. Yeah, so I would actually, and I'm going to be bold when I say this because I think you can ask anybody here at the conference. We're probably closer, first of all, to the Veeam sales force than any company there is. You talk to any Veeam sales rep, they work closer with Exigrate than any other. Really? Yeah, we are very tight in the field and have been for a long time. We're integrated with the Veeam data boomer. We're integrated with Sobo. We're integrated with all the integrations with the product as well. We have a lot of joint customers. We actually do a lot of selling together where we go in as Veeam, Exigrate, because it's a great end-to-end story, especially when we're replacing, let's say, a Dell Avalmart, a Dell Data Domain, or a Dell Network, or a Dell Data Domain. Very common at Veeam, Exigrate, going together on those types of sales. So we do a lot of co-selling together. We constantly train their systems engineers around the world. Every given week we're training either inside sales teams or we've trained the customer support teams in Columbus and Prague. So we're very tight with them. We've been tight for over a decade. Is your headcount public? Can you share that with us? So we're just over 300 employees. Really? Wow. We have 70 open positions, so. Yeah, what are you looking for? Everything, right? We are looking for engineers. We are looking for customer support people. We're looking for marketing people. We're looking for inside sales people, field people. And we've been hiring, as of late, major count reps that just focus on the Fortune 500. So we've separated that out now. When you hire engineers, I mean, I think I saw you a long time ago, DG, right? Is that true? Yeah, way back in the 80s. With systems guys. Right, systems guy. I mean, I remember them well. Ed DeCastro and company. Tom West. The MV series. Tom West was the hero of ours. The MV4000, the MV20000, right? When we were kids, the Soul of the New Machine was the inspirational book. But anyway, are you looking for systems people? What kind of talent are you looking for in engineering? So it's a lot of Linux programming type stuff in the product, because we run on a Linux base. So it's a lot of Linux programs and it's people in those storage. Cool. Bill, hey, thanks for coming on theCUBE. Learned a lot. Great story. It was fun. Good luck. Thank you. Thank you for watching theCUBE's coverage of Veeamon 2022 Dave Vellante for Dave Nicholson. We'll be right back right after this short break. Stay with us.


In the Last Kingdom series 5, Scotland and its ruler Constantine are often referred to. Who was Constantine, however, and what was the real relationship between Scotland and the Anglo-Saxon kingdoms of the Last Kingdom universe? There were actually three rulers of ancient Scotland, known as the Kingdom of Alipar, who bore the name Constantine during the approximate period that the Last Kingdom is set in, mainly the 9th and 10th centuries AD. The first was Constantine MacCanada, who is sometimes referred to as Constantine the First, the King of the Pics from 862 to 877 AD. The second ruler was Constantine II, also known as Constantine MacAda, who ruled as King of Alipar for an astonishing 43 years, ruling from 900 to 943. Constantine III then ruled as King of Alipar from 995 to 997. All three kings were from the House of Alpin, a line of Scottish kings stemming from Kenneth MacAlpin, the first King of Alipar whose reign began in 843 AD. As this graphic of Scottish kings and houses shows, the House of Alpin depicted in yellow ruled Alipar for nearly 200 years and was replaced by the House of Dunkeld in around 1034. What Constantine is depicted in the Last Kingdom series 5 then? The likelihood is Constantine II, given that a major death takes place in 918 that correlates with the real historical timeline. As I don't want to spoil the show for you, I will refrain from going into any more detail. Given this death however, 918 is around the time that the Last Kingdom series 5 starts. Now we know what Constantine the show features. What was the relationship between Alipar and the Anglo-Saxon kingdoms of the Last Kingdom universe? The answer is many back and forth actions over the years, but I will highlight a few the now. A major incident in these relations was when King Athelstan of England invaded Scotland in 934 by land and sea. There is not a whole lot known about Athelstan's invasion of Scotland, but to return to England the same year as the invasion, although Constantine II did seem to accept his overlordship on some level, no doubt reluctantly however. For the record, King Athelstan was King of the Anglo-Saxons from 924 to 927, and the first King of the English from 927 until his death in 939. He united the various Anglo-Saxon kingdoms such as Wessex and Mercia into one, and he was the grandson of Alfred the Great, the Anglo-Saxon King from 886 to 889, and the son of Edward the Elder, King of the Anglo-Saxons from 899 to 924. Characters inspired by Alfred the Great and Edward the Elder feature prominently in the Last Kingdom series. In the 973, one of the most pivotal battles in Anglo-Saxon history took place at the Battle of Brunenbar. The location of the battle is unknown, perhaps somewhere in the north of England, but it pitied Athelstan, the King of England, against an alliance made up of three forces, Olaf Guthra's son, King of Dublin, Constantine II, King of Alipar, and Owen, King of Strathclyde.  Although the Last Kingdom is inspired by history in many ways, the show is still historical fiction, and some timelines, events and characters differ from the real history. Uhtred for instance, the main character in the show is based on Uhtred the Bald, a real person who was the elder man of Northumbria from 1006 to 1016. But many of Uhtred's storylines in the series are not straight from the history books, not that I have a problem with that. As we have seen, Constantine is another part of the series that draws inspiration from the real historical records. Thanks for watching, please subscribe and hit the bell to turn on notifications. You can also support this work through buymeacoffee.com and Patreon, all the links are in the description below.


for helping me write this paper. Well, we all wrote this paper together, of course. But anyway, on to the talk itself. What we're going to be talking about is characterizing certain security properties for a class of algorithms. So, up on the screen, you see two different linear crypt programs. It turns out that one of these two programs is collision-resistant, whereas the other program fails to even be second to preimage-resistant. And how do we tell the difference between these two? Well, that's what we're going to be talking about today. So, what are linear crypt programs? So, up on the screen, we can see an example of a linear crypt program. Well, linear crypt programs are a class of algorithms, or a model of computation introduced by Karma and Rosalek in 2016. They lend themselves to powerful analysis through algebraic terms such as span and linear independence. But what are we actually able to do in a linear crypt program? Well, we can actually take inputs to our functions. These are inputs from a field. Traditionally speaking, we can also sample randomly from the field. But in those cases, we're considering those random samples to actually be included in the inputs to the function. We can take field elements and send them through a random oracle to get new field elements outward. Often to make the association between the program and the random oracle explicit, we write pH. We can take our field elements that we get either from inputs or from queries to the random oracle, and we can use some sort of fixed linear combination. And by fixed, I mean fixed with the program to combine these field elements into new field elements. And finally, we can return any of these intermediate values that we get throughout the execution of the program out of the program. These include not only inputs or outputs from the program or outputs from the random oracle, but also linear combinations therein. So linear crypt lends itself to multiple models that actually reason about these programs. We have the more natural algorithmic view, which is just a sequence of operations that one would take to run a program. This may be the more natural way of thinking about it. We also have a graphical view in a DAG form. The reason that we don't have cycles are because of the calls to random oracles. And finally, we have the algebraic view, which is the more important view for our paper and for reasoning about the properties of course, it being an algebraic view. So previously, in Rosalek and Karma's work in 2016, they looked at when two random linear crypt programs are indistinguishable from each other in terms of their output. But what about collision resistance or second pre-image resistance for these type of algorithms? Well, as it turns out, all of both of these properties, not only collision resistance, can be characterized in terms of linear algebraic properties, as I said earlier, such as span and linear independence. And although our paper produces concrete bounds that are different between second pre-images and collisions as we'd expect, asymptotically speaking, the two are equivalent for these programs. So before we get into the nitty-gritty, what do we mean by second pre-images or collisions in linear crypt? Well, as it turns out, it's exactly as we'd expect from the natural constructions. Basically, given some output from a linear crypt program and the pre-image or the set of inputs that generate it, an adversary, or maybe not, gives us some different set of inputs or a different pre-image such that when we run it through the program, we get the same output So let's see what it looks like finding a collision or a second pre-image inside a linear crypt program. So before we run through this, I'm just going to say we have a special recipe for cooking up collisions in second pre-images that we're actually going to follow in this example. So first thing we're going to do, of course, is show the two sets of execution. On one side, we have the algorithmic run, and on the second side, we have a set of internal variables, the graphical run. So, since this is a collision or second pre-image, our outputs need to be the same between both of the runs. Because of this, V5, one of our outputs, needs to be the same in both runs. And due to the oracle constraints imposed by the query on V3, which gives us V5, since V5 is now fixed, V3 is now fixed. And because of that, V3, one of our input vectors, would be the same between both of the runs. Now, following our special recipe, we're going to choose V6 to be chosen arbitrarily but different between the two runs. Then, because of our oracle constraints, V7 needs to be different between the two runs, since the oracle constraint imposed by taking the oracle query of V6, giving us V7, means that the outputs need to be different between the two. Then, since we now know that V8, one of our output vectors, is the same between both runs, and we know what V7 is, V1 is now uniquely determined by the system, and we can solve backwards using linear algebra to determine V1 on both systems. And as it turns out, the V1 will be actually different between both of the executions because of how we chose V6 arbitrarily. Now, we've actually found one of our input vectors that is different between both runs. Finally, we can use the information that we have on V1 and V3 and V6, and some linear algebra to intelligently solve backwards for V2 in both of the runs. Now, what we have at this point is we have, by construction, different inputs to our linear script program that produce the same outputs or a collision. Now, the way that we've done this following our special recipe actually allows us to find second pre-images the exact same way. So, this is the general idea of what we did and a kind of outline for the recipe that we followed. We identified some set of oracle queries that were the same between both of the runs. We also identified some oracle query that was different between the runs. It's what we call our special oracle query. Then, using the information that we had, we solved backwards for all of the internal queries. And, incidentally, it turns out that we also solved backwards for all of our input vectors, which, like our oracle queries, can determine the entire system. Now, the algorithmic view or the graphical view may be more natural to look through. It's powerful, and it doesn't lend itself to algebraic analysis. So, we need to start easing ourselves into the algebraic representation of these linear crypt programs. So... Oh, it looks like that fall off. Okay. As we can see, we have the base variables highlighted. Now, what do I mean by base variables? Base variables are any variables in the run of a linear crypt program that either come in as input oracle query. All the other values inside of a linear crypt program are actually just linear combinations of these variables, so they're the ones that we actually want to keep track of. And, to separate the outputs of the linear crypt program from the rest of the system, we keep all of the outputs of the program inside of a new matrix called M. But there's something missing in this representation. There's some sort of internal structure that we don't end up capturing through this simple algebraic representation. And that is the relationship imposed by these oracle queries. That's why we have the full algebraic representation, which you can see on the right side of the screen with C and M. Now, M is just the same in both of our... in both of the examples. It just holds the outputs of our program. However, C is now a new matrix which represents the... not only the base vectors of our system that are important to us, but also represents the relationships imposed by oracle queries in our program. Turns out that this actually allows us to uniquely construct a linear crypt program. So, as I was saying, it helps represent the relationship between oracle queries. As we can see here, the first line of C shows us the relationship between v1 and v4. Now, what if we were given a... what if we were given a collision? We were given two inputs that generated the same output. Well, we can run these two in parallel side-by-side and see what kind of happens during the run. So, the first thing we can do is identify base variables shared between both of the programs. This can be done just by running through the programs themselves. Now, this isn't necessarily going to happen. We cannot be base variable shared, but if there are, we can identify them now. Finally, we can identify a base variable that is different. We're guaranteed to have a base variable inside the system that's different because the inputs of the... the inputs of this system are different, but the outputs are the same. Turns out that this... this base variable right here, the corresponding query, the inputs of that query must be linearly independent of the queries that we said otherwise, the output would have been uniquely determined to be the same in both runs. Finally, we can solve backwards using linear algebra until all of our queries are defined. But what might go wrong here? Now, what happens if we have this type of constraint where we expect v7 to not be fixed or we expect v6 to not be fixed? But it is. What if we... how do we get around this? Maybe if we had an order in which the oracle queries were set up, we could be able to forgo this problem. So this is where we get that special recipe coming in. So a collision structure is a... is one. A ordering of C or the ordering of the queries of the program and some sort of special query I, this... the special query that we start the chain reaction off of. As we said earlier, the inputs to I cannot be in the span of the queries before it or inside the total output. Otherwise, it would have been marked as green or marked as the same in both runs and we'd have to choose a different special query. Finally, to make sure that we don't get stuck at any point of the run, we impose this constraint on the collision structure. Now, this is the general form of the recipe that we saw at the beginning of the talk. But what if we made a small change? Well, it turns out that our collision structures are actually the special sauce that we were using to cook up these collisions or second pre-images. So really fast, here's a run. Without loss of generality, we can say that the attacker will make all queries inside both the original run and the second pre-image run, so we can have those set up in parallel. Which queries are the same between both runs? Well, all of our outputs are going to be the same between both runs. We can immediately mark those as green and everything that leads to those outputs directly, we can then work backwards from our green. So what is our special query here? Just following the run of the adversary. Well, it turns out that the first non-green query or the non-same query that the adversary makes in both the runs is our special query. Finally, we can use all this information we have to work backwards to determine all of our inputs and find our collision structure. So here's the conclusion. As it turns out, collision structures in a program the lack of collision resistance, the lack of pre-image resistance are equivalent, modular degeneracy of course, degenerate programs. So turns out that collisions, second pre-images and linear programs can be boiled down to algebraic terms such as span and linear independence. These properties of span and linear independence lend themselves to polynomial time algorithms. Actually, in our paper, we present a polynomial time algorithm for finding collision structures and arbitrary linear programs and now that we've shown that collision resistance, second pre-image resistance are equivalent, we can actually simplify our security parameters for these type of functions. So one thing I kind of skipped over a little bit is that all of our functions all of our, sorry, it's a linear program class we're looking at are ones with nonces basically given to each of the oracle queries. This is actually really important. On the top we have a collision resistant run and on the bottom we have a run that fails to be collision resistant. There's only differences that one has nonces and one doesn't. The reason being is that the attacker can intelligently choose inputs to the function y equals a call of the oracle on x which effectively expands the program's output and it turns out that determining these properties for these type of functions is actually NP-complete. Finally, this was in the random oracle model, however it should be easy to expand it into the ideal cipher model. Thank you. We have time for questions. So can you say how you deal with degenerate programs? Oh yes, of course. So degenerate programs are a special class of programs where one of the things I said earlier in the talk was that since we had different inputs and the same output, there must be some internal state that differs. Well, degenerate programs are the one thing that breaks that rule. Basically these programs are so simply terrible that they fall out of the scope of the collision structure a result. Basically, here's a good example. We have an oracle query on X with a linear combo with Y but as it turns out this actually gives us an entire space of collision inputs basically anything that I'm going to put heavy quotations around this sums to the same input to this oracle query. Are there any other questions? Okay, if not then let's thank the speaker again.


Hello, thank you for joining me. I'm standing amongst the mining equipment here at the Ape Del Heritage Centre as a diesel locomotive there and this rather unusual looking train here. This is what would occur of miners when they went down into the pit to where they were working. So Ape Del is located near Newcastle Underline, Stoke and Trent area. They've got a very good museum which is just behind me here. There's some all-torts about the area. Bricks, locomotives, just about everything. They do do tours down the mine, as you can see the drift mine down there. They're not doing that today. It's also home to the Moseley Rail Trust who run the Ape Del Valley narrow gauge railway, which is just here. Here's the railway station. More collier equipment and there was an ironworks here. The actual Ape Del colliery was further up. So where we are now, this is the site of the ironworks. There was a standard gauge north of Staffordshire Railway that came up here. It was a branch from the Stoke and Trent to Market Drayton line. Now here is the railway station. As you can see, there's a train waiting for us at the diesel locomotive and some carriages. So once they start running, we'll certainly have a ride on that. You can see a War Department train. They sometimes have World War II events where they recreate some of the trains you've seen down on the trenches in France. They have also got trenches here. They're not open today, so we won't be able to go down there today. But anyway, here's our diesel locomotive. So we're really looking forward to a trip behind this locomotive, which will take us further off down the track down there. What I'm going to do, as soon as we've got a bit of time to wait until the train comes, I'm going to follow the footpath, which follows the railway line down. And from there, we should be able to see the engine sheds and be able to see some of the locoes, hopefully the ones that were outside the sheds. I came here last year when they had their 40th anniversary gala, and that was a really good day. I think I had about 10 locoes for haulage. It was pretty impressive for quite a short railway. It's not the longest of heritage lines, but it's got a huge, huge collection, which is really nice. The area around here though is now all a country park. So what was once a very industrial area has kind of mostly gone back to nature. I'm going to go along the path up here to take the path that goes off, because that runs parallel to the railway. And so I'm hoping we're going to be able to see some of the locoes, some of the trains. So here, there really is so much history with all the railways that came up here and the ironworks, the colliers. I couldn't possibly go into it. It's just so much. I'm more of an explorer rather than a historian, but I'm just going to show you really what there is here today. So the main path goes up there. I'm going to go down here. Here we will run parallel to the railway. The trenches they've got are just over there in the field. It's also the other thing that's quite fun is going off down there, there's another railway, which they very, very rarely run pass into trains on. I had a ride last year at their 45th anniversary garter. So there's the station where we were a moment ago. Here's the railway line. So I'm just going to follow the track down. I can already see up ahead of us. There's loads of locoes outside the shed, which is great. In fact it looks like most of the locoes are outside the shed, which is obviously even better. So I'm going to be able to show you quite a few locoes. Interesting. That looks like the frames and a cab of a diesel loco. I can see steam and diesel. Look at this ahead of us here. This is really quite exciting. So what have we got? We've got a simplex diesel loco. Admittedly my knowledge of industrial locoes isn't quite the same as mainline loco. So I'm not sure of every type, but that's definitely a simplex. There's a steam loco called Tattoo. There's her saddle tank there on a wagon. We've got a motor rail diesel loco. Not sure about that one. A Ruston diesel loco. Interesting diesel loco there. LR2573. Another one that's called number five. That one's the simplex number 13. I think it says Alan Keith on it. That's probably a later loco, probably built for working in collars. Maybe it was just overhauled by Alan Keith. I'm not sure if you know. Comment and tell me. And then we move on to our steam locoes. Here we have Joffy, quite a famous loco for the area. Big steam loco for narrow gauge where it looks big compared to some of the diesel locoes in this one. This egg girl. I believe that was built in France. And then what have we got here? That was built in Leeds. That one. Admittedly I just read that off there. A few more diesels. There's a sham steam loco over there. That must have been built maybe for... I don't think it's one of the Alton Towers one, but one for a theme park. And then my favourite loco they have here. This one here. This Huntsley number 303. It's probably one of the biggest two foot gauge locos I've ever been on. So what I'm going to do now, I'm going to walk back to the station and have a ride up and down the railway. And then when I've had a ride on the railway, I'm going to go for a walk. And my plan is to show you... I'll show you the station at the other end, show you where they intend to extend the railway. So let's go back to the railway station. This is Ape Del Road station. This is the current end of the Ape Del Valley railway. You can just see the buffers up there, but there are plans to extend the line further across the road up here and on through the country park. There's a couple of things I want to show you while I'm here. I'm just writing the rabbit. So current end of the line as we saw on the journey. I filmed the whole journey going back from Ape Del Road back to the other end. The track currently ends here. You can see the buffer stops. Now, I did mention earlier about there being a North Staffordshire railway line that came up here from the Stoke-on-Trent to Market Drayton line, Standard Gage line. Well, have a look here. Here we have a section of surviving track of the old North Staffordshire line. So eventually, the narrow gauge line will continue across this road and continue on up this path. Well, I'm going to go for a walk now. I'm just going to, now I've had a ride on the trains. I'm going to go for a big long walk all around the country park for about four or five miles and see what else. But I'm going to leave the video here. So I hope you enjoyed this video. Thank you very much for watching. I had a great time here. The volunteers were all very friendly. So, you know, do come and visit the Ape Del Valley Railway. It's a lovely railway. The Heritage Centre next door is also worth a visit. It's got some very interesting exhibits. A few more diesel locos. To be honest, I've never ever seen anywhere. There's so many locos. I think here, there must be more than 50 locos. I've seen so many diesel locos today. It really is a great place if you like local locos. And if you're not so interested in railways, but you just like to have a ride on the train, come here, have a ride on the train. And then when you finish, you can go for a walk like I'm going to in the Ape Del Country Park. So from the Ape Del Country Park, thank you very much for watching. Please do feel free to like, subscribe, comment. Thank you very much. Goodbye.


I know I was wrong on the rain yesterday yesterday's vlog go check that out I did not call it right, but I am looking west and it does not look good So I got to get the lawn mowed. Hey as soon as possible.  I got I got And it's raining down I'm stuck in traffic I was just building a table at my house for the guests tonight coming over love you guys But I just got a text message from bud. You guys know bud. He's the Fella that sent me beef jerky a couple weeks ago. Oh, thank you bud for the beef jerky But he just he just text me telling me that Paul Sorry Logan Paul not Paul Logan Logan Paul who I follow occasionally on YouTube. He just planted a $1,000 in downtown Denver I know exactly where the money's at I know exactly where it's at the video supposedly went live probably about 20 minutes ago Maybe maybe 30 minutes ago now. I just parked illegally. I just parked illegally. I'm running. I'm running Somebody found it No, I was a little scary Love pulled up true love just pulled up with the food and drinks. Let's see her reaction to the table You wanna come look? Doesn't that look good? It's huge. It has both leaves in right now. Isn't it good? Isn't that nice? Oh my god, right? On his How did we get it? Yeah, I hope you guys are hungry. I know we are We've been saving up pinching pennies for outdoor speakers probably for like three years Literally so last night we got an email from one of the party attendees Asking if the party was on and I wrote back rain or shine, baby We are gonna do it and then at 2 p.m. Today. You saw the clouds It was nasty and I almost called true love and said we got a we got to call it. We got to call it The heavens are opening have faith everybody the heavens are opening.  I submit that it does not. Oh my my this is why I mow the yard and water and plant grass seed this right here giraffe giraffe He wants his giraffe. Where's your giraffe? Brandon Alex We love you guys and we invited you over to christen the patio like this is this is a big moment Thank you. Thank you.  Sorry about that Sorry, we didn't warn you about that. So we're just gonna keep Seeking beauty together working hard together loving each other having patio dinners together. This is the first of many Just great. So love you all So Brandon what uh, what do you got attached to your shirt there? Oh, that's my soother


One of the reasons that Donald Trump gives for slapping new protectionist tariffs on steel and aluminum is that it will create manufacturing jobs and, by extension, greatly enhance income growth and standards of living in the United States. Trump is capitalizing on an enduring myth of American economic history, in which it is believed that declines in manufacturing jobs are necessarily accompanied by drops in standards of living as well. Hello, this is Ryan McMacon, and you're listening to Radio Rothbard. What is often forgotten, however, is that manufacturing jobs, in proportion to the population overall, dropped significantly from the end of World War II through the 1950s and 60s, and yet, during this time, real median incomes in the United States increased. Income stagnated somewhat during the 1970s, but then grew substantially again during the 1980s and 1990s, and of course, during the 80s and 90s, manufacturing jobs continued a fast downward slide. In other words, it is not at all clear that falling manufacturing jobs lead to falling incomes or falling standards of living. Now pointing out some correlations, or lack thereof, in the data doesn't prove that manufacturing jobs have no connection at all to incomes and wealth. To understand that, we need good economic theory, and on this point, sound economics is clear. Higher taxes, i.e. tariffs, are not the way to economic growth, even if they protect manufacturing jobs. But when these economic arguments are made, proponents of high tariffs say, we don't need your economics because history proves that manufacturing jobs are necessary for solid economic growth. And then, they look to specific examples, such as the withering of the rust belt, to make their point. But when we look at a more complete picture, it appears that history proves no such thing. When we talk about manufacturing jobs, though, it's important to note that we're not necessarily talking about manufacturing output. It's entirely possible for manufacturing output to increase even while manufacturing jobs are falling. This should be obvious, of course, to anyone familiar with the history of agriculture in the United States. In the 18th century, nearly all Americans were involved in the production of agricultural products. By 2008, only 2% of Americans worked in the agriculture sector, even though American agricultural output is now many times larger than what it was in the 19th century, or even during the mid 20th century. Similarly, if we look at manufacturing and industrial output, firms in the United States produce far more today than they did during the mid 20th century, which was allegedly the good old days of manufacturing. Although manufacturing jobs per capita declined again and again throughout the late 1960s, the 1970s, and the 80s and 90s, we see actual manufacturing and industrial output increasing. Indeed, the continued growth of manufacturing and industrial production with industrial output, including mining and energy production, shows that the old saw of we don't make things in America anymore, is simply a false statement. Firms in the United States are making things and making things of higher value than was the case in the past. What is different now is that fewer and fewer human beings are necessary to make these things. All things being equal, more output per person means more productivity and less expensive goods for the consumer. This in turn leads to rising real incomes. Now, as I've noted in the past at Mises.org, we do start to encounter problems with real incomes in the United States after 2001. Even if we look at three different measures of median incomes, we do see that median income stagnated from 2001 to 2015. It's only been in the last two or three years that we've finally begun to see median income surpass where they reached in 2007 before the last financial crisis. It took more than eight years for incomes to recover after that last boom. It would be supremely simplistic, however, to look at this malaise in income since 2001, then declare that the answer must lie in ginning up manufacturing employment. Things become especially dangerous once policymakers begin turning to government interventions to increase manufacturing employment in order to make America great again. But this is what we're now facing from the Trump administration. The White House has legally justified the tariff increase on national security because that's how the president can get away with imposing new taxes via executive order. However, the administration relies on public misperceptions about the history of manufacturing jobs and incomes in order to enhance political support for the move. In practice, though, the central premise of the tariff strategy is based on increasing the cost of doing business in the United States while increasing the cost of living. By raising tariffs on steel and aluminum, the administration is creating new hurdles for most firms seeking to increase industrial and manufacturing output. This is true because only a tiny portion of firms and workers actually benefit from tariffs. The overwhelming majority of workers are in industries that benefit from lower priced steel and aluminum. According to studies conducted in the wake of the George W. Bush administration's steel tariffs, it appears that tariff policy is more likely to hurt manufacturing than help it. Through press releases from the White House and its friends, we will no doubt hear about the small handful of firms that benefit from tariffs. But we may not hear anything from the firms that scale back employment or output as a result of higher costs. Thank you for listening to Radio Rothbard. More information about the data used in this article can be found at the written version of the article, which is linked in the description. Have a wonderful day. For more content like this, visit Mises.org.


Hey guys, sorry about the weird camera angle. Hang on. I think that's slightly better. Anyway, I got asked quite a few times last night after I posted to social media creating these eco prints. I've actually done this process before in one of the moving diaries of vlogs. I will link the particular vlog in the description below. And I referenced in that vlog that I watched a video on how to do this. And her video is linked in the description. I'll give you, I do recommend you go watch it, but I will tell you what I am doing and how I got this. So in our neighborhood, we have a few neighbors who have these bright pink blooms. I don't know what kind of flower these are. If you know, let me know. I have no idea. I'll put a picture of the bush like right about here somewhere. So I have started taking a Ziploc bag with me when we go walking and I fill it up, stick it in the fridge for a day or two, and then I make eco prints with it. So I have three bottles here. One is coffee and water. One is alum and water, powdered alum, which you can get in the spice section of the grocery store. I'll get my can in just a second. And then this one is white vinegar and water. I spray, let me lift this up. I spray the bottom layer of muslin. This is just cotton muslin with all three of these.  I have a board here, a pressing board. This is a Teflon pressing sheet, and then I have another pressing sheet. And then I use a really big iron to just press the flowers into the fabric. This is the powdered alum. I just picked it up at the spice section of my local Fred Meyer. They're owned by Kroger, just FYI, so if you have a Kroger near you. So yeah, you can find it in the spice department. If I'm not mistaken, the alum helps set the dye from the foliage, flowers, nature items. The vinegar helps release the dye and the coffee just adds extra light distress. I think, I'm no expert, so I could be completely wrong on all of those, but I think if I remember correctly, I haven't watched her video in a long time and I haven't really watched it, but I think that's what it is. Not sure again. So somebody correct me if I'm wrong, put something in the comments below. Okay, now you can do this with a household iron, and I think in her original video, she does do that in my original video I do too, but after I filmed the original video, I saved up a little money and I got myself one of these big cricket press things. I don't remember what it's called. I'll link it though below. I think I did get it on Amazon and it is much easier with this. You don't have to have it, but you can. The nice thing about this is it has a temperature setting and a timer and literally, you have it set at 335 degrees for 30 seconds. So literally the first time I push down, which crushes the flowers into the fabric from both directions because I have the board under there. My pieces of fabric are about, I don't know, nine by 12-ish, eight and a half by 11-ish, and I've got two to four flowers. Okay, so then when the timer goes off, I move it, set it again. You'll notice I also have this blue absorbent chamois thing underneath because it does get kind of wet and drippy and I don't want the water to go anywhere, everywhere. I want it to try to contain the mess. But you're heating up the wet foliage and crushing it and releasing the dye from the flowers into the fabric. And I do this about, I don't know, eight or 10 times per set of flowers in fabric. So I'm going to do that and I'll be back. Okay, once I do that a few times on one side, then I try to carefully, without splattering the hot liquid all over myself, to flip it over. And this is why you have the absorbent cloth or a rag or something on there. Okay, and then we're going to do the other side. Okay, so personally, when I do this, one of the reasons I add the coffee is I like to do it until we get some of this brown staining along with the pink. I find that more interesting. Once I have that on one or both sides, then I'm happy. So I'm going to flip it over now and try to get that on the other side. I'm going to actually put some paper in here to absorb some of that. I'll just use cheap drawing paper from the dollar store. I usually have a big stash of it. Now we're going to do the other side and hope that we can get some of that brown staining on the other side. Okay, this is what I'm talking about. I love the way this is looking. I love the staining that's going on with a bit of brown. I love that. So I, and I found that you don't get this brown staining without adding the coffee, whether it's a burning issue that goes on because of the coffee or it's just staining because of the coffee pool. I don't know. But if you don't add the coffee, I, when I'm doing this, I don't get that. So that's why I add the coffee. It's still really, really wet. And although I can keep going and drying it with the iron, it's better if I let it sit for a bit and drip off. So I'm going to take it with the paper that's on the bottom, transfer it to this cookie sheet with a rack on it. These are all from the dollar store. I'm going to put it on a drying rack and set it aside. And we're going to do it again.  I'll be back. Okay. Now to clean your Teflon pressing sheets. You don't have to clean them. If you're just going to use it for ego dying, you might want to just leave them dirty. I use them for all kinds of things. So the best thing to do is use some iron off, which is meant for cleaning the bottoms of your non-stick irons and getting crud off.  And it just comes right off. This is a non-stick sheet. So first of all, it's not going to really stick very well. And if you get any of the staining on the bottom of your iron, it will also get it off the iron. It's best to do while the iron is still warm. Of course, using old caution, follow the directions on the iron off. You can get the iron off at your local fabric shops. Probably any place that sells sewing notions and tools probably has it. Right now, of course, you're going to have to go to Amazon or someplace else online to get it. I always have some around. So then I'm going to just take some water and a rag and write the residue off. Look at that. And then all of the rags and everything just go in the laundry. While I'm doing this, my fabric is sort of dripping off and drying a little bit. I'm not going to let it dry completely before I'm going to get in there and separate the sheets. See, there you go. It's not perfectly clean, but it's more clean. I'm not going to let it dry completely before I get in there and separate the sheets and take the organic matter out. The flowers and finish drying off the fabric with the iron. I'm going to show you what the results of those are in a minute. I'm going to finish cleaning my sheets. I have a few leftover flowers, so I have an idea for that. So we're going to take care of that too. I'll be right back there. These are two cookie sheets sandwiched together with some weights on top. Yesterday, I haven't peeked at this. This is the first time I'm looking at this. So yesterday when I was done, things were still damp, but almost dry. I was pulling all the fabric apart, pulling the flowers out and putting them between more of the drawing paper. Some of the paper that I had put under the fabric, like you saw me just do, I used that as one sheet and then put the flowers down and then put a clean sheet on top of it, then put some more flowers and put another sheet. You get the idea. I did a big like sort of flower paper sandwich. I sandwiched it between two cookie sheets and then just let it dry overnight. So ooh, it's still a little wet. Look at that. So I'm going to throw the flowers actually in the Ziploc bag because I actually have an idea and I don't know that these flowers are going to help at all, but they're still damp actually. So you can get some interesting eco-printed paper too out of this if you do it right. This is one of the sheets I used as a blotter sheet, like I showed you earlier underneath the fabric and then I put it in here with more flowers. That one's cool. So you can do that with the sheets. Also, I'll be saving these two cookie sheets because when we take the other fabric apart to dry it, I'll be doing the same thing. These are pretty cool. All right, so now while the fabric is drying a little bit and getting a little less damp, I'm going to take my bag of flowers that I have left and a pot that I have up here that I got from the thrift shop a long time ago with the intention of doing this.  Get a just thrift store $2 pot to do this, okay? So I'm going to meet you in the kitchen and I'll be right back. Okay, we're downstairs in my kitchen and before I get started with what we're going to do here, I need to do the breakfast dishes. So let me get that done. Okay, I need to run the dishwasher, but first we're going to get this going. So I have a pot, a strainer, and a spoon. These are all used for art projects only. These are not things used ever for food. Do not do that. Have special things you've set aside. You've maybe picked up the thrift shop that you never, ever, ever, ever, ever cook food in it. So I'm going to put that again. So do not use any implements you cook food in for doing something like this. It's a super bad idea. Okay. So this is disclaimers and warnings. Okay, so we're going to take all of our leftover flowers and the ones that were sort of still moist from the paper. I'm going to dump them in the pot. I don't know for sure what's going to happen, but I've done this with other stuff before. Like avocado seeds and skins, onions. We're going to see if it'll make some ink. It did stir pretty bright fuchsia-y purple-y color in the fabric. I'm kind of wondering what it would do if we boil the flowers, which is what we're going to do. So I've got a lot of windows open to mitigate the fumes. Any fumes that might happen, I'm going to cover the flowers with water, and I'm going to let them boil for at least 30 minutes and I will be back. So I wanted to show you all that it's really coming along nicely. It's been about 30 minutes. You can see, if I push the flowers aside, how pink the water is getting, which is perfect. I'm not going to take the flowers out, but I am going to set it on a low and slow boil for another 30 minutes or so. I really want it to evaporate some of the water. You can hear I have the vent fan on. Of course, I've got all the windows open and stuff like that. I may end up boiling it for a couple hours to really evaporate some of the water. We'll see what happens. I will let you know. I'll be back. Okay guys, so now it's been a little bit. I ate some lunch, got the flowers boiling downstairs. I'm going to plug the iron back in. Our paper and fabric, while still damp, is not completely stopping wet anymore. So we're going to start pulling it apart and setting up things to do some more eco-dyed paper. So I'm going to show you that whole process. We're also at the same time going to dry the fabric by ironing it flat. So I'm going to show you that whole process. I'm going to speed through it and I'll be right back. Okay, I'm not sure you could see what I did here because I think I was slightly off-camera. But I have two cookie sheets here. Let me see if I can lift this up without anything sticking. Okay. And as I was pulling the fabric and flowers apart, I took the paper that was sandwiched with the flowers and fabric and put it on the bottom. Then I put the still damp flowers. Can you see that on that paper? Fresh piece of paper, more still damp flowers, more paper that was already under the fabric, more still damp flowers, fresh piece of paper. And I just did a sandwich, paper flower sandwich. Flowers are still damp. I didn't spray it with anything. Put another cookie sheet on top. They're the same size. They're a little warped. They're from the dollar store. Some weights. And I'm just going to leave this overnight. That's what I did before. I did it before we got these sort of bonus papers. And these were with just a few flowers. I didn't have as many flowers as I had this time because I wasn't sure it was going to work. And this time, obviously, it did work. So I went and got a bunch more flowers. These are the fabrics. You could use either side for journal making, slow stitching, a lot of different things. I love this right here. So between yesterday and today, these are all the fabrics that I've done. And I've got the ink boiling downstairs. Pretty cool, huh? So now I have a nice selection of fabric. I'm hoping the ink turns out. So we'll see what happens. And I will be right back with that and show you how I finish up that. Oh, I will say one more thing.  Follow the instructions and it'll take all of this off. I'm going to do that right now. Okay, we're going to let it cool because it's really hot right now. And then we're going to strain off the flowers and put all of the liquid or homemade dye into this plastic container once it's cool. And it is a pretty sort of pink, light pink color at the moment. We'll see what it looks like when it's cool. I'm going to let the flowers steep in there while it is cooling. So in the meantime, I'm going to go feed my sourdough starter. So all right, I'll be back. Okay, I did finally google it and I was right. So alum is a fixative to fix the dye and make it permanent. Distilled white vinegar can do similar things. And also, in my opinion, helps bring the color out. Now, while I didn't put these in when I was boiling the flowers, I probably could have put one of them in. I wouldn't necessarily put both because I don't know what that would do together. You shouldn't really mix vinegar with too many things because you don't want to create something toxic. But that being said, I'm going to add a little bit of alum to the dye now that it's been created. That's going to take way too long. Let's try the other side. Oh yeah. And I will put a little bit of vinegar. I wouldn't do this over the stove and cook it because I think that's probably a bad idea. Just a little bit. I would normally put glycerin in here too, but I do not know where my glycerin is. And yeah. So the glycerin acts as a preservative and helps keep it from getting moldy and evaporating. See, that's why you should have a bag. So good thing this is the art room ironing board. So the glycerin helps keep it from getting moldy and helps keep it from evaporating. So I usually add glycerin to all of my homemade inks. That being said, I can't find mine. And I don't know where it is. Obviously, this isn't airtight because it's leaking. But I'm just reusing an old jar what I had. I'll transfer it into something else later. But in the meantime, it made a really pretty, look at that, look at that. Really pretty red color and I love the way the fabric turned out. So anyway, I hope this has given you some ideas of what you can do. I will be letting this cool off some more adding glycerin to it and putting it into a different container more than likely. As soon as I can find one. After I get everything added and stirred in. All right, that's it for now. I hope I give you some ideas of some things you can do and experiment with while you're stuck at home. Please use all precautions and heed all of my safety warnings. Don't take any unnecessary chances with your health or anyone else's for the sake of art. It's not worth it. Don't forget to like, share, and subscribe if you will. Leave any questions, comments, or concerns down below or over in one of my Facebook art groups, both of which should be linked in the description below. Let's start a conversation. What's your favorite way to eco-die? Do you have some other way I could do it that would work better? Let me know. I'd love to find out. And yeah, let's have a, let's have a conversation. Don't forget to check out the video description for all relevant links, along with ways to support the free content here on Facebook. I'm sorry, here on YouTube and over in the Facebook art groups, not only for myself, but for all of your favorite creatives, they always usually have a way to support them, whether it's an Etsy store, an Amazon affiliate link, a PayPal tip jar, or something, myself included, Patreon or something. So check it out and see what they have. And I understand money is tight for a lot of us right now, but if you have a little way to support the free content, we all sure would appreciate that. So give it a try.  And I'll see you later. Bye, guys.