Hvala, češnja, češnja. To je seštja o neofoJ Streams projekti. Je Andres in Turbano, da je Mikaeli. Včešnja je Laro so, češnja je integrator in neofoJ. Laro so v 2004 v Venniji z Lorenzo Speramsoni, češnja je vse. V neofoJ stavljamo, češnja je neofoJ. We became the first Italian partners in we have a strong presence into the Neo4j ecosystem. This is because we are the creator of the official Neo4j JDBC driver. We are the creator of the Apache Zeppelin interpreter, the ATL 2, and we also developed over 90 epochs to procedure. Let's see the agenda. We will talk about the Neo4j Streams project, but we have a brief introduction of what is Apache Kafka, and we will talk about how we combine Neo4j and Kafka. Then we will talk about the three modules of the Neo4j Streams project, so the change data capture, and we have a demo. The sync, we have a demo, and in the end the streams procedure. The demos are all in a docker container. All the code is in a github, so after the presentation you can download it on github. And all the demo are on Apache Zeppelin. How many of you already know what is Apache Zeppelin? Oh, that's great. For the other group it's something like Jupyter. It's a notebook runner that allows to connect with Neo4j for instance or Apache Spark, and it allows to have the output of computation directly on the web browser. So, what is Neo4j Streams? It's a Neo4j plugin that enables Kafka streaming on Neo4j. And as I said before, what is Apache Kafka? It's a distributed streaming platform built on streaming capabilities. It allows publishing and subscribing streams of records. It stores these streams of records in a fault tolerant and durable way and it process the stream of records as they occur. How it works is based on two main concepts, topics and partitions. Topics is something, let me say, like a container for events of the same type. It's a category feed name in which the records are published. And each topic is organized in one or more partitions. And each topic can have one or more subscribers. So, each partition is an ordered sequence of records. And this order in sequence is identified by a number called offset, which is unique and sequential. The consumer is in charge of the commit of the offset. So, this allows the consumer to read the stream of records as the consumer wants. So, he can start from the beginning of the stream, he can start from a specific offset, he can start from the last committed offset because the commit is in charge to the consumer. So, how it's used? It's used for two general classes of applications. For building real-time streaming data pipelines, think about real-time ATL pipelines, so you can use Apache Kafka in combination with Apache Spark in order to build a real-time ATL pipeline. Or for building real-time streaming applications, think about in a microservices environment when you need to exchange messages between microservices. Then Apache Kafka, it's a well-suited application for that use case. So, what is a Neo4j streams? It's a Neo4j plugin, as I said in introduction, that enables Apache Kafka. And the project started almost, if I remember correctly, one year ago by Michael Unger. At that time there was only the change data capture mode. When I joined the project in October, we added the sync module, the streams procedure, and we also built a Kafka Connect plugin, which we'll see in the following slides. So, what is the change data capture? What is a change data capture? In databases is the same pattern that allows to track database changes all over the time. So, in response of that change, an action could be taken. What are well-suited use cases? Change data capture, I use it, for instance, in data warehouses, because data warehouse needs to track data change all over the time. The data is a dimension in a data warehouse. It's also used in database replication, because the transaction log is a change data event log. So, how it works? Once you install the jar into the Neo4j plugin directory, and once you configure your Kafka endpoints, the plugin is automatically up and running. And the change data capture module basically installs a look on each transaction. So, to each commit, there is our own newsletter that exposes events about creations, updates, and leads of nodes in relationship. Our structure provides information about before and after the data change, and the change data capture plugin allows to configure a property filtering for each topic. We will see in the demo how it works. And these events are sent asynchronously to Kafka, so the commit patch should not be affected by that. So, let's do our first demo. So, this is the Apache Zeppelin environment. We'll get our first notebook. Every box is a paragraph. So, let's talk about how the Neo4j stream CDC module deal with database changes. So, think about to this creation event. It's just one transaction where we are creating two nodes and one relationship. So, the CDC module will unpack this transaction into two events, two node creation, and one relationship creation. And that is streamed from the CDC module as the following general structure. So, all of you can read the... Great. So, as the general following structure that was inspired by the BISUM, we have a metafield, which contains all the transaction metadata. Then we have the payload field, which contains all the data related to the transaction, and we have our before and after information. So, let's create our first consumer. Oops. Sorry, some space. Let's do account just to be sure that the database is empty. And let's create our first transaction. So, these are the events that are be streamed by our module. Let's take our first event and beautify our JSON in order to show the structure. So, the payload with the ID, which is the identification of the entity, that the entity in this type is a node, and we have the before and after information. The before is null because it is a creation event. So, we don't have the data related to that ID before the transaction. And the field after contains two properties, properties, which contain the property of the node, and labels, which are the labels of the node. Then we have all the transaction metadata. So, we have the timestamp, the username that made the transaction, the transaction ID, and these two fields that are the transaction event count, as I said before, this is a creation about two nodes in one relationship. So, the transaction event count is about three events, and the transaction event ID identifies each event inside the transaction. We have the operation that is created, and the source that is all the network data related to the Neo4j instance. So, I created this paragraph in order to allow the people who downloads the code directly from GitHub to understand what happened. So, I will skip them today. So, now let's perform an update on a node. We basically take the node Andrea and we set a new field called surname. So, let's take again some space. Okay, let's see what happened. We have just one node. Let's check the structure. Now, we have also the before information, because we have the data before the database change. So, the properties of the node is only Andrea, and after information, it's about the new property. So, we have the new property. The operation changed accordingly to the update. Now, let's see how is the structure of our relationship. I remember the first transaction. So, this is the structure of our relationship. We have some fixed information, which is in addition to the we have for the relationship, also the start and the end field, which is the information about the start and the end node of the relationship. Neo4j is a fixed information. So, once you create a relationship between two nodes, you cannot change a start node or end node. And the other information are basically the same. We have the before and after information. The label, which is the relationship type, nodes, and the type, which is the entity type. In this case, a relationship. So, let's go further, and let's see how is a cancellation event. Here we have only the before information. So, we have only the data before the changes and not after, because the data is deleted. So, we don't have any data after the cancellation operation. And we have the operation field that changes accordingly. In the same way, for the relationship, we have the start and the end node and only the before information. Ok, just to be sure, now let's make the account. And let's talk about how we allow the property filtering that I introduced into the slides. So, you can configure into your Neo4j conf your property filtering by using this general configuration. So, we have a prefix, stream source, topics, nodes, then the topic name and then the filtering configuration. The syntax for the filtering configuration is the following. So, we have the label that identifies the node. And then inside this parenthesis we can put all the properties. The star is a wild card. Then we have these two kind of properties. So, we want to include prop1 and prop2 for the label1. And for the label3 we want to exclude the prop1 and the prop2. So, a full example could be for a person topic. We want to we want to have only the person nodes and we want to include in our filter the property, social ID and age. So, now we need to go into the compose file and I need to create a new person and just let me restart the database. So, just to be sure that database it's up and running it takes a while it takes a while it should be online now. OK. So, topic person and now we will create a new transaction where we are creating two nodes person and one relationship between them. Each node person has three properties so age, name and social ID and by our configuration we are excluding the name. OK. Just clean the terminal let me clean the terminal and launch the transaction and let's see how the CDC module deals with this property filtering. So, as you can see all the filtered properties are included in our event. Let's see what happened if we change if we add a property into our node so this property is not included into the filtering properties so it should be not shown into our event. We have now because it's an update event that before and after information and in both of them as you can see the property is filtered according to our configuration. Now let's change a property that it's included in our configuration so we will update the age and let's let's check how the data changes our event changed. So we have the before information the age before was 23 and now is 34 according to our configuration. So now let's just let me give some space let's see the cancellation event and again according to our configuration we have only two included properties. So, thank you. This is the demo related to our change data capture model. Now let's talk about the second module of the Neo4j Stream project, the SYNC. The SYNC allows to ingest data into Neo4j. Initially we thought about a generic consumer with a fixed projection of the event into nodes and relationship but then we thought about something let me say more smart so we want to give to the user the power to transform any stream any Kafka streamed event into arbitrary graph structure but let's see how we allow this. So we have the general configuration and for each topic you can provide your own cipher template query. So for instance we have our configuration for a general topic called myTopic and on the right side we have our cipher templated query. As you can see you will find a special reference to an event property here. This event refers to the Kafka event basically the Neo4j SYNC module takes a batch of Kafka events and then those events are unwinned and we will executed our templated cipher query. So the final statement for a property configuration like this it's exactly this cipher query. As I said before we also have a Kafka Connect SYNC plugin we released it two weeks ago, no one week ago, sorry but what is Kafka Connect is an open source component of Apache Kafka that allows Kafka to deal with external systems such as databases file systems and so on. The Kafka Connect SYNC plugin works in the exactly same way of the Neo4j streams SYNC plugin. The only difference is that the Kafka Connect SYNC plugin must be installed into Kafka and our plugin is available on Confluent Hub which is a marketplace of Kafka Connect plugins. So let's see the second demo and I can deal with it. No problem. After today you don't need to be to go to the gym. So let's see our configuration this is our query we will talk about the query later. Our general configuration this is we have an open data endpoint the open data is about the Italian Ministry of Health of Pharmacy stores and we basically download the CSV from this open data API, then we read it via Apache Spark and from Apache Spark we publish this data to a Kafka topic that is intercepted by stream plugin and these Kafka events are transformed into this graph data structure. So we have four nodes a pharmacy in the red this pharmacy is connected to a pharmacy type on the right side by a relationship is type the pharmacy is connected to address by the relationship as address and the address is connected to a city by the relationship is located in so our Cypher query basically transforms each event in this data structure in this graph structure so once you go home and try the notebook please start this paragraph before using the world notebook I did it before in order to gain some time for the demo so we are set the URL of the open data API I pre-downloaded the data set for the from the URL in order to gain some time and then we load the data into a Spark data frame we will print the schema so our CSV file is composed by several columns just simple some data to show the structure so we have this one is basically the address the next column is the pharmacy name and so on then we store the data as a temporary view and then we will do some material I will not focus on the ATL stuff because it's not the goal of today but I want to show you this table so we are creating here an open data Kafka stage table just to let you know which is a table composed by two columns the first one is the key the second one is the value so it basically is producer record of the Apache Kafka API now let's create the constraint on Neo4j in order to speed up the import process let's clean the database and let's make account just to be sure that the database is empty now in this paragraph we basically take the open data Kafka stage table and we will send it to the pharma topic which is the topic that we configured with our cypher query, our templated cypher query so let's go back to the previous paragraph and let's see how our data set are going up so let's now do a query over our data set, we basically with this query we are returning all the pharmacy store in the city of Turin so we have the node here which is the city as you can see here in the bottom left is the city of Turin these nodes in blue are our pharmacies and are the address ok let's go back to the slides ok sorry so the third pillar is the stream procedure so with the stream procedure we want to allow the users to deal with Kafka topics directly from cypher so the stream procedures are basically two we have the streams published procedures procedures that allows custom messages streaming from Neo4j to the configured Kafka environment by using the underlining configured producer so it basically shares the configuration with the producer of the CDC events then we have the second procedure which is the streams consume that allows to consume messages from a given topic and let's see how so we basically create a new consumer on the topic my topic ok procedure takes two variables in input and it basically returns nothing as it send the payload a synchrony to the stream so we have the two properties the first one is the topic so where we want to publish our data and the second one is the play load so it's the data we want to stream the streams published procedure supports all all the Neo4j data types so we have strings, numbers nodes and relationship as well and if you are sending a node or a a relationship to a topic which is configured with a property filtering configuration the relationship will be filtered in according to the provided configuration so let's publish our first event and let's see about the structure ok as you can see here the event that is generated by the streams published procedure is let me say quite different we have the payload field which is the data we streamed and the value is the data we streamed so we have hello from Neo4j as we we published with our procedure now let's publish something a little bit different we have array of maps as you can see here and let's see that our data has been streamed in according to the data streamed from the procedure now let's see how the streams consume the streams consume procedure works so we basically have two topic sorry two variables in input and it returns a list of collected events so we have the top, the first argument is the topic the second one is the configuration which is a map that we can pass as a configuration for instance, we can pass the time out that we want to list to the Kafka event so let's now create a producer ok, now what we will do is send this kind of data from the producer that we have just created and we will consume this data from by our procedure so the consumer starts to publish the producer starts to publish data to the topic person topic now let's do let's start the procedure ok, as you can see after a time out of 50 seconds of 5 seconds, sorry we get the events that we streamed from our consumer and you can use it directly into cipher in order to create arbitrary graph structure or for doing something something else whatever you want directly from cipher ok, let's go to the lessons learned what we see what we have seen today so we have seen how to use the CDC module in order to stream transaction events from Neo4j to other systems and we have seen also how our CDC module allows to define for each topic a property filtering configuration which is composed by inclusion or exclusion we have seen how to use the sync module in order to ingest data into Neo4j by providing our own business rules so, remember you can transform any Kafka events in an arbitrary graph structure and in the end we have seen how to use the stream procedure in order to transfer those data directly from cipher so please give us feedback if you try the project we need feedback of the community this is the link of the project on github and this is the code repository of the demo that I shown today so, thanks to everyone I think we have some time for the yeah I will leave here so he asked if the project works with the schema registry so, the streams plug in don't work with schema registry but the Kafka connect plug in works with the schema registry ok you're welcome any other question yeah so, Michael ask how we can use in a big environment the CDC module in order to in order to coordinate different systems so think about data warehouse ok you can build new kind of data warehouse which leverages that that change events so, as I said before CDC are commonly used to build data warehouses so, you can basically use our module in order to build data warehouse the data in real time and you can do it by using for instance more than processing framework big data processing framework such as Apache spark this is a way that you could use the CDC module any other question ok


Fed, Fed rose rates folks, 50 basis points, half a half percent, bottom line, they are looking at the end of 2023 to be at 5.1 percent. And the bottom line right now, we're running at 4.4, 4.5 zero. So that is only 75 basis points higher. That being said, the bottom line is that you can expect us to be there for a long period of time because the biggest part of what the Fed's doing is that they want to bring the inflation rate down just back down to 2 percent and that folks is not going to be done in a year. No way, Jose. Gold, contract down 680, trade in at 18, 18. You get silver up 14 cents, $24.14 an ounce, light sweet crude up $2.03 cents, $77.42 a barrel, notes and bonds. The 10-year up 4 ticks, trade into the price point of 114.29 to 30 or up 6 ticks at 131.12. You get the 10-year yielding 3.4 percent right now. You talk about bonds moving around. In the last three months folks, the high is 4.2 percent. The low is 3.4. Now let's do this for a year and let's see what happens here. Damn, this is crazy. So a year ago, folks, this is wild. A year ago it was at 1.4 percent. Wow, unreal. King dollar. When you have a king dollar, it's down 345 ticks, 106, 630. We go to the spy. We take a look at the spy. My take is we're going to lower into this consolidation folks. That's the bottom line. Couldn't break top side. You're going downtown. We've got 100 million shares today, getting to a lower price. That's an expansion of volume going into the lower end of the consolidation. The Qs have the same setup. The Qs also had an expansion of volume. We've got 62 million. Last time we came down was 53. The Qs right now are trading at 286.51. So it's game on here to 278. That's how this is shaking up. And of course, don't forget, we've got a man, Basil Chapman, tomorrow. He's going to be doing a live webinar, 8.30 in the morning to 2 in the afternoon. He's going to be trading. It's going to be an amazing workshop, folks. Check it out at TFNN. Have a great night, folks. Have a safe night. Come back and visit Tommy tomorrow morning. Kicks us off 9 a.m. Great show, folks. Look at him, folks.


So, in the previous lecture we had used the following two exercises. So, one I will show that the real line is homomorphic to the interval 0 1. So, let us see how to do this I just want to sketch a quick proof. So, we will give a homomorphism from the real line to minus 1 1 and you can easily check that using a linear isomorphism that the interval minus 1 1 is homomorphic to 0 1 to the interval 0 1 ok.  So, we simply send x 2 x divided by mod x plus 1 ok and easily check this is bijective and the inverse of this map is given by y maps 2 and this is also continuous. So, let me so check that these bijective and continuous both these maps that is left as an exercise. This is one exercise the other exercise I had mentioned was. So, we take let x and y be topological spaces fix a point small x and x and consider the inclusion from y to x cross y given by y maps to x comma y ok. So, clearly this factor is like this. So, I and let us call this f naught let us call this map f yeah. So, then f naught is a homomorphism. Obviously, x cross y has the subspace of already. So, let us quickly check this. So, f is f is continuous as both projections. So, recall we had seen that to give a map to a product it is enough to give a continuous map to a product it is enough to give continuous maps to each of the factors and both the factors the first factor is just the constant map y to x that is obviously continuous and the second factor is the identity. So, both these are continuous and since the image lands in x naught in x cross y it follows that f naught is continuous right. Here we are using the following exercise. So, let us say not exercise result which we had proved when we talked about subspace topology. Suppose a to b we have continuous map f and let us say the image lands inside a subset c of b and then this f factors as f naught. So, if we give c the subspace topology then this map f naught from a to c is continuous. So, f naught is bijective is clear. So, therefore, to show that f naught is a homomorphism is a homomorphism it is enough to show that f naught of v is open for an open v in y right, but f naught of v is exactly equal to x cross v and this is equal to x cross v this open set intersected with x cross y this subspace right. Thus f naught of v is open which implies f naught is a homomorphism. So, this completes both the exercises which were mentioned in the previous lecture. So, now let us proceed with our discussion on compactness. So, last time we proved that close subspace for compact space. So, this time let us begin today's lecture with the following proposition let x be a topological space y contained in x be a subspace which is compact. So, here y is a subspace of x and therefore, it inherits the subspace topology and this topological space is compact that is our assumption with the subspace topology. So, then our claim is then y is close to x. So, let us prove this. So, we shall show that the set x minus y is open. So, once again let us make a picture let us say this is our x and say this is our y. So, let us pick up any point x over here. So, let x be in x minus y it is a point outside y. So, we need to show that there is a small neighborhood of there is a small open set around x which does not meet y. So, we choose any y in y. So, let us say this is y then as x is host of. So, as I had mentioned it is from now on we will always be assuming that our topological space is a host of if not mentioned as x is host of there exists open sets u y containing x and v y containing y. So, this is our u y and this is our v y such that u y intersection v y is empty. So, we can do this. So, we can do this for all y in y right. So, then the sets v sub y form an open cover for y. So, that is we can write y as. So, y is contained. So, y is contained in this union y in y v sub y. So, this implies that y is equal to union y in y y intersection v sub y and since this is an open cover this has a finite sub cover. So, this is equal to union i equal to 1 to n y intersection v sub y. So, this implies that y is actually contained in the union of finitely many of these. So, now let u be equal to the intersection i equal to 1 to n u sub y i. Now, each of these u sub y is contained x. So, therefore, this implies that and this is a finite intersection. So, this implies that u is an open subset of x x is in u. So, we claim that. So, let us look at u intersected with the union of y i's i equal to 1 to n v y i's. This is contained in the union i equal to 1 to n u intersected v sub y i's which is contained in the union i equal to 1 to n u is contained in u sub y i u sub y i intersected v sub y i, but each of these is empty. So, this implies that u intersected this union is empty. This implies that u intersected y which is contained in u intersected this union v sub y i as we saw that y is contained in this union is equal to empty. So, thus given this point x in x minus y we have found u contained in x open in x such that x belongs to u and u is contained in x minus y. Thus x minus y is open. So, this completes proof of the proposition. So, as a result of this proposition using this proposition we will use we will do this very useful theorem. Let y contain an R n be a subspace then y is compact if and only if y is closed and bounded. So, I have not defined what bounded means, but it means the obvious. So, let y contain an R n be a subspace. We say that y is bounded if there exists some m positive such that y is contained in the ball of radius m around the origin. Let us say in the Euclidean metric. So, let us prove this theorem. So, let us first assume that y is compact. So, then we can write y. So, then y.  So, this is a open cover for R n because every point is contained in one of these balls open balls right. These keep getting larger and larger. So, this implies that y is equal to I can we simply intersect both sides with y, y intersected b 0 1 b 0 1. This is an open cover for y right and since y is compact this has a finite sub cover.  So, b 0 1 is containing b 0 2 is containing b 0 3 and so on. So, this implies that there exists some n such that y is contained in b 0 1 thus y is bounded. Because of this previous proposition this previous proposition says that R n is a host of topological space and we have y which is compact. So, y is also closed right. So, the previous proposition implies that y is closed. So, thus y is closed and bounded ok. So, this proves one direction. So, conversely assume that y is closed and bounded. So, since y is bounded we can find a m large very large such that y is contained in this product of these intervals right. So, y is bounded means y is contained in some large open ball and this open ball we can put inside some inside a square like this inside a closed square. So, or y is this thing. So, more over so note that. So, we prove that 0 1 is compact as 0 1 is homomorphic to we can just in fact even write a linear homomorphism.  So, as y is closed in R n this implies y is also closed in subset and by what we proved in the previous class previous lecture we prove that closed subspace of a compact space is compact. So, using that as closed subspace of a compact space is compact this implies y is compact. So, this completes a proof of theorem. So, as an application of this theorem let us prove that S o n is compact. So, recall. So, as an application. So, recall S o n or the same proof for o n will work S o n is the set of those matrices A with real entries. So, is that A transpose A is equal to identity n cross n identity. So, claim S o n this has the subspace topology from M n r right and M n r we can identify with R n square. So, is compact. So, our claim is that S o n is compact. So, it suffices to show that S o n is closed and bounded. So, let us look at this map. So, let us first show that S o n is closed. So, let us consider the map from M n r cross r. So, this map is given by A its map to A transpose A comma determinant of A sorry I forgot to put the determinant condition. So, we claim that this map is continuous right. So, to show that it is continuous it is enough to show that first we look at the map from M n r to M n r A goes to A transpose A this map is continuous and the map from M n r to R A goes to determinant of A. So, this map is continuous is clear because the determinant of A is a polynomial in the entries of A and we know that polynomial the entries of A are simply the projection maps and projection maps are continuous from this product and polynomials therefore polynomials in these continuous maps are continuous. Let us look at this map over here. So, once again M n r is identified with R n square with the product apology right. So, to say that this map is continuous it is enough to say that each of the coordinate functions is continuous. But once again when we look at A transpose A the coordinate functions are polynomials in the entries of A. So, thus A goes to A transpose A is continuous right. So, this shows that phi is continuous. So, now the point identity n cross n comma 1 in M n r cross r is a close subspace is a close subset. In fact, in any r m the a point. So, we can just take any point A 1 A 2 up to A m is this just the single set is a close subspace. So, this implies that phi inverse of this identity n cross n comma 1 is a close subspace, but this is precisely is precisely. So, therefore S 1 is closed and next let us see that S 1 is bounded. So, this is easy because when we look at the condition A transpose A is equal to identity. So, if A is the matrix A 1 1 A 1 2 and so on. So, then A transpose A is equal to identity. So, this will imply that. So, when we look at the i i th entry of A transpose A this is equal to summation j equal to 1 to A j i square ok. And since this A transpose A is identity this sum has to be equal to and when we take sum over all i's this implies summation i comma j A i j square is equal to n right for every A in S 1. So, thus S o n is bounded right. I mean the topology on R n square is given by this Euclidean metric and what we have just proved is that every element A is contained in the ball around 0 of radius square root n ok. I can add a square root n plus 1 ok. So, we will end this lecture here.


Well, hello everybody and welcome back to my channel. We are working on a plan with me doing May 29 through June 4. As always, let's take a look back at last week. Last week, I was sick. I'm still a little bit sick. I'm a little congested. So there's a lot of phlegm and snot in my face still, but I feel a whole lot better. I didn't go to work for three days. Like, I don't know the last time that that actually happened to me, but I was late up in bed sick. I got tested and checked out by the doctor and I had some virus. So you just kind of have to like work it out of your system. So anyway, that happened. Thursday, I finally went to work. It felt like death, but I still went in. I could actually shower that day. So it was very exciting. And then I went to work on Friday and my mom's birthday, which I totally forgot to put in because I wasn't feeling great on Sunday when I was doing my plan with me for this week. So my mom's birthday on the 26th, so I gave her a call. My mom and dad started driving to Minnesota on Friday.  So yeah. All right. So this is my week. And then let's go to June. And surprise, I am doing Vlune this month. So I am going to be vlogging every day in June, which is actually very exciting because on June 1st, I am closing on my new home. So I'm super, super excited. I'm pumped. I'm really, really excited. So I think it will be a good thing. And I think you guys will like coming along for my little journey of home ownership. I'm going to be doing a lot of different things coming up soon. I've got painting and I've got a whole bunch of other like random things going on too. So I'm very, very excited about that. Pull these out. I'm just pulling things out because, you know, you got to do that. All right. So it is Memorial Day on Monday. So I'll still be posting everything, but I'm trying to get away from having such a like femey plan with me, I guess. I don't know. I mean, I'm, I'm trying, but I don't think it's working very well. So, but I do want to use like some patriotic stuff this week because why not? And then my parents should be in Minnesota on Monday at some point. They might be coming in like super late. I don't, I don't really know. So we'll, we'll find out. Depends on how far along they are and stuff. So yeah. All right. So Monday I don't have any particular plans besides waiting for my parents to get here, but I think I'm going to clean, I want to clean everything just because I've been so incredibly sick lately. I just want to make sure that I'm not like spreading the germs, you know what I'm saying? Because I don't want my parents to get sick when they, you know, come into town, but I am working this week, obviously. Tuesday's insanity because that's the day I close on the house. I'm still going to go to work that day for a little while because I missed three days of work. I also don't work on Monday either. So that's a lot of days to go without getting paid and I work for a very, very small company. So we don't always get paid holidays because I know someone's going to ask me. We don't always get paid holidays, unfortunately. Sometimes we do and sometimes we don't, but it's kind of like a case by case basis. And I made the final decision because I control the money and I said no. There's a lot of other things that we need to be doing besides giving people paid days when that's not in our employee handbook or anything. So let's see here. And I work till three o'clock on those days. I'm using a couple of different washes this week because just because I want to. It's been so much nicer now having my washi organized. It's been very, very nice. I'm only going to work until 10 o'clock. I know that's like kind of short to go into work for just a little bit, but my closing is at 11 30. So I just want to get a couple of hours in. I know I'm not going to go back to work for anything for the rest of the day because it's going to be kind of a full rest of the day. But I'll be all right. Okay. So that is all of my work. And I think I am going to just put in some of my like normal things because I know like what I'm doing on certain days. I'm going to do my laundry Friday night. I really like doing a Friday night laundry. I mean, I don't know why, but I just I really enjoy it. I really have been enjoying that. All right. I'm going to put a little camera on June 1st to remind myself to start vlogging. I will be uploading probably every day. I haven't really decided yet, but like these little flags, I actually got custom made from coffee break planner. And this is like I'm posting. So I'm filming June 1 and then I'm posting June 1 on June 2, if that makes sense. I don't know what time of day I'm going to be posting. I don't know any of that. It's probably going to be like Vlogmas. If you guys watch my Vlogmas videos back in December, I've logged every single day in the month of December and I did uploads in the evenings. But I don't know. I mean, I might just upload at like different times. I'm really not 100% sure, but we'll figure that out. Okay, so let me put in my videos and then we will put in everything else because then it's like all pretty much house related stuff. And I think for this spread, I'm going to use some of the stickers that are in here because why not? So I think I'm going to use some of these little guys right here. And this is the new Aaron Condren sticker book that just came out. So there's going to be some gold and silver probably in this spread. I think yeah, the other stuff I have is gold and you know what? My favorites, I'm going to move this because I actually have so many other videos that are already filmed in my computer right now. And I am going to just figure something else out for that day. I don't know what exactly yet, but I will figure something out. And then I am also hoping that I get enough time on the first because I would like to do a special video for Financial Friday on the second, but I don't know if I'm going to be able to do that. So I'm going to leave that video open. I'm going to leave this video open too because I just don't know what I'm doing yet guys. All right. And let me grab the Doyle Dog stuff. He has his meds on the first as always, that little guy in there. So let's move on to some of the fun stuff. Yay, I'm so excited. All right. So actually Wednesday before I do anything else, I need to go to the bank after work and get some money. I need to get an event sticker. See here. Yeah, we'll use one of these. This is good. All right. And I actually just got these in the mail. It was a lovely, lovely gift from a company called Paper Panda. I'll leave her link down below. And she doesn't make these herself, but she does sell these on her website. And these are all like budget related and saving related. These are super cool. So I'm very excited to use these for like a whole bunch of my things I have to do this week because it's a lot of it is budget and savings related. So I need to get my cash from Z Bank. All right. So I need to get my check for closing with these little dollar bills underneath there. Very cute. And then Friday is payday. So I am going to put in these little cute little payday button sticker looking things. I'll use a little gold one. I think I'm done with that for just a moment. All right. So the actual closing is at 1130 and it's in a city called Mora. I just saw these. So I'm just going to put this in real quick. All right. At noon, dover. I probably won't watch it, but that's okay. All right. I want to grab some half boxes, like some cute half boxes. Let's see here. What do I want? What do I want? Want black ones maybe? Oh, these watercolor ones are cool. I'll use one of those. All right.  And then maybe I'll put in like a little greenhouse because why not? All right. So 1130 and Mora is the closing. I'm going to try to find one other thing. All right. I figured these pencils would be good because I'm probably going to have to sign a bunch of weird stuff, even though I've already signed like everything I could think of ever signing. So who knows? Who knows what they're going to need me to do? Surprised they haven't asked me for a DNA sample yet with all the crazy stuff that they need. Verify and re-verify and verify again and again and again and again. It's just kind of, kind of humorous. All right. So then after that, we are going to go to the house. So we're going to go over there. So I'll use this little guy. We'll go over to the home for a little bit. So we're just going to go over there for a few minutes. I need to go to Lowe's and pay for a whole bunch of junk. So we're going to do that after that. All right. And then after that, we are going to go to Dragon House for dinner. I'm super excited for that. So I don't necessarily know when that's going to happen, but it'll be, you know, sometime, sometime that evening, we'll go over to Dragon House. And then I have my painter starting on Friday. So I need to remember a check for him. I think I am going to use this little like little reminder sticker. I'm going to use this cash guy again over here.  I'm going to remind myself actually on Thursday night to leave some cash for the painter, because I, I got to do that. Or actually it's a, it's going to be a check. My painter's name is Johnny. You might actually end up meeting him on the vlog. I don't, I don't know, but you may. You may end up actually meeting him on the vlog. All right. Because my mom is actually going to go and let him in on Friday morning when he gets there. Put in a little guy. For Johnny to start on Friday. Actually I'll do like a little, little washy at the bottom maybe. Here we'll use this, use this fun little house washy. I'm pretty sure that Johnny is only going to be there Friday, but he might be there over the weekend as well. I told him he could be if he wanted to be. So I'm just going to put this in. He wasn't sure if he wanted to work on the weekend or not. So, but I told him the place was going to be vacant and he couldn't come as go as he pleases. He's doing some other work besides painting for me, which is very, very nice of him. But nothing that's going to create a ton of noise, but I will end up making a little note for my two wall neighbors. It's a townhouse. So I just want them to like have my address and, or obviously they have my address, but have my phone number in case like contractors are making too much noise or there's a noise issue like somewhere down the road or they need to get a hold of me for some reason or an emergency that they have my cell number. So, you know, just in case I don't want people to feel like, you know, I'm avoiding them or something like that because I'm, I'm not there. So, and I think Johnny was starting yet at 9am. So I think my mom just needs to meet him at nine. It's going to put like a little house right here to remind myself. She'll go meet him over there. All right. So my weekend plans are going to be painting as well. I am also going to be painting on Saturday and yeah, and probably Sunday. So it's just going to be like a myriad of painting and moving and all of that stuff. I'm actually not moving a ton of stuff. Just the stuff that like I don't need for here is what I'm moving. There are a few things that I have purchased that I will probably end up showing in the vlog very soon for you guys. I am going to use, well actually not, I'm going to use this one because there's like actually things taken out of there. Use one of these bad boys. Ah, here they are. Oh my gosh. I've been looking for those. I'm like, where did those things go? Anyway, okay. So pretty much all day Saturday is and Sunday for the most part are going to be, you know, house related things. So I don't know. I'm just going to, I'm just going to put in a little house situation here. I know I'm probably going to be going to the store and buying stuff and you know, that kind of, that kind of junk too. But oh my gosh, these are like extra sticky. All right. So I am just going to put this there. That kind of fits perfectly in there. So like some packing boxes and then I'll put like a little paint swatch on the top because that's happening too. So I got to go like buy my paint and everything as well. But I just haven't, haven't done that yet, but that's all right. I'll get to it because I'm hiring a painter, but the painter is only doing the like vaulted ceiling because it is so high. I think they're like 24 foot ceilings or something and they're like really awkward. And it's, I mean, you need like scaffolding to get up there. I don't have that obviously. So he is going to do that for me. And then I'm going to be doing the rest of the home. So like there's like an entryway and then there is like a hallway and lofted area upstairs that I'm going to be doing. And then I am also painting the master bedroom first as well. I might actually end up painting the guest room, but I haven't purchased the bedding for the guest room yet. So I'm really not sure what I want to do there. So, but I'm going to be painting a lot. So pretty much every weekend and every day after work is going to be over at the house painting doing stuff. And I'm probably not going to be moving in until the very end of the month to be completely honest, but I don't know. Oh, also I wanted to clean on Monday. So let me put that in. All right. Well, these are sitting on top. So I'm just going to use these and I put down clean. Oh no, I pulled off too. Whoopsie. I'll save this one for later. It just got so excited. It wanted to hang out with me. All right. So we'll just put that maybe this up here. I'll clean in the morning just right away. Get it over with, you know. I mean, not that it's already not clean, but you know, that deep clean stuff. All right. So I think this is going to be it for this week. Like I said, I'm doing Vlun for the vlog for June. So I'm very excited about that. So if you guys haven't subscribed yet, feel free to subscribe. There should be an upload every day.  So there may be a vlog here or there where I don't have a ton of footage that I'll just like put two days in one essentially, but we will see. But I think the first vlog is actually going to be the most interesting because that is going to be closing day, which I will film as much as I can of the process. And then, you know, doing a new house visit, running the Lowe's, going to a dragon house, like all of that stuff too. Oh, and I need to, at some point, maybe even Monday, I need to contact the homeowner. We need to do a walk through really quick. And then he's going to like explain like all of power outlets and like things like that of like what goes to what. And I'm going to just like literally have to just pack a post-it notes and like put it on everything. So I remember what he says, but like those little idiosyncrasies in a home that you just like want to know right away. It's like this lights which doesn't do anything, but it's like, oh, it's actually for like the exterior or whatever. You know, it's just nice to know. So anyway, I will contact my realtor actually today and see if she can coordinate that. So that is going to be it for me. I hope you guys enjoyed the video. If you did, make sure to give it a little thumbs up. I appreciate all the thumbs up in the comments. And if you do have any comments, feel free to post them down below. All of the sticker sources that I put in here that are current and the shops are still open and all of that are going to be linked down below for you guys. So make sure to check them out. Also make sure to subscribe if you haven't already. Like I said, I'm going to be doing a vlog in the month of June. So that'll be kind of exciting to watch. Hopefully if you like to see more of my personal life of what's going on, you'll be able to meet my mom and dad. You'll see a lot of Doyle too, which I know you guys all like Doyle. Doyle's my dog. That's him right there. So anyway, I'm on a jet for now. Thank you guys so much for watching. I really appreciate it. And I will talk to you all in my next video. Bye guys.


Folks for the evening is decision-making in transitional play, okay? Blues are going to take one ball into this area, the reds are going to take one ball into this area, all right? At any given time, one blue can drop out into an end area, one red can drop out into an end area, all right?  There's no tackling, all right? Don't interfere with the opposition whatsoever. As soon as one person drops out, can you pop that ball into them as quickly as you possibly can. Make sense to everybody? Ready? Get yourselves going in that area, please. Good. Good. At any given moment, when they feel it's right, they'll have a player that can drop out into either end zone and they hit that player. So we're just so in seeds about, bang, there's your spare man or there's your forward target. As soon as he becomes available, can you play the ball into him as quickly as you possibly can? Now the focus is, so if I'm playing for the Blues, if Flanney decides he's going to drop out, we're now looking at a third man support player going. So it comes out, here, Flanney's dropped out. I'm going to fire it into him. There's your support player gone with him, joined him in that area. Let's go. Pick the times. Pick the times. Good. It's got to be third man. Can't be the same man at the moment. Good. Good. Can you join quickly? So the focus is now quick. Can be slowing here.  Let's go. Let's go. Who's going? Good. Good. Good. So who's dropping out? See the pitcher. Good. And who's joining quick? Good. Good. And we'll add it where there's a support player going in with him and then it will be that there's a transition where bang, ball goes into an end zone, but that's backwards in a game. The pitcher will be setting the ball backwards to then go long into the other end zone and join from there. So it'll be different scenarios, different pitcher painting, different seed sowing if you like, but all on a post. We're now going to do it two ways. We're going to do it quick both ways. So it goes into the target player, someone joins him. Doesn't matter who goes. We've got possession in the game here. Yes, please. We nick the ball. This is where, now we're going wearing a game first. Uh-uh. Now we're going backwards. The space is the players at the back. So we're going backwards, bang. Then it's looking for that forward pitcher. Then it goes in, bang. Then what happens? Then we support quickly. Make sense? Take care with the quality and possession. Way to go. Good. Work it through the middle. If it's not right, don't do it. Bang, it's going. It's going. It's going. Needs to go in quality. Join quicker. What's the problem in now? Staying obvious. The area is tight. The area is tight.


And we are live. What's up guys? And I am back, been gone for a while, was at Def Con for a week, then took a vacation with my fiance for a week and then actually I'll be gone next week for Singapore. So I won't be doing much of these, but in the media time, I got my buddy Brad Mills, once again, quick little bio on who Brad is. He's a serial entrepreneur. He's been in many different businesses, got the Bitcoin bug a couple of years ago. And ever since he's been specializing in a bunch of different trading systems and really diving deep into the whole world of crypto, we've had many different podcasts in the past. If you missed that, last one we did was Bad ICOs, which was a really good one. That one is actually shared a bunch of times. I think the one before what we do, I forget. Anyways, that one's good too. So in this one, we're actually talking about the whole dilemma in the last week or so with Bitcoin, Bitcoin Cash. What is it? What's happening? People are confused. So let's talk about this. Brad, give us a four on one. Okay, the four on one. So do you want this as the libertarian Bitcoin maximalist or the objective cryptocurrency analyst? Well, let's do a little bit of both. Let's play devil's advocate. All right, well devil's advocate, I got some Bitcoin Cash. Everybody got some Bitcoin Cash if you had Bitcoin. I'm probably gonna hold on to it forever, like most of my cryptocurrency positions. Bitcoin Cash is trying to fulfill this need of the, Joseph, who's that? Not, I can't remember his last name, but he had a nice article recently. It was comparing like the Keynesians to the, Jimmy Song. Jimmy Song, yeah. So like that makes a lot of sense where the big block version of Bitcoin is trying to fulfill that transaction velocity need where you put all these micro transactions on a blockchain and that increases the value. And that's what makes, you know, that transaction load gives it the value. So I mean, yeah, that makes sense. So if you're a Keynesian, a Crypto Keynesian or a Keynesian economist, economist, then yeah, you'll probably see the value in having unlimited block size and giga blocks and having like all of the nodes be centralized and three or four big companies isn't a big deal to you because you're more of a sort of like an evolutionary profit driven technologist rather than somebody who's trying to guard against centralization and promote decentralization and promote sovereign money and secure protected wealth, which I think Bitcoin, actual Bitcoin is, right? And I struggle a lot with this, man. I get triggered so easy by people talking about Bitcoin cash as Bitcoin. Yeah. As I got in really in the early days in 2011 and I came from the libertarian viewpoint and had watched these movies talking to me about the central banking scams and fractional reserve banking. And I came in from that, like just trying to get Ron Paul elected and saw Bitcoin as the solution to central banks and debt enslavement and that's what really drew me the secure store of wealth, right? The decentralization, nobody's gonna be able to censor transactions, transactions final, you can protect your own wealth. It's a deflationary model. It's not about spending microtransactions. It's more of a protecting your wealth. And that's not what Bitcoin isn't saying, you know, we're not gonna ever be something that you can do microtransactions with or have visa level transactions per second. It's just gonna take some time because they wanna do it in a certain way with like a safer upgrade path. So the Bitcoin cash people though to play devil's advocate, they've been trying to do this for a couple of years and they're not getting anywhere and the Bitcoin core team has this certain permissions upgrade process, right? Where you gotta submit a BIP, a Bitcoin improvement protocol or proposal. And if the community doesn't support the BIP, then you don't get in, right? Yeah. So in one way it does the Bitcoin core process does like go against that permissionless thing that everybody signed up for at the beginning because you kinda gotta have permission to put your upgrades in. But I mean, that's free open source development. That's how it works. So there's a lot of devil's advocate. You can play on both sides with this. It's a tough one for me to reconcile because like even on- I think whatever if we distil it, most people are just upset with the brand steel as opposed to the actual what they're doing because unless a fair capitalism and that's the whole point I can do whatever I want. Right, and that's what I was gonna say too. Like if you zoom back, right? Just we've got Fiat money and cryptocurrency, right? The people on the Fiat side like Jamie Dimon and all these guys are saying what is Bitcoin? It doesn't make any sense. There's no value. It's not backed by anything, right? So then you zoom in and when we tell them all value is what you ascribe to it. Value is what we decide, right? There's no intrinsic value behind dollars. There's no intrinsic real value behind gold. It's just what people accept for medium exchange and store value. So if we're gonna use that explanation to describe how Bitcoin can hold value, then we kind of have to accept that for Bitcoin cash too. Because initially when they're forked away and it's like $20 billion market cap now, I'm like the old like the Fiat guys I'm like what gives that Bitcoin cash any value? That thing is nothing. It just forked from Bitcoin. It's not worth anything. And I'm realizing, well, it's kind of the same argument that people from the outside world are telling me about Bitcoin. So I've got a lot of cognitive dissonance rolling around here when talking about Bitcoin cash. So it's a tough one. I'm trying to like play devil's advocate and see it from both sides, but you're right. It's the most thing that people are finding most offensive and triggers everybody that having a Bitcoin for so long is the attempted like brand theft of saying Bitcoin cash is Bitcoin. And then it could be just semantics though. It could be just Roger Verge just playing philosopher and saying, well, Bitcoin cash is Bitcoin philosophically. But I think he's actually trying to like make Bitcoin cash Bitcoin. The funny thing though about this whole debate, especially if they're talking about hash rate and the longest chain is sometimes they feel like the miners are indebted to the network. Like they have to like obey us. At the end of the day, I'm a miner, I'm for profit.  If I want to take, if I'm, for example, 30% of the hash power Bitcoin, if I want to just leave to more of mine Monero or mine Bitcoin cash, so be it. I'm following profit. And that's why I find it funny with the debate when people are saying, oh, they stole hash power. Wouldn't you steal?  Who wouldn't you talking about? See, I agree with you on that point too. It's like, it's capitalism. It's a free market, right? But on the other hand, it is a bit, it's kind of a scam because Bitmain is the one that has most of that hash power and Bitmain is one that owns most of the majority of the Bitcoin cash that they've been buying up Bitcoin cash and using their hash power to support Bitcoin cash. Now, I don't, I don't mean they own most of Bitcoin cash, like 50% of it or something. I just mean like, obviously the people that forked Bitcoin cash, like Roger Ver and Calvin and Craig Wright and all these guys like McAfee. McAfee. But he says he doesn't own any Bitcoin, Bitcoin cash, like coin Ethereum, anything. He says he doesn't own anything. He's just making profits. He just owns dollars. That's what he's saying. But I don't know. Sure. Sure. Sure. Whatever he says. Sure. But yeah, like the thing about like that, that gives Bitcoin up until now that has given Bitcoin its value is that there's a sunk cost in, in the electricity and the equipment that you're using to, to solve the proof of work, right? So you've got this invested cost. So you're not incentivized to attack the network because you'd be like hurting your own value, right? Well, let me ask you this. Do you think both can coexist? I think both could coexist, but it's going to be really hard because that, that value, like, I mean, it, it's the same algorithm. So it's the same mining equipment that. Except, well, kind of the only difference Bitcoin cash has over what's a big difference is they have EDA, emergency digital adjustment. Yeah. But I mean, that's just the adjustment on the difficulty. It's the same like security algorithm, right? It's the same like ASIC machines that can mine both chains. So like, technically, there should only be one winner because that value of burnt electricity and like sunk cost of equipment and research and everything, that shouldn't be able, you shouldn't be able to just clone that infinitely. Well, Litecoin's the same thing. Any research that Bitcoin Core does automatically gets applied to Litecoin. Yeah, that's technical research. That's not like physical hardware and electricity and stuff. Like there's different, there's different machines that mine Litecoin. There's like, that's why there's usually only one cryptocurrency that has, and this is what I hold for my portfolio. I look at like the top positions for my portfolio. They don't really have an algorithm that overlaps or any sort of like anything that's like a unique or similar technology. Like there's nothing else that runs Shaw 256. There is like Namecoin. Yeah. And the funny thing that happened with Namecoin was over the weekend when the miners were like jumping from Bitcoin to Bitcoin Cash, Namecoin couldn't exist because nobody was mining it. Everybody chose to mine Bitcoin. So what they had to do was implement merge mining in order to stay alive, and which means you can mine both at the same time. Anything that has merge mining enabled is like, I'm actually sure how that works. I just know we used to merge mine different cryptocurrencies together with Bitcoin and other coins. But let me ask you this. Are they planning on, I haven't looked at the roadmap for Bitcoin Core or even Bitcoin Cash. I don't even know if Bitcoin Cash has a roadmap yet. But are they planning on actually moving consensus models or upgrading it for the fact that like only people with A6, people that can actually afford the hardware, afford the electricity cost to do this? No. So that's the whole thing that is driving Bitcoin Cash is the profit motive. If you follow Craig Wright's, and for those who don't know, Craig Wright is the guy that claimed to be Satoshi Nakamoto. He claimed to be Satoshi Nakamoto. Yeah, he claimed to be Satoshi and he got all these articles and press and became the celebrity a little bit in the crypto space. And then he decided the very last minute to pull the rug from everybody and say, oh, I can't do it. I don't want to prove it. And he fooled the lead developer at the time, Gavin Andreessen, lead Bitcoin developer into thinking that he was Satoshi Nakamoto. So it was this big thing. It was this clever marketing scheme. Either he is or he isn't. And Vitalik had a really good response to that question. Is Craig Wright Satoshi Nakamoto? I think it was a signal theory. He was talking about how the easiest way to tell if something is or isn't is if there's proof. And since he has no proof, he's not Satoshi Nakamoto. That's the simplest answer. So Craig Wright is my connection OK, by the way? It's kind of looks a little iffy. It's fine on our end. It's not 100%, but it's OK. So Craig Wright is kind of like one of the leaders of this Bitcoin cash movement. And he's one of the guys that have Enchain. And Enchain funds research and development to the large blocks, giga blocks. He funds like a Bitcoin unlimited. And he's pushing Bitcoin cash. He's anti-segwit. So he actually has this vision of data centers like we have right now, but even on a bigger, grander scale, processing and making profits from processing Bitcoin transactions. So he wants it to continue on like this. He doesn't want to change the algorithm or make it easier for poor people to get Bitcoin or anything. That's one argument that I actually stand behind for people who love Bitcoin, who've viewed it for their libertarian principles, who viewed it for economic freedom, is the people that is supposed to help. They can't financially afford to use it at the moment. Yeah, I see that argument too. And that's something that I do struggle with because I got into Bitcoin in 2011, not just for the secure your wealth thing, but also wanted to have this easy way for money to move. I wanted it to be PayPal, but owned by the people. And right now, it's not able to facilitate that need because we need to get everybody using segwit. And we need to implement Schnorr signatures and lightning network. And there's like a year and a half, two years of scaling required before we're going to be able to get to that level. Easy, minimum two years, minimum. But Bitcoin Cash is trying to say, well, we've had enough of the waiting. We're just going to fork off. And this is now Bitcoin. And let's put gambling on a blockchain. Honestly, the biggest reason why they're doing this is, I believe, because Calvin Eyer is the owner of Bowdog Poker. And he's funny. Oh, he is. I don't need that. Yeah, he's the owner of Bowdog. And he was like, whether you agree with it or not, he was sought after by the US authorities. And he had to leave Canada. I don't know the full extent of this, but it's kind of like a Kim Dot Com thing, where he was just harassed by these authorities. I don't know if he's a felon or what it is, but. No, if he's a bit, if it's in gambling, it probably has to do with taxation. He provided illegal gambling to US citizens, even though he's Canadian, the company's Canadian. And then he was persecuted for that. So he funded the patent strategy of N Chain to get all these blockchain patents. And he's best friends with Craig Wright, the fake Satoshi Nakamoto. And their big plan for a long time has been to put unlimited block size in Bitcoin so that they could do things like gambling on a blockchain, which they could not, you know, if gambling's on a blockchain, they can't shut it down. It's beyond the reach of censorship and regulation, right? Well, why on the root blockchain?  Like what about state channels or like second layer infrastructures that don't actually have to correspond with the root channel always? The whole idea of like having your whole platform on a big block, that doesn't even solve it. The block's going to get filled regardless. Yeah, like Andrea Sampsonopoulos says that if you give somebody a giga block, they'll fill it with whatever they fill it. They'll fill it. That doesn't solve it. It's not, yeah, there's never going to be a happy solution to this. At some point fees are going to go sky high because- Solution is Lightning Network state channels. Yeah, like side chains, Lightning Network. But then if you listen to Dollar Vigilante, Jeff Burwick just came out this weekend and started jumping on the Bitcoin Cash bandwagon saying like, oh, it's funded by the globalists and the block stream is owned by the Build-A-Bird Group and they just want to like centralize the settlement layers and, you know, saying all this like conspiracy theory nonsense that doesn't have anything technically to do with why he feels Bitcoin Cash is better than Bitcoin. So like if you're like one of those people and you feel that the banks have interests in these companies like Blockstream and Blockstream is trying to fund these side channels and like trying to put transactions off the main blockchain, then I guess there's some kind of like conspiracy sort of line you can follow there that gets you to- I think the big test will be, for example, right now, you have Bitcoin and for the most part, even the reason why I have Bitcoin, I view it as a hedge, digital gold. Right. Cost me three bucks to send a couple of bucks so it's infeasible for me to use it as a payment layer for anything. Right. The other day, I know it's been spam networked by whoever it was, you know, some people say Gihon but there's over a 100,000 transactions in the mem pool waiting to be confirmed. So it's ridiculous for me to even send- $700 million at one point on the weekend was- $700 million was locked up and waiting to be confirmed. Yeah. So for me, I just use it as a hedge. I don't need to move it. I buy it. I don't care how long it takes for me to buy it. I'm just sitting back and relaxing. So for me, that's how I view it currently as a second. The big test for both of these ecosystems is use case. Like speculation can only take you so far, right? There's a time limit for speculation. So Bitcoin can't be, sorry, Bitcoin cash can't be a hedge. Both parties can't be a hedge. So until I see what Bitcoin cash can really, besides the technology itself, do they actually have use case utility where I actually see user base on a daily basis using this for a specific purpose, that's gonna be an interesting use case for both ecosystems to prove itself for the next couple of years. Yeah. So if you, like that's the devil's advocate side of me. Like I kind of would like to see this experiment play out. I'd like to see Bow Dog poker put on Bitcoin cash blockchain. I'd like to see Kim.com. Well, actually I would have preferred Kim.com launch BitCash with Bitcoin, but now he's announcing on Twitter he's gonna use Bitcoin cash. So I'd like to see it though. I'd like to see all these micro transaction use cases and see what happens if this Keynesian style like velocity of money and like massive amount of transactions actually increases the value or if this Austrian school of sound money and increasing the value of your savings rather than having an easier, well not even an easier, a decentralized way to do small payments. Like Adam Back has a good, Adam Back is CEO of BlockStream. He has a good theory on all this where you gotta have some kind of distinction between your use case for money, right? Like you just said, like I don't get the reason to really need a decentralized PayPal. You know what I mean? Like the banks are gonna out compete a blockchain for low fees. And PayPal is gonna- And better customer support, better customer service.  Like that's the idea that a lot of us got into Bitcoin for is you can protect your money, it's safe, it's decentralized, it's away from the risk of getting compensated if say they wanna start compensating everybody's Bitcoin or whatever, this can't do it. But with Bitcoin Cash, if it goes the way that they're saying it's gonna go, giga blocks, you know, like that's gonna be an enormous burden on a node to run that. You're gonna need like an insane amount of hard drive space and bandwidth. And when you start getting up into these like 100 megabox sized blocks or even 10 megabyte sized blocks, like they've got eight megabytes now, but they're never over one megabyte because nobody's using it right now. But when Bitcoin Cash has, you know, 100 megabyte in the blocks, it's gonna be pretty much a centralized server company that's processing all these transactions. You're not gonna be able to run a full node. My question though too for Bitcoin Cash is where's your dev team? How many people do they have working on the code? So they say that there's five teams, like I've seen Roger Ver present this slide where it says, you know, all the comparison between Bitcoin and B Cash and it's like, or sort of Bitcoin Cash, I don't have to be derogatory here. And he says there's five dev teams. Craig Wright says there's five dev teams. So I looked at that and I think the five dev teams are the one developer that works on Bitcoin Cash, right? I can't remember his name, but he's the one guy. And then Bitcoin XT and Bitcoin Unlimited, which is also, I'm pretty sure just Peter, can't remember his last name, it was just mainly one guy, unless I'm wrong and I'm sorry if I'm wrong on that, but I only ever see him talking about it. Parity, so they're developing on Bitcoin Cash for some reason, Parity's whatever, like Parity wallet, it's the Ethereum wallet that keeps getting hacked and losing all their money. And before- Actually, Roger Ver was at the conference in Mexico. Yeah, I can't remember what the fifth one is, but he says they say that there's five teams and I don't know, Enchain, Enchain is the next one, that's what Craig Wright's company. Well, I think Bitcoin also has something interesting happening, I'm kind of excited, we'll see how that rolls out, but I wanna see how Rootstock plays out for the second layer multi-chain. Yeah, and the funny thing too is that the Bitcoin Cash people are saying that they're not opposed to the second layer solutions, they're gonna maybe add something like Segwit and something like Lightning Network or Lightning Network work itself or Rootstock. So the reason why Segwit was so important was because it was a way to allow Rootstock, like smart contract-like transactions that happen on the Bitcoin blockchain, it solved the problem of malleability. And there's other probably more elegant solutions but they require a hard fork and everybody wanted to avoid a hard fork. So Segregated Witness was the safest and best way to allow these smart contract-like transactions to happen on the Bitcoin blockchain with a backwards compatible format that wouldn't require somebody who had a 2012 wallet to do something, they wouldn't have to split their coins or whatever. They would just instantly connect to the main chain. So the whole thing about Segwit, there's this propaganda campaign going on with Bitcoin Cash People saying that it's Bitcoin Segwit. It's not really Satoshi's vision. Like Satoshi was some kind of like God or something like that. I know, it's almost like this whole Messiah complex or like it's this way or the time. It's like, give me a break.  Yeah, it's like it's one guy or one woman or like a group of men and women or like a group of people or even the NSA, whatever it was, they use the Bitcoin white paper and Satoshi's vision as if it's some kind of like religious cult, which is really creepy. And I noticed a lot of new people are getting so confused by Bitcoin Cash because a lot of the personalities are so like magnanimous and like entertaining to watch.   He's got like seven PhDs and like he's constantly tweeting nonstop and gathering a lot of followers. And then you get like Calvin Iyer who's kind of in the background.  And like we saw on the weekend what happened like people buying Bitcoin Cash at the top like $2,500 and then just instantly lose 50% of their savings or whatever, you know, they're well. I think it also depends on how you view this space and how you entering the space. Like let's say you're entering the space to make a profit. Well, it's no different than any asset class. You need to allocate your assets and move them around. So you view everything in a neutral like there's a great saying. What's the saying?   So there's like the whole idea is non-judgmental, non-bias, cognitive biases based on like your own fundamental emotional behaviors or your own like say ideological views. So if someone's coming into this ecosystem purely for profit then it really doesn't matter if it's Bitcoin, Bitcoin Cash, Bitcoin Cash fork or whatever it's just allocating every single month or whatever week, day to day, whatever strategy you have you allocate to just make profit, period. I struggle with that too, like because I'm up a lot in dollar terms this year, I'm like 40,000% up, right? And I guess, I mean like I never got into this really to like make that kind of money. It wasn't that that wasn't the reason why I got interested in Bitcoin and why like I got so passionate about Bitcoin. I get passionate about Pokemon Go. Like I get passionate about any new technology or fun thing or like interesting thing and it's not always about making money. It just so happens that this is the one thing where you can be an early adopter of this technology and you can actually like your savings and your wealth can increase from adopting it too. So people get extremely passionate about this versus other things because their wealth is on the line as well. Of course it is, man, totally. No difference in stocks when people go talk about stocks but people talk about anything where they have a financial incentives and financial risk rewards. Like I feel like this feels, it harkens back to last fall when it was like the Hillary versus Trump. Like when you're talking about Bitcoin cash versus Bitcoin, it's even worse than Ethereum versus Bitcoin was. Like people were getting salty that Ethereum was rising. Of course, because at least in that aspect it's two different, one is two different brand names and two different technologies completely. Totally different use cases, right? But it's like this one is sort of like shattering the fragment of reality for Bitcoiners if they're trying to say that it's Bitcoin and if they win and if they can confuse the hell out of people and actually like make people think it's Bitcoin and because they own bitcoin.com, btc.com, it's bit main, like the main ASIC manufacturer and they only take Bitcoin cash now. It's like all these celebrities that Roger Verre influences now are starting to, they're just not that technical that they're not in the space that deep but he's made them a lot of money owning Bitcoin. Roger Verre goes on podcasts now and like sells the listeners on the gains that you could have made in Bitcoin and the gains that they've made in Bitcoin. And then when people ask Katie buy Bitcoin he says go to Bitcoin.com get the real Bitcoin, Bitcoin, Bitcoin cash. It's just a very scammy like underhanded slimy way to do this. Bro, that's marketing for you, no different than any other companies in their things. I try not like, I know, I got a lot of friends that are friends with Roger Verre. So I try my best not to like, I've never met the guy in person, I assume they're conferences and stuff. I'm sure I'll meet him one day, but I mean, I just try to put myself in his shoes. Like he's incredibly wealthy at this point. He's also probably a fundamentalist. He's not doing this for money. Like he's probably at least a billionaire if not a multi-billionaire because of all the Bitcoin he owns. He invested in Z-cash really early on. Ethereum. Ethereum and Arrow like, he's invested in a lot of these currencies. He's invested in all the big startups like, he's not doing this for money, I don't think. I think it's, it's like you said fundamentalism, it's a philosophical viewpoint. Which I'm totally fine with. Like I didn't date at the best party win. Like, okay, fine, it's a free market. You got this camp, that camp, let's go. Let's see who does it the best. Yeah, I think I agree with that as well. There's like, there's the logic there. Like this is capitalism. This is free market. This is not like, you can just shut down Bitcoin cash because it makes me feel icky. But the way that they're going about confusing everybody into thinking it's actually Bitcoin and like rewriting history saying that like, Segwit actually forked off the Bitcoin chain and now Bitcoin cash is the true Bitcoin. Like that's just technically wrong. And it's confusing people. It's a purposeful like propaganda campaign. He's become like the Rupert Murdoch of Bitcoin. He owns all these massive media like. But I think also the one of the X factor is once institutional money comes in, the question is where they go. Like if I'm an institutional investor, I'm most likely. But they're going to Bitcoin. They're not going to Bitcoin cash. So the celebrities and the influencers and stuff like that, like Jeff Burwick, Dollar Vigilante, all these podcast guys, like I'm starting to hear them talk about Bitcoin cash because they know Roger and Roger's kind of made the money, right? But sovereign wealth funds and like endowment funds and like university funds and stuff, like they're going into Bitcoin. They're not going to Bitcoin cash because Bitcoin. Especially once like an ETF is approved anywhere, like a legitimate ETF in North America and they have direct access from the brokerage with one click on the website. It's going to Bitcoin. Yeah, it's going to Bitcoin. And that doesn't mean that Bitcoin cash is not going to $10,000 too. It just means that the smart money right now, like the old money I guess we'll say is like going to move into an asset class that is more sensible and like established and isn't, you know, it's more logical to go into Bitcoin than it is to go into any altcoin. Because the liquidity is there, Bitcoin is Bitcoin. And like everybody accepts Bitcoin in terms of actually being Bitcoin. So they can confuse new users and they can get the celebrities and influencers in and stuff and have this grassroots sort of movement to sort of like try to spur this feeling of like, look, this is where Bitcoin was four years ago. You can get in now while it's cheap. It's what I feel like everybody that's getting into it for is doing. Yeah. Like they missed Bitcoin. They don't want to buy it at $7,000. So they're like, oh, I can get Bitcoin at $1,200. Hell yeah, I can get, I'll get, this is Bitcoin. Bitcoin cash is Bitcoin. It only cost me $1,200. This is Bitcoin. Yeah. Everybody's getting suckered in. Rather than just them trying to be honest and say like, this is a version of Bitcoin that we forked away from. And we want to try this new vision of larger blocks and putting Bow Dog on the blockchain and putting all these micro transactions on a blockchain. And yes, the servers will be centralized, but, you know, that's not what our use case is. We're not Bitcoin, we're Bitcoin cash. If they did that, it wouldn't be as bad and people will probably accept it more. And I, you know, I wouldn't feel bad about holding my Bitcoin cash at that point because I do want to see that experiment work out. But the way that it's going to be exciting, I think one of the issues on both ends and even Bitcoin Core was talking about, this is lack of actual developers in the space for both parties. There's not enough people learning C++, even starting, and we're actually working on bringing out a full curriculum for Bitcoin developers on block geeks. Might be rolling in February. At the top or bottom, like learning C++, the whole architectural, everything, the whole nine yards. Super excited about that. How do you guys see the demand?  Yeah, we get pitched a lot for Bitcoin developers. So we've accepted the challenge and we have one of our in-house blockchain engineers building up the curriculum right now. That must be a really good field for new, like young coders to sort of choose. Like do I want to be like a Bitcoin developer and Ethereum solidity developer? Do I want to be like an artificial intelligence, deep learning machine learning guy? Like there's so many options right now. I think if you get into the blockchain space, it's wise that you learn them all. Yeah. It gives you a lot of insight to how other platforms are designed. So learning a little bit about C++ and learning the Bitcoin architectural design layers and then learning about Ethereum and maybe learning about the other ones out there, such as even like Hyperledger, even though they have a crypto and then doing like cross-pollination of the ideas and the systems that we learned really will help you out to become a good full stack. The one thing I saw too out of this whole Segwit 2x debacle that it is promising is like, I was really scared that Segwit 2x was going to sort of fork Bitcoin, a fragment Bitcoin. And you know, my theory on the whole think what happened on the weekend was that they were going to do this when Segwit 2x happened. And what did happen was coincidentally when all this price action started happening on Bitthumb, the zero fee exchange where you can do wash trading, coincidentally the difficulty adjusted on both Bitcoin Cash and Bitcoin. So Bitcoin Cash had the favorable difficulty and 60% of the total hash power moved to Bitcoin Cash, which slowed down transactions, created this massive transaction backlog of 120,000 transactions stuck in the mem pool on Bitcoin. And then also like these celebrities started coming out saying Bitcoin Cash is Bitcoin and like Craig Wright said Bitcoin Cash going to a million dollars, buy Bitcoin Cash. Like they all started saying they're buying it. Roger said in an interview and he tweeted that he sold his Bitcoin for Bitcoin Cash in theory. I'm like, it was a pretty coordinated attack. And I mean, I think it's an attack because it was coordinated. Like it's not an attack that you, it's sure it's an attack. It's an attack on. I wanna say it's a, I would say it's a, it can be like a takeover, no different than if you and I wanna corner the market. There's many case examples according to the market or you and I wanna corner a stock where we manipulate the stock. It's in the great area of legal, in crypto world there's no such thing. There's no regulation, right? But it happens all the time in other markets. Well, a lot of people's like, Ryan Charles has a YouTube thing. And it's funny because if you're on that side like the Bitcoin Cash side, you'll say it's not an attack. But it's funny because they say it's an attack and then the next sentence is it's not an attack. So it is an attack and it's a coordinated attack. And it was like, you know, obviously it was not, it was meant to decrease the value of Bitcoin and increase the value of Bitcoin Cash and slow down the Bitcoin blockchain and highlight the problem of having these limited block size to make the bigger block size sound better.  But thank God it didn't happen because if we had to deal with what was going on the weekend plus a fragmentation of the Bitcoin community between two megabyte blocks and one megabyte blocks and all the CEOs of these big Bitcoin companies being looked at as villains, like that would have been terrible and I think they would have done a lot more damage. But the good thing that came out of this was the segue 2X guys called it off and thankfully they did because Bitcoin would have been so much more weaker during that fork for Bitcoin Cash's attack to happen because what they would have done was taken the hash power, split it between both chains. Difficulty would have been higher on Bitcoin and Bitcoin 2X than it was on Bitcoin Cash. After the fork, they would have moved all the hash power to Bitcoin Cash and then because the hash power would be split between segue 2X and Bitcoin, it would have solved the chain. So we would have been like three months before a difficulty adjustment happened on Bitcoin and Bitcoin segue 2X and we would have seen like three hour blocks like the transaction backlog wouldn't have got cleared for months. So Bitcoin Cash would have had a much bigger position there.  And the good thing that came out of it going back to the developer conversation was like now we're starting to see companies that were complaining about the Hong Kong agreement not being kept in segue 2X not being adopted. They're starting to hire Bitcoin developers. So these guys, these are like some of the biggest companies in the ecosystem like they benefit the most from Bitcoin and they didn't have any Bitcoin developers. So now you're seeing job postings go up for these big companies to hire Bitcoin developers. So it looks like your course is gonna be just on time. It's on time brother. Coming out, coming out soon. Cool. So I think we'll wrap it up over there. So what do you think we'll be by the end of the year for everything? What's your outtake? End of the year? Yeah, Christmas time. Well, we might as well talk about the price then of Bitcoin and Bitcoin cash since we've been talking about it so much. Yeah. There's two things happening that one for each that's pretty major events. There's Bitcoin is having the CME futures launch for trading in December or by December. So it could even happen in November which is gonna be an influx of money for Bitcoin. You know, Wall Street, Wall Street's coming in. Mike Novogratz has been saying for a while that the herd is coming, right? Like you can hear the footsteps of the herd into Bitcoin. And he's, Mike Novogratz got really wealthy this year. He made a lot of money on Ethereum. He placed a big bet on Ethereum. He also owns a lot of Bitcoin. And now he owns Galaxy which is a fund that invests in cryptocurrencies. He bought $20 million worth of Bitcoin on this dip this weekend. And he knows, like he's very plugged into the space. He knows the money's coming into Bitcoin. So when the futures trading launches it's gonna be an interesting thing. Like we could get shorted, you know? We could get shorted. I think shorting is gonna be big. Yeah. Or everybody could go long to get their position to sort of like have their... Who was it? The announcer, SME, they're coming in. The CME. CME, sorry. LedgerX is another one that has Bitcoin derivative trading as well. I think it's derivative trading. But it's LedgerX and CME are the two big ones. So what do you think global shorting's gonna have due to the actual price? I don't know because they've also got these like volatility stops on Bitcoin market. So if we ever go like, I think it's 7% to stop for an hour or some sort of time.  So I mean, we have 14% swings in crypto like daily. So I think when Bitcoin moved up today, like a lot of the altcoins in Monero, Litecoin, Ethereum, Bitcoin Cash, like a lot of them dropped 15% because when Bitcoin, like that's the sort of fractal pattern right now when Bitcoin takes off or run everything else drops most. Most, yeah. So it could go either way. It could go, we could go to 10,000 by January 1st or we could drop to say 4,500 or even lower. I got buys placed at 49.50. We got as low as 5,500 on the weekend. I didn't quite get my buys filled on Bitcoin but I sold a lot of Bitcoin Cash around 6,500. And I'm gonna buy my Bitcoin Cash back. If Bitcoin Cash goes to 500, I'm gonna buy it back because I do think that there is an interesting use case for what Roger's doing. They got a lot of money. Roger and Craig and Calvin and all these guys, they have a shitload of money and they're very passionate about Bitcoin Cash. It's like a religion at this point. So they're not- I've been saying this from day one, old crypto's religion. Yeah, it is. You have been calling that, right? Like you're saying that every major crypto needs like a Jesus figure, right? Like Vitalik is Ethereum's Jesus.  But he is that kind of figurehead that would spur followers and like loyalty and you know, falling in line and Craig pretending to be Satoshi, whether he is or isn't, I'm pretty sure he isn't. Jehan, the biggest like mining ASIC manufacturer. Like these guys are like a super trifecta of personality. So Bitcoin Cash is not going away. I think it's gonna like fall back down to like maybe 500 bucks until coin and like I said, there's two big events happening. The next big event for Bitcoin Cash is when Coinbase releases their coins. Cause they still haven't released their coins. Like 500,000 Bitcoin to get released. Now, I think that what's gonna happen with those coins is they're gonna get dumped because people want their Bitcoin. Oh, talking about, sorry to pause you there. Did you hear about Square yesterday? Yeah, Square. That's pretty, pretty awesome. Fucking drive a lot of new users. Yeah. And Square is like, you know, they were, Jack was asked, it's Jack Dorsey, right? Jack Dorsey, yeah, same with Twitter. Someone asked him why, why put Bitcoin on, right? And he said that most of his users have been begging him to be able to buy Bitcoin as an investment to hold it long to sort of put some savings into it. Yep. They haven't been asking to buy Bitcoin so they can spend it at Starbucks. Nope. Right? Like that's the Austrian economics sort of coming through there to show that the biggest use case for Bitcoin and cryptocurrency right now is a store of wealth. So we'll see how that sort of a crypto Keynesianism Bitcoin cash works. I think it will work eventually, but Bitcoin cash is gonna get, I think suppressed back down to like $500 until Coinbase releases the coins. Because think about it, if you're this big Chinese miner and you've been made fun of and trolled by these core supporters as you like to think for years and maybe you've got a blank check from the Chinese government. Maybe you don't. That's a little conspiratorial on my end. I think there's something there, but... I think the price is gonna bottom out. This is such an artificial price. Why would you pump Bitcoin cash to $10,000 if there's 500,000 coins sitting at Coinbase to get these core supporters rich? Like you're gonna wait until it, you're gonna shake them out, right? Bitmex just announced, they're one of the biggest exchanges. They're gonna sell their Bitcoin cash for Bitcoin. Coinbase is gonna release the users that don't like Bitcoin cash, which is the majority of them, are gonna sell the Bitcoin cash, probably gonna be around 500 bucks. And then after that point, I think that's when they're gonna do phase three of this big pump and put it over the price of Bitcoin. They're gonna try. Unless Bitcoin's at like $100,000 a coin at that time, I don't think it's gonna happen in the next few months, but... No, man. I do recommend that people, even though I don't like Bitcoin cash, the way that they're marketing and stealing users and claiming to be Bitcoin, I do recommend you hold on to it because eventually, Roger's whole mission now is Bitcoin cash. And bitcoin.com is like going full Bitcoin cash.  It's like they're all in on this. So hold your Bitcoin cash because it's gonna get pumped. I mean, or sell it now and buy it back lower, but that's not, I just wanna do that. You should hold it. Yeah. Hottler. All right, bro. Let's wrap it up there. What are you gonna do with your Bitcoin cash? Bro, I'm a long-term investment holder. I don't do nothing. I don't move nothing. I just chill, I forget about it and I'll see you in 10 years. Yeah, that's pretty well. Or I just have you manage my money because I don't do, I'm too busy building businesses. I'll hold your cash for you. Yeah, I'll hold my cash. All right, man. Do you cover everything? Is there anything else to talk about? I don't know. We covered pretty much everything. I'm actually having Jimmy Song on next week. I'll talk to him more about this in technical detail. Yeah, so we'll cover everything and we should have a round three or no, this will make round four. Another podcast soon. Sounds good. All right, bro, talk to you soon. All right, later, man. Yeah, peace.


Hello and welcome everybody. I'm Sebastian and I'm myself located in Munich. I would have had a really short way to this conference, but now I'm like everybody else on the internet, giving you a talk about why continuous integration will make your life easier if you collaborate with teams on our packages. And I will talk about one use case I have. I need to analyze a drug because I work in the pharmaceutical industry and I need to check does the drug influence an antibody level which will interact with the virus. So does the drug really change this antibody level and does the drug make us healthy or not? To analyze this, I will prepare a summary table which will not only give the levels of the antibody that I'm checking, it will also give me the quantiles. It will show the antibody level of people treated this year, the antibody level of people not treated this year, or the two separate or do the two overlap, I don't know. So this is what I'm going to check and then we'll look at the distribution plot to also see the same. In this case, I agreed with the condition that if 80% of the patients do not overlap, it's totally fine for the drug to go into further analysis. So for the demo, let's go into our studio. And in our studio, I've already prepared something. So here's the distribution plot. So in the distribution plot, you can already see how the distributions actually differ. But now run the statistics here again, all the quantiles separate if we look at 80% of the patients. What we see here, we have a quantile of the people who get treated, which ends at 146. And it starts at 149 for the people who did not get treated. So it's separate. And I would say, hey, let's go on with this drug. And for the investor drug, it seems to be pretty good for this antibody level that I looked at. So this is this IgG antibody level here. But I go to vacation. I didn't have time to report this finding to the clinician. And then two weeks later, my colleagues comes and looks at this and doesn't read the statistical analysis plan. And it says, hey, normally we don't use 80% of the patients because normally we use 98%. So we use these quantiles. And then he runs the code again. The plot doesn't change. But what changes are these numbers? And now we have an overlap and we don't look at the drug anymore. So this drug is basically kicked out. And we would maybe miss an opportunity here for this drug just because some statistician changed these numbers because of a mistake. Of course, you would double check with the statistical analysis report. But still I would come a week later and tell him, hey, did you look into the statistical analysis report? The numbers there are different. How can we save this time? Number one, I would wrap my code in an R package. So in an R package, it's way better to see the code in this summary function. And the function is nicely documented. Number two, I would put my code into version control. My code is in Git. So now if my coworker wants to change something, he needs to open an own branch. He cannot just work on master. So he would open this coworker branch and then he would change the numbers. Now how would this code, with the new numbers get into my code? He would open a pull request on GitHub. So this is how you do this. You open compare changes. You go to this branch. Which is the coworker run. And here you see the difference. So now my coworker would view this. And here is the third piece I have in place, which is really awesome. And this is an automatic Google Cloud build that automatically checks my code and says my coworker, hey, all of the checks have failed. Where did I put the checks in? I put them in RStudio. I wrote a little test here that has expected values for the lower quantiles and runs some sample data set against these expected values. And I have a Docker file which runs our CMD check at the end. So it basically runs the test and checks for it. What does Google Cloud build do here? Every time my coworker checks in the code. So here he has the branch 0 or 5 coworker. You can see what my coworker did wrong. You can see numbers that mismatch. And you can see the test that fails. My coworker can go back, maybe read the statistical analysis report and wouldn't have to wait a week for me to come back because I put this in there. And everything runs automatically and can be automatically checked. This was already it. So this was my short talk on how you can speed up your teams. Thank you. Thanks for listening. I'm Sebastian. This is how you can find me. And there is the link to the code on the bottom of this presentation.