So we're here with that. I think hi hi this is candy from I think Innovation technology cooperation, and we have factory located in Shenzhen also over our NT team in Beijing And here we would like to recommend these PDZ camera by 20 with full medium pixel and with high resolution and the price is very cost-effective and the low price Just maybe eleven point nineteen nine dollars. You can four how many pieces five or one thousand moq One thousand moq. Yeah, and I'll see here. Is this outdoor? Yes, this is outdoor and also support with battery inside nine thousand and six hundred mah inside support about ten months is super long stand by with a battery life and also for the support So you can just put the solar panel on it Yeah, yeah, it can track with these cameras and then walk all year round without taking out from the world Is this 4g? Yes 4g sim card insert. Why do you put the sim card somewhere inside here? You could insert in this 4g card and this is SD card and this is waterproof. Yes waterproof IP 65 So all the raining no problem. Yes or no problem And for the solar charge all the year round and it could be charged But even in rainy days, how kind of good price can be and for these 4g battery camera We can give a very cost-effective price 55 dollars for European version and also we have USA version for optional like this. How good is the camera? Good quality. Yes, it's very good. We have we these the life could be about five to four or five years that this year and There's no zoom. It's just PDZ camera a little bit to me. Yes, PDZ camera and it can move tracking and Tracking like this. All right. Yeah. Yeah, cool. What is the most popular product you have most the products? Actually this is also our new mode and we would like to for face-to-face communication Like VTRAD and you can communicate with the people in front or in this camera and Then the people in front of this camera could also see you from these screens Nice. So it's like a video conference. Yes. Yes And for this surprise is also very cost-effective with 16.8 dollars M.O.Q. 16. Yes. 1.6. 1.6. Including how big is the screen? This screen maybe 4.1 or you mean the resolution? No, the the inch inch 3.3 something. Yeah, yeah about 3 inch like this. And the video conferencing is on your APK on your app Oh, yes, it's not I cannot use a Facebook Messenger or WhatsApp or something. It's only your app. Yeah. Yeah. Yeah the specific Software like this and it's zoom in on the person zoom in Maybe yes. Yeah, actually is also move tracking like this and we will design like this Private mode design and this one. Yeah All right. It's all a private design if you like we could design like this and I see up there It says Alexa, Google. Yeah. Yeah, all all our products could support Alexa and the Google assistant and To us mark. Yes, all of them all over cameras. All right. You don't make anything that doesn't work Everything is work compatible. Yeah. Yeah, that's cool. Which other product you want to show other products and also this is our outdoor bullet cameras and it's mental and for IP 66 and these nice, it's very Good good optics good quality camera. Yes for the lens is All your camera is 1080p And this 1080p full HD for yeah. Yeah. Yeah to actually for this We have to MP and also we can do for MP optional for this 2 megapixel for make yeah. Yeah. Yeah, and this one and also this Now we have already have the full MP for this outdoor dome cameras and it's super move tracking and also with high resolution nice And for this price is also very cost effective just 14 14.5 dollars MOQ 1000. This is Wi-Fi. Yes Wi-Fi and Also, we could if one 4g and we have this mode this mode this model But this is a weatherproof Waterproof. Yes. I think I see five Have any IP 67 67 and if you need you maybe this we could support IP 6667 like this this point and also here Yeah This this is our low battery camber and could also support with solar panel trash with three watt or five watt Optional and for this surprise is very cost effective with adjust 19.8 dollars and also we have four medium pixel optional Support AI human detection added together inside. Yeah And here we have a more and more these are different kinds of designs here Yeah, and this the outdoor dome camera and this is overfixed for these is our Heat Heat price could be six dollars if without adapters It could be six dollars for this one. How does it connect? Connect with the power cable type C Yes, could taxi and now we will we now will change all our cameras and to the type C Cool, which other product is this is doorbell doorbell. Oh, yes It's also low battery with five 5200 mAh Inside of these and also support five to six months is about for the battery life And we have the two modes optional if you want Anyone if okay, and the price is very also cost-effective 19.8 dollars and also you could connect with the tribe trying Oh here nice here What is this could connect with the train is the ding dong you mean that means you put this inside your house And then you could hear the ring inside your house Ding dong. Yes. Yes. Wow. How long is the battery on this and could be 90 meters 90 90 but you put the battery in there, but no, it's electricity and this is connected with Digital point-to-point connections with the doorbell. What is this transmission is 2.4 gigahertz some kind of signal System radio something. Oh Yes, it's 2.3 a kind of digital connection just Hold and press these and then it will connect with the doorbell automatically. It's very fast Cool. Yeah, you need another system to open the door That's that's a lot of different cameras here. Any other camera you want to talk about? Oh this one This one is also our new mode and new model is dual cameras with your dual sensors this below is 280 anguished and For this and it could also turn around and so could monitor all view around Like this and it's working at night. Yeah. Yeah. Yeah, and for the flashlight They in the color like night vision Nice, but it only turns on the night vision when there's a movement. Yeah. Yeah So the light alarm like this and motion or the motion detection and motion tracking If there's a motion somebody come and can I speak to them? Yes They're like a speaker two way all over camera support a two-way audio. There's a speaker there Yeah, yeah, yeah, what kind of price and the for these is 18.8 dollars also generally is 1000 m oq. All right. So that means this is only Wi-Fi Yes, it's electricity but and for the outdoor if you want battery We would like to recommend the the for G. Yes for G. That's the highest one. Yeah. Yeah, it's You said it's one. This is the highest. Yeah. Yeah, and we have various version How many camera you sell every month? home One ten thousand like more than ten thousand. Yeah. Yeah. Yeah, if the customer has more requirements and the Sales turnover is the feedback is good and the turnover is growing growing. Yeah, Shenzhen Yes, we have our factory in Shenzhen All right. Yeah


What's up everybody, JC here for Jasper's casebase.com 2022 Panini Immaculate Collegia football just sold out This is a one box break down a number block number two Again, we go by the first number of the left side serial number dash. Everybody gets a random from zero through nine Here's a dice roller Would have been nice to paste the customer names, right? one second Paste in the customer names here so Kelly I believe got it started and got three and then Bradley got four and then Nester had a one and then of course Bradley ending it off there with the last two So there you go, and then zero one two three four five six seven eight nine perfect roll the dice and It's a five and a four nine times. Good luck one two three four five six seven eight nine Nine times five four nine Kelly at the top down a Bradley nine times You go one two three four five six seven eight nine Nine times there seven down a five Perfect. So again nine times nine times. So Kelly was about seven Nester ending all redemptions Kelly with nine Bradley with eight and two Kelly with four Bradley with one six three and five So again guys, this is a quick little one boxer. I don't think there'll be any trades for numbers So let me just quickly paste in R&B there So I have four boxes left one two three four. Let's see which box we can generate here So do the same thing if I roll a one two three four we'll choose a box there if it's a five or six We'll re-roll it three So one two three we're gonna go right here So we have three boxes left for the one boxers and I did repost up another one of these one boxers as well Rebel it's going well man. How are you doing today, man? All right, here we go First one is a little Justin Herbert go ducks 92 out of 99 That is a Bradley was about to we got a Khalil Shakur for Boise State. That's four out of 99 That is spot four Going to Kelly. I did not rebel. I did not man. I I've seen all football Sunday only Breeze Hall Three of 15 That's another one there spot three runner Bradley Creates game you've ever been to What was so crazy about it? Whoa? beautiful Chick-fil-a patch Kennedy Brooks for Oklahoma four of ten going to Kelly look at that This is why I do love immaculate and NT and especially flawless all the patches are going to be beautiful We have a Kenneth Walker three out of 25 Bradley was spot three and last one actually looks like it They've been relics. Maybe I should do this one first. That's Drake London and Juju Smith Schuster That's a 90 out of 99 nester with spot zero All right, just like that. There you go. So nothing super crazy out of here This is probably the best patch we've got so far But some good names there with that Kenneth Walker Breeze Hall Little Herbert base there, but very nice Chick-fil-a RPA. Appreciate it guys. This is break number two Number threes in the store jaspyscasebreaks.com guys. Thank you


So, we're going to be talking about deep dive and particularly RUG, which is currently a project within CNCF and EdgeFS as a new operator, which is very similar to what CIF, but designed for a little bit different use cases, so we're going to be talking about that. A little bit about myself. So, I'm founder of Nixenta and CTO. Recently, we just sold Nixenta to DDN. And before that, you probably, Linux, iSCSI, I was a Linux hacker for a very long time. I didn't met with Linux, but for instance, if you're using iSCSI within Linux kernel, this is what I've done back in 2003. So, what is RUG? RUG is essentially is an orchestrator which is used for in cloud native storage, particularly in Kubernetes and extends Kubernetes with custom types and controllers, which are tailored for storage and soft storage issues. It has deployment. It does bootstrapping, automates configuration, provisioning, scaling, upgrading, migration, disaster recovery, monitoring, and resource management. These are all very complex tasks. And if you do this by any other means, you will have to think about essentially implementing something which they call Kubernetes. So, that's why we're kind of leveraging Kubernetes for these purposes. It is also a framework for many storage providers. It used to be just CIF a few years ago. Now these days, it's more than CIF. It's obviously a GFS. I'm presenting a GFS. There are other providers. We talk a little bit more about this later. It is hosted by cloud native computing foundation and it is totally open source. So, storage on Kubernetes. What is this really? Okay. So, this is the example of classic Kubernetes with three nodes, one master, or maybe more than one master for high availability. And then what do we see? We see processor, we see networking, we see disks. We saw, okay, so why don't we just consume those workers in the Kubernetes and build up a storage because that's all we need. We need just orchestration. And we want to run our software as essentially pods or stateful sets or something like that and consume the storage devices and provide virtualized software defined storage on top. So, we essentially deploy storage into the cluster itself. So, it runs and managed by the Kubernetes. The harness of power of Kubernetes for that. The automated management by smart software. It's a portable abstraction for all our storage needs. Rook is a framework in a sense that Rook by itself is not a storage data plane. It's just really an orchestrator framework for different providers. For instance, it does this storage resource normalization. It discovers the disks and presents those disks to the provider so they can utilize them. Not necessarily it can be just this. It could be the other persistent volumes which operators can consume. The operator pattern plumbing. So, we're leveraging this between the different operators and storage operators. Common policies, specs, logic. This is all we're leveraging, testing. And these are the current providers which we have, which is EdgeFS, CF, CockroachDB, Minio, NFS, Cassandra. And more to come this year. So, watch out. Now, what's in 1.0? And we just recently released 1.0. We announced this at previous KubeCon. 1.0 has two new operators, which is Apache Cassandra and Accenture EdgeFS. And we're going to be talking a little bit more about EdgeFS today. And we'll talk about multi-home network as example of usage and what we've done for EdgeFS. Okay, what is EdgeFS, really? First of all, this is Git-like architecture. And I just wanted to give you this snippet from the Git documentation so you can read about this. And you can kind of better understand how EdgeFS is implementing the storage within the itself. Two kind of three important points highlighted in red. One is if two objects are identical, they will have the same SHA. SHA is a fingerprint signature of the data block in Git. How many of you know how Git operates and using Git today? Raise your hands. How many of you know the Git and using the Git today? Yeah, I'm surprised that there are any people who didn't raise their hands here because Git is ultimately is the widespread source control management system. Why it's so widespread is because it's a fault tolerant and highly scalable system. And we saw that if you build storage system with the same similar architecture in mind, we can achieve enormous fault tolerance and availability. If two objects different, they have different SHA. That's how we essentially detect all sort of errors and corruptions. And then we do automatic self healing by fetching the data from different sites and regions. EdgeFS objects always cryptographically self validated and therefore globally unique. So what that means is it doesn't matter where your data or metadata is located, it will always have exactly the same signature. Therefore, I can match this signature and I can do global verification of that signature. You can think about benefits of global cache, for instance, right? It's totally immutable storage. You can cache it. You don't need to invalidate the cache. It becomes really scalable at that moment and very fault tolerant. So same as in Git, any modification or street modification is fully versioned. Essentially EdgeFS is a system which manages versions. Whatever you do with the system, whether it is block device, object file or noise scale, yes, we support noise scale as well. Any modification to that instance essentially will be versioned. And those versions is what we're managing and those versions is what we're distributing across different locations. It is scale out system and protocol unified object storage solution. Ultimately, it is object storage solution. It is protocol unified in a sense that it supports different protocols such as NFS, ISCSI, it supports S3, variation S3, particularly for HIT use cases. And it's most importantly designed for geotransparency and HIT use cases. And we're going to talk about this more. All right. So Rook at your fast essentially deployed as a Kubernetes operator. So when you see your stateful set, you will see, oh, okay, this is your stateful set representing the targets of the storage system. It's a full service lifecycle management. You can install, update, rolling upgrade, uninstall, reinstall. So the whole thing is managed by essentially so-called custom resource definition.  It knows how to upgrade correctly. It will take care of your interdependencies, which are complex in the storage system, and it will do the right thing. It is also tightly integrated with Prometheus and Grafana. So you can monitor the behavior of the particular data segment. It is easy of use built-in GUI. That's what we have. Sometimes it is kind of tedious job to go ahead and edit the CRD to change something. So we're sort of providing a GUI wizard which allows us to modify CRD so that you don't need the actual editor to do that. But the editor is good because that's your DevOps style, right? So you can edit the CRD and essentially commit this to the repository and then have kind of control of what's been changed, the history of the change of your infrastructure. It is run in embedded environments as well, as well as can be deployed in very large-scale environments as well. When it runs in embedded, it can run operators in just one gigabyte of memory and two CPU cores. What it does is really consumes locally connected road disks or directories, and we're actually working on adding a mechanism of collecting persistent volumes as well, like in a cloud, and then present virtualized SDS on top of it. It exposes different data protocols, and one of them, most important one for today is S3, which represents the object access protocol. Additionally, we provide S3X, which is noise scale abstraction and POSIX like extension on top of S3. You can do very nice things with S3X. For instance, it outperform S3 for scenarios like time series, databases, big table databases by almost 100 to 100 times. Scale out high performance on FS. By scale out in high performance, this is what really it is. It's going into potentially hundreds of thousands of IOPS. You can reach a million of IOPS if necessary. Scale out as quasi-block devices. What it means, you can have many block devices in the same segment scattered across various persistent volumes or just applications, and when you write to one device, it's really going to be leveraging all the disks and servers and zones connected to it. AGFS connected data. The important aspect of AGFS is that it can connect multiple segments together. It's not just one. It can be many segments. It can be hundreds, really. Again, if you remember, I talked about GIT and how the GIT is architected. Very similarly, we do reconciliation of the versions, and eventually we provide fully consistent view of whatever you want to synchronize. Cloud connectivity. What it means is that we can actually transparently present different object formats as internally just metadata within the AGFS global namespace. Block level geodeplication is critically important because it allows us to save quite a bit of the bandwidth when we transfer data between the links. Metadata only transfers. Because we kind of know the fully consistent representation of all the changes we're making, we can make an assumption that you don't need to transfer this or that particular data block, and all we need to do is just transfer metadata only. This is a tremendous savings when you're synchronizing multiple clouds together. Local caching, obviously, when you're enabling just metadata, there is no data yet, so we basically have local caching mechanism, which allows us to locally cache, then pin, unpin, and clone the datasets. And intelligent perfection is also part of it. We kind of do not wait for the IOR to complete. We're just reading ahead, and that is all built-in and transparent to the application. With all that, we're getting to the geotransparency, and it's real geotransparency, where you do not need to think about the data management complexities. You do not need to think about snapshot synchronization and stuff like that. It is transparent to the application. And it builds global namespace really. The protocol transparency is like, for instance, you can see the NFS files in S3, and you can see S3 objects in NFS transparently. And multi-protocol, that means you can actually from one segment right here have different protocols, whatever your application needs. A little bit more about the GFS cloud connectors and what we do. Most importantly, when you're talking about cloud, you're talking about object storage, right? So we're talking about S3 everywhere, transparently syncing regions. Metadata-only synchronization is critically important with local caching because otherwise you're going to be paying doubles and maybe triples, depends on how many connected sites you have. So we currently support AWS cloud, Google cloud, Microsoft Azure, and Alibaba is also recently been added. And most importantly to mention is that it operates with unmodified native objects. So what it means, S3 object in AWS can be seen as OSS object in Alibaba and vice versa. And you can set up synchronization with just metadata, so you don't need to move the data actually, right? So edge interface is really a multi-cloud layer with geo-scalability, which spans of geographically distributed sites connected as one global namespace. It's a Git-like architecture with full tolerance and immutable version metadata design. It scales equally well for object, file, built-in noise scale, or block devices. It is geo-transparency. It's always on, it is bidirectional access to the same S3 bucket or NFS export in different regions. It's automatic. Last writer wins update strategy for S3 object. So what it means if there are two users or applications updating the same S3 object, the last writer will have a preference if versioning is not enabled for that particular bucket. The SNAP view groups is what we have as a concept for the NFS and ISCASI synchronization. And geo-consistency is what we have the SNAP view groups, which are literally floating with connected geo namespace. So what does it mean floating? By floating, I meant to say that when I create a SNAP shot, let's say, in one segment, that SNAP shot is transparently will be available in the other segment. You don't need to send it. You don't need to kind of transform it manually. It just appears in a different segment. Any granularity protection, so we protect files, directories, buckets, logical unions, noise scale databases. It's all sort of built-in into the paradigm of geo-consistency. Geolocality and active LRU caching. So what it means is that this edge of S, you don't need to worry about latency of access to your data. Your latency is always local. If you have local SSD, your local writes going to be with the latency of what SSD provides. Your local reads will be with the latency your local SSD provides. This is critically important for HIT connected devices, because the latency is essentially killing the whole idea. An idea is great. Yes, you need to move your computing to the edge, but how would you do that without edge FS? So we need edge FS. Education synchronized asynchronously, and that means geographically eventual. Obviously, we cannot break the law of physics. Also, there is a latency between different locations. Yes, there is a 5G on the horizon. That's going to be another five years when the 5G is going to be really available for everybody.  What am I going to do? So how am I going to reconnect? How am I going to synchronize? And so on. So that's why we designed and developed and brought in the edge FS to solve that issue. Use cases to mention. So there are different use cases. I think most important ones are here. The multi-cloud CDN workflow. So obviously it's a classic content delivery network. You avoid full replication. You can do pin-on-pin flow cache content. It's a configuration of primary source from AWS, Azure, Abyy, and others. Cloud high availability. So cloud can fail. Your site can fail. So you need automatic fail-over. You need some fail-over over the cloud links. So redundancy is critically important. Operate in offline mode. So yes, so link can be disconnected. But locally we can cache the data up to seven days, and then we eventually will be synchronizing. And after synchronization is complete, your data will be exactly consistent as it used to be before. Azure ET2 and from cloud. So capturing of edge data in a local cache and provide clouds for AI ML processing is something which STX protocol was specifically designed. And most importantly, we also do not need to send the data if it is deduplicated. And if you send, we can essentially guarantee that what we send is necessary to be sent. Access global namespace transparently while avoiding the need for full replication is very important for this use case. And because we kind of rooted into the Rook and we started with Kubernetes, we're natively supporting persistent volumes across clouds. And it's actually very directional. So what it means by leveraging a few groups and snapshots, you can provide geotransparent synchronization. Yes, it can use just metadata only. And yes, it supports CSI for file and block TVs, and obviously consistency groups. Data segmentation and region awareness is also supported, means that if you have, let's say, a large Kubernetes cluster and you want most efficient access to the data our logic will select the closest segment and execute your application on the closest segment. All right, so one of the topics which we want to kind of talk today about is networking. Within the Rook, we're currently leveraging just the pod network, which as you know, in Kubernetes is a one big flat network, which is great, right? Very easy. So you have 1G, 10G, 25G, 4G, 100G, whatever. This is great. But it's sharing same pod network with a converged application. And this is a problem. When we're running applications on the same Kubernetes clusters alongside this storage, you probably want some sort of isolation. So not anymore. What we kind of come up with is a multi-home network. And this concept is when we essentially created different network for different user-specific purposes. And the network which essentially are just responsible for Kubernetes servers, API, Kublets and so on. Liveness, readiness, props kind of lives here. With that, you can essentially attach your application which needs specific user traffic to certain networking ports will be orchestrated within the same pod right here. If you want to take a look on a definition and example, how it looks like, like here, you see, okay, this is the Flannel SDS. And you see there is a RUCA-GFS namespace for which this network was allocated. We selected multi-CNI for very practical reasons, really. And it's just essentially just first CNR orchestration which we selected. We're going to be adding CNI Gini a meter later. But ultimately, why multi-CNI? Because it's backed by Intel. And we know that as far as networking, Intel is probably leading the space. So it makes sense to kind of select multi-CNI. It's a flexible selection of SDNs. You can do not just Flannel, you can do Calico, you can do others, you can do DPDK, you can do SRIV, DPDK, all sorts of things you can do with multis. It enables namespace isolation. This is an important feature because whatever you define in this namespace will be a network just for this namespace. And other pods will never actually be able to get the same IP address from this network. So it's totally isolated to the totally different networking devices. Okay, what does it mean for EdgeFS? For EdgeFS, from the EdgeFS point of view, it means improved performance characteristics. And we actually have done some work on measuring this. It means improved data security. That means if your application and ingress and ingress running on a different pod switch network, there is no way they can see what's happening on the back end. And the back end is often shared between various tenants and users. So it's critically important to isolate the application network from the back end network. And this is how it used to be. So you see it's just one pod network. And now we're kind of transitioning in this particular example to this front end isolation and back end isolation. You can have more than two networks. It's configurable. It's flexible and so on. The most important mechanism here is what we gain is improved QoS and SLA. When there is no packets kind of floating from application side, we can better guarantee QoS. It's going to be better response time. Therefore, it's better SLA agreement when it's isolated here. Okay, so the demo setup. This is a very typical demo setup, though in production we're running larger setups than this. Here you see four nodes cluster. So it's one, two, three, four hosts. Now after the deployment, you will see target pod. In my example, it was 4TB each. So it's like we have SSD for sort of metadata upload. We have HDDs which 1TB each. So we got one pod 4TB, another pod 4TB, another pod 4TB. And it's really a stateful set we're talking about. So this is a stateful set. Additionally, we have S3X deployment. It's a Kubernetes deployment style. So we'll get S3X pod, which we'll be serving this protocol and connected to the back end and front end. We also have Cosbench. It's essentially it's a workload generator which runs on a separate host just to simulate the behavior and kind of highlight the fact that with multi-home network, you'll get significantly better parameters. Now, if you take a look on Rook and GFS cluster CRD, typical CRD looks like that. So what do you see here? Okay, so you'll see the name of the cluster. You'll see the namespace. And from the previous slide, you remember that for that namespace, we've done different network. You'll see the image version. So we're selecting 1.20. We'll see the service account for our back and other primitives. You'll see the local host directory where GFS is going to be storing kind of configurational files of each target. And then you'll see some parameters which are coming from the Rook framework. Like, okay, we want to just use all the nodes, all the devices. We dynamically detect all this configuration and building this totally automatically. And some configuration, like we enabled read ahead, we enabled some optimization for performance, metadata float, and some other stuff, and some resource limitations. So when we execute this CRD, Rook operator will notice, okay, so this is edge of S. And therefore it will execute a particular operator implementation which build up all that for you. So you don't have to edit configuration, it will automatically detect SSDs, automatically detect HDDs and build most optimal pairs for you. This is essentially all you need to write to get the cluster up and running. You can play with this if you want after. So here we go. So we've done some performance analysis. Obviously, as I've been expecting, the results were pretty much, I was expecting actually better numbers than this, but it's still quite significant numbers about this. So what do we see here? So better response time. So response time in case of multi-home is significantly better by almost 30%. And this is when you're just leveraging one network. This is this multi-home network. So you may wonder why there's so many milliseconds. Well, because we have 128 write threads and 256 threads. And obviously, we bound by the idea we have only 16 disks in that system. But I've done this on purpose because I actually wanted to highlight how the system going to be essentially behaving with multi-threaded application. And the example is just two megabyte S3 object transfers, these three syncing replicas, and six terabyte of random IO dataset. So it's a real test case, real use case of how a system can benefit from multi-homed. On IO bandwidth, you'll see actually even better numbers. You'll see 40% better bandwidth with multi-home network versus the just pod network. So we can conclude that this multi-home, if we enable multi-home network, we'll get significantly better response time and better bandwidth. In addition to other benefits which I highlighted, like better isolation, data security, and other benefits. To summarize this brief introduction to RUG HFS. So first of all, RUG community is growing. We're adding more providers. So there are a few providers from Red Hat, which are coming out. There are a few other independent providers. We're improving existing providers. We're building kind of new practices, how to contribute. The top contributors I would like to highlight is Abana Yo, Red Hat, Mixed Antibody, and Suzy. These are the companies cloudability who are essentially putting the efforts into making this better. RUG HFS is emerging to address multi-cloud and Azure IT needs. We added RUG HFS for the reason because we believe without RUG HFS or something like that, the H computing problems, the problems for H computing will not be solved sufficiently and efficiently. So that's why we kind of wanted to, for Kubernetes community to pay attention for RUG HFS and how this can be used for those sort of use cases. The multi-home network is going to be available in upcoming one-one release, but you also learn that multi-home network can be significant in your isolation for the data security purposes, also improving performance, and it's actually possible to do this in the Kubernetes itself without introducing any additional layers or custom modifications. So all kind of clean built into the RUG and will be soon available, not just for HFS, but also for CF. And thank you very much. So I can accept a few questions. I have three minutes left. If you guys have questions, architecture, go ahead. Thank you for your presentation. And I have two questions. Basically, HFS provides S3 and S3X like API, and the data is starting no local disk or blob storage in public cloud. But I think what's the difference between HFS and can you compare HFS and Minio? Minio is just object. Minio is simplistic object. It runs on top of kind of directories and repurposing existing infrastructure. HFS is more kind of enterprise object, so to speak. It runs at a high performance. It can run on top of row disks, for instance, and it consumes row disks without file system. HFS also provides good compatibility with S3 and has additional options such as S3X, which is more designed for sort of big table kind of cloud scalability and geotransparency. Additionally, obviously, HFS is a unified protocol, so if you have block and NFS, which Minio doesn't. Yeah. Another question is about metadata storage of HFS. I noticed that you have the LMDB configuration in your configuration, but I think LMDB is not scalable, so. So we've done a lot of work on LMDB, but as far as metadata, metadata is globally scaled out, so essentially there's no centralized metadata server. With this architecture, metadata exists on all the pods, so it's gradually distributed, and because we're using the git architecture, so we can address this very easily because it's always immutable, so essentially it's a sharding across multiple locations, multiple devices. But I'm not sure. You just mean the metadata is automatically sharded across every node, but how to guarantee the, for example, one copy of the metadata is destroyed, or how to do the HAA? So HFS provides replic accounts and revision coding, which essentially gives you high availability, so it is in addition to the segmented storage paradigm where you can synchronize between the clouds. Thank you. Thank you. Great questions. Any other questions? I have a question. Is the HFS open sourced? I couldn't have found it in the GitHub or anywhere else. Yeah, so we have great news. We're open sourcing HFS within the next months or two, so it's coming out. So this is very good news for Linux Foundation and community. We also will be working with LFH community to make it part of LFH at some point, so it's getting to the full open source essentially. Okay. Any other questions, guys? Thank you. So with that, I guess we can conclude this session. Thank you very much for coming.


Hello everyone. Hello, Thailand. And I want to say that we did it. It's my second time in Thailand and the first time in Bangkok. And yesterday we tried to install PartyGem and I found it. And I'm not sure that I really want to install it. So it's not the first trip to Asia for me. And that's why I really know what is jet lag. And it's every time hard because I have no idea wake up at 4am or go sleep at 3pm. And yesterday, yesterday I was inspired by team. I really love this game. And I tried to find something in the internet. But unfortunately I found nothing. And I thought, okay, maybe a quest of Rubyist. It's super complicated for Google. And I tried to find Rubinia. But unfortunately I'm not sure that it will be useful for me. So, okay, my name is Anton. I am from Moscow. You can find some contacts. And also I'm top Talbot counter-architecture. And that's why I can use this meme. It's my favorite meme about architects. Someone know me as a guy who work on Hanami. And it's true. So, I really love open source. Also now I'm dry core developer too. A little bit because I know Piotr. And Piotr know me. Sometimes I make streams on Twitch. And usually you need to know about me something. I really love stickers. And I have a Durian sticker. And I really love some Donor or Burrito. I have a proof of photo. It's me in Minsk. It's near with Russia. I'm eating Burrito. And I really love this photo because on this photo I look like a person who goes to some Japan TV show. And if you want to talk with me, we can talk about coffee, beer, psychology. I have Nintendo Switch, 3DS. And I really love to draw some images from my presentations. And the first one was drawn by me. And also I really love stories and bad stories. And I try to write something and make a really good story. I expected that I'll be like this guy. But unfortunately, reality was a little bit different. And I'm a lucky person because I got a help from my friend. I really love him. His name is Georgi. And he is really quiet and loves to ask sometimes some questions. And also he is a flower. So the title of my talk is Events. We discuss after party. And now we will discuss events in general. We have a real world and in the real world we have a lot of different events. It can be anything. And sometimes as a developer we need to catch it and do something with it. For example, we have a guide. Who knows what is it? Okay. So in Git we can say that each commit is something that happened. And for example, I have Hanami contributions application. We have a list of commits. It's something which was happened with this repository. And each commit contains description and changes and some meta information. And for example, if we open any commits from this repository, we will see that something what happened. It's the name of this commit. We have a pilot like a change of files and the lines of these files. And also we have a meta information like when, who, and et cetera, et cetera. Another example of events is what happened with the user who tried to buy something. In your commercial application we need to track what exactly he added to order or maybe what deleted from this order. Also, sometimes we need to work with activity audit. And my favorite part is don't delete deleted data. Who have this field in database. So unfortunately in our applications we work with the current state. It means that we need to know what happened with our application on current moment. Not in the past, not in the future, only in current moment. And in this case we can say that our events, it's our actions when we call some controller actions or something like this. And our current state is our data in database. It can be different databases. The most important is that we store current data in database. And so I really love Jirpages, that's why I made it like a Jirpages. And Georgie asked what we'll do if we change it a little bit and start storing events instead of current data and make something like it. In this case we will get event sourcing. And today we will talk about event sourcing in general. And the first rule of event sourcing nobody know about event sourcing. The second rule of event sourcing is you need to store what happened with your application or maybe some aggregate or domain logic instead of storing current state. And after that you can take specific state only when you need it. So the first question if you can ask where we can store something, where we can store this list of events or chain of events. And in event sourcing we have event storage and event storage can be anything. It can be Redis, it can be Postgres, Datomi, Kafka, MongoDB, Oracle, etc. And event storage has some rules. The first one event happened and it was some time ago. We have no idea how many time ago it was, but it was. So the next rule is immutable events. It means that we can't update or change or delete or do anything with event. We can adjust, create one and so on. And in this case we really can delete or update event. And for example we have event store, it's a list of something. And we put, so how it works with event storage in general, we have events of storage, we put some event. For example, user created with some name. After that we say, okay, we need to update user, update his name to something else. And it's how it works. We can't go back and change something in the past, but we can create something new in the current moment. The next problem and the next rule of event storage is we need to work only with valid data in events. It means that we have a client, we have web application and some database. We try to send event. In our web application we start with the data. And if everything is okay, we can store it and say, okay, we can store this event. Or we need to write exception, response error or something like this. The second rule is data evolution. And what does it mean? It means that we have event store and we try to put some event like a first name. It's something. We need to remember that we have a first name, but in future our manager told us that we need to store, not a first name, we need to store full name. And we can't delete or update previous events and it means that we need to remember that we need to update some, we need to work with different data schemas of events in the same time. And that's why we need to remember about data evolution. Yep, we can break the application and to prevert this stuff, we can use specific techniques. For example, we can use optional fields. We can use binary data structures with compatibility levels like AVRA or something like this. And more examples you can find in this really good book. Who knows what this book? So, okay, if you're interested in data and some distributed applications, I really recommend this book. We will talk about this book a little bit more in this talk. And the next question, how we can get state from event store? We have event store with some list of events and now we need to take state. And we can calculate it. And for calculated it, we can use projections. And usually projections is a function which take projection. It's same as a block or same as a block, and we put a list of events and initial state and calculate some specific state. And in this case, project function is pure function. And it's extremely similar to each with object because each with object works like this. And we can change project function to something like this. And it's absolutely same. And how it works? We have event store. We put the first event when user created with some specific name. After that, we create one more event that user was updated. And we start to calculate the state of this user. And for this, we go to the first event, try to find something. We find that user was created with specific name. Go to the next event, and next, and next, and next. And after that, we will see that user updated his name to something else. And the problem is that it looks really slow. And we need to recalculate current state every time when we call this stuff. And yes, we can store events last 10 years, maybe 2 years. We can have a lot of different events. And it can be really hard to calculate it in Ruby or maybe in other different languages because it's performance issues. But we can fix it. And for fixing it, we can use abstraction with call it streams. And how it works? For example, we have two different ice buses. And we have a lot of events for each bus in this case. And for example, we have two events for first bus and three events for the second one. And each bus has an identity number, like number one, number two, or something like this. And we can say that, A, I want to put all events related to the first bus in a specific stream. And after that, I can just take only related to these bus streams and make same stuff for the next one. In this case, we will take less events for processing. And instead of processing all events from database, we can process only 10, maybe 20 events for a specific aggregate. And also, we can make a parallelization for calculations in the state and start a calculation state for two different aggregators in the same time. But the problem here is we need to introduce one more abstraction. And the next idea, how we can improve this idea with getting state, we can create a snapshot of the current data state. And for example, we have a projection function. It's a pure function. And the idea here, we can put any state into state attribute. It can be empty state or it can be some pre-calculated state from the past. And how it works, we can put event into event store. After that, take it from our application, calculate state, put the state to different database. And after that, when we need to show the state to user, we can just show it from the database. It's called SQRS, and we will talk about it a little bit later. And now, the general benefit of this idea is we can use any kind of database as a cache. It can be really anything. And we can use different databases for cache because in some cases we can use relation database for searching and for index page when we need to return a lot of, at least with a lot of information. And for example, we can use the commentary into database for show a full page like a LinkedIn do with a page with your profile. So let's talk about the real world and where it can be useful. I found some examples of where it can be really useful. For example, it's e-commerce systems. In e-commerce, we have an order and checkout flow. And in this case, we need to remember what happened and what exactly we did with it because in this case, we can easily debug it or recalculate state for the previous time or something like this. Event sourcing is really popular in places where we work with money. And also it's most common example if you have, if you need to version control like Wikipedia docs, Google docs, group editing, event sourcing can be useful here too because you can travel back in time and recalculate the state every time. And also some domains contain event sourcing by default. For example, it's a tracking system or if you're talking about some stuff which show how games was done, we need to calculate when someone make a goal or something like this. We can use event sourcing for the systems too. And so if you're talking about Redux, we can say that event sourcing and event driving architecture is a little bit different thing. And Redux, you can start things that Redux is event sourcing but unfortunately it's event driving architecture because they use events in a different way. In event sourcing we store what happened in a system. In event driving architecture we event happened and everyone will be know about this. And in this case it's a little bit different way to work with it because event sourcing can be synchronous. Event driving architecture is synchronous by default. So yes, blockchain is a good example how event sourcing can work. And some pros and cons of all the stuff. The first one is easily to communicate with domain expert because you need to remember how business events work because usually in event sourcing we work with business events. We got logging out from Box. It's extremely critical for places which are related to money because we can audit what happened with some customer or something like this. We got time traveling and the most interesting stuff we can restore system state every time when we need it. And it means that for example we have two databases, one with events the second one, it's Postgres for searching or something like this. And when Postgres will down like in GitLab a few years ago or something like this we can just easily recalculate the stuff and state and just put it into a database. Event sourcing in general changed a little bit to a mindset because we don't need to work and think about tables. We work with changes and events in general. And in this case we can use any data structures which we want to use and easily change database implementation. For example we play it with Elasticsearch, understand that we need to use some relational models and move everything to my SQL database. And also event sourcing has a lot of cons. I found five slides of cons or something like this. And the most terrible cons is really complicated abstraction and it's not popular in Ruby. And in this case you need to explain it more and more and also developers need deep programming more. So it's really hard to get the state rises and crude if you try to build a block with event sourcing you will spend more than 15 minutes on this. And sometimes it's really hard to understand whole chain of events because you have a lot of different stuff in your system and it's not a current state. It's just a change and you need to understand what exactly happened. So also we have a problem with version and version compatibility because if we will change something we need to support different compatibility levels. It can be backwards or forward compatibility. And also we can't update or delete events. And if you live in Europe for example it can be hard for you because in Europe everyone can go for you and say please delete all information about me and you need to do something with it. So and I have some advanced topics to cover some questions. The first one is how to display created data as soon as possible and we have two different solutions for this. The first one is cheat user, how it works. We have a client web application and database with events. We don't want to use read and write models and when a user send the event to our web application we validate it and put it into database and on our client stuff we show the data like we have in a database. And the second one is web sockets and long pooling approach and it's a little bit more complicated. So the next question is my favorite question how to make write events order and why it's important, it's important because we have more than one application and one database and for example the first one tried to send an event, the second one tried to send an event and what exactly we will do with this situation we need to try to use some distributed logs, we need to introduce a lot of different stuff and I want to say hello to distributed systems and suggest this book again and also this talk with Roth Soferby from this year it was really good and this guy explained a lot of stuff around distributed logs and etc. So I made this talk in Europe and one of the question was how to delete user-related data because in Europe you can do it and we have two approaches, the first one is retroactivate event, you can read martin flower block about it and the second one is encrypt everything and lose data key. And also one more question was we have a list of events, how to search some information for example we have a list of events about users or something like this or maybe orders and we need to find some specific order by specific name or something like this and how we can do it and the most easiest way is QRS and write and read models and I'll explain what is it a little bit better on the end of my talk and let's talk about Ruby finally we have this abstraction and we want to implement something like this in Ruby and how we can do it, we have a simple way it's libraries, the first and I think the most popular library for this is Rails event store from Arkansas and folks from Poland the second one is a sequence they have a lot of stuff around this library and my favorite it's event to project because they have really a huge list of futures and a lot of different stuff also we can use BraveWay and build everything by self and for example if we want to use Kafka as event storage we can use Kafka it's a really good library built by magic and I really recommend this library if you work with Kafka and in the next version it will be much better or you can take pure Kafka adapter and build it by self or made it by SQL without any problems and I have some experimental repository you can see how it works in real life and if you know Japan language in Japan they have evento, it's mean events and in my case it's evento which means nothing and also I have zero tests for this library it's production ready library so let's try to explain how we can migrate from some existing part of code and for example we have action where user adds something to cart to our order and we have Hanami action with different stuff for example we need to validate our params after if cart exists if cart exists create copy if it doesn't exist create a new one after that send something into analytics and redirect our to order path and so the first step it's event storming event storming it's a really important technique to detect business events in a system a lot of folks make some workshops around how it works they use a lot of stickers and it looks really fancy and after event storming we can understand that we need to use two different events the first one it's item edit and the second one copy item edit and the next step we need to start apply our events or store it in an event store and for this we can use event store dot apply and put event with a full pilot into this event storage after validation so the next step how to make a business validation on business validation I mean this stuff because we need to validate that this item exists or not and we need to calculate state and for this we can use we can take a stream for specific order take a list of events and after that use project function with specific projection and it's look like this for example we have two different events and initial state and when we take one of this we put something into state or when we take other event we put something else into state after that we can calculate all events and ask do we have this item or not so and the next step it's subscribers it's subscribers it's something like a similar pop-up we can put everything and I'll start talking faster because I have only two minutes so and after that we can move logic into domain and that's all and we can use event sourcing only as a part of our system for example we don't need to store events based on user but we can store events based on order and what's the next the next is Sega who know what is it sorry but we'll talk about Saga Saga pattern what is it it's a long business transaction it's like a railway programming but more about distributed stuff and usually sometimes look like a state machine the next stuff it's my favorite part it's concrete responsibility segregation and some Martin flower here and how it works for example we have crude operation and in updating or deleting we put something into database with SQRS we have we are reading from we're reading from query database and when we need to update create or delete something we put everything to common side database and create events for updating query database I have 10 slides just quick so we have a right model you can find it here so let's the most important stuff is to look outside to Ruby because if you open an awesome project you will see nothing about Ruby I create something about event sourcing and DDDA again and so when I read this book the first time I look like this guy and it's really important because we are talking about business events in general and distributed systems and I can suggest this book this one, this one and conclusions I have fun so okay the most important part here it's this one it's really expensive and nobody know why they use it but sometimes when you understand that you want to solve this problem with events it will be better event sourcing crisis something else but it can break your startup or application after that you will be fired and so and I think event sourcing will be a trend in the future and if you don't trust me please trust Anjai it's a guy who made event sourcing Rails event sourcing gem and that's all finally big thank you to Anton


Hey, this is Michelle Getzinger here and I'm with the Pittsburgh Your City show, the Aspen Wall Edition, and I'm back for number two at Luke and Mike's Front Porch Restaurant. And today we have a really exciting show. It's all about liquid. And I have three local business owners and we're going to be doing some fun stuff. We're going to talk about some vegan juicing. We're going to talk about some mixed drinks and soup and an IV. What? An IV? Yep. You're going to have to stay tuned to check this out. I offer a variety of juices wholesale priced to Miss Sherry here and she mixes them into her drinks that you can find at the bottle sales. So tell us about those. So this one is a Blackberry Margarita Fresh Blackberries Fresh Lime Juice from Botanical. Our own Simple Syrup and a whole lot of tequila. That one. These are our to-go, our to-go libations. We have them in-house as well and this is our orange-green tea. It starts with fresh orange, fresh mint, again a fresh orange juice from Botanical from Grace, a lot of Jamison and vodka. Mix that up. So the benefit of getting whole vegetables and fruits juiced the day of and adding them into your drinks is you get much more nutrient value out of the juice itself than you would buying it in a carton from a grocery store. Most of those juices are on that shelf for about two weeks not to mention how much time it takes to be shipped there. So you're getting a lot more nutrient value in these drinks and then wholesale juices as well last longer if they're juice day up. So that's the benefit of our juices when you order directly from us. This is one of our fall selections and this is a hot pear, fresh pear juice and apple cider with spiced rum and fresh thyme. It's wonderful. It comes to go. You can warm this up, hopefully drink it in front of the fireside. It's delicious. Hello, my name is Linda. I'm a registered nurse and owner of the Ivy Center in Asimol and I have Sherry and Michelle behind me and they are getting the eye energized today. It has B complex vitamins, magnesium and calcium. It helps boost energy, hydrates. There's many benefits of IV therapy so I'll start with Sherry. There's not many here in Pittsburgh. It's popular in other parts of the country. LA mostly there for the health benefits and then party towns like Vegas for the hangover which it does work. The basis of IV therapy is that you're getting the IV nutrients right into the veins whereas if you take it orally your GI tract there can be absorption issues so you may be only getting 25% of the vitamin or mineral whereas IV you get 100% is available to yourselves. So Sherry and Michelle they're both infusing right now. The process takes about 45 minutes on average from pretty much start to finish. The effects of the eye energized in IV therapy in general last about five days depends on your body, depends how depleted you are in your different vitamins but a lot of people they talk about feeling energy, boost of energy, clarity, mental focus that they don't feel normally. We have about seven different IVs and they range from people with chronic illnesses that may use the glutathione or vitamin C as an immune booster to the hangover and that's the only IV that we have that has a medication in it which uses Zofran for nausea but the best part is people like how they feel and they come back for their next IV. Cheers!


What's up? How are you guys today? We're doing something a little different I'm gonna show you another aspect of you know having a healthy lifestyle Which is my current hygiene and cosmetic routine So we are in my bathroom and there's also a lot of like interesting products that I like using that I have on my Amazon shop whether it's like The shower filter or a few other things that you guys might want to stick around to see So I have all of my oral care stuff on the left side here for the most part If I ever comb my hair My cones and brushes are over there And then I just have some like shaving stuff and just like eyebrows and nail clipping stuff over here So one thing I do every day sometimes twice a day is a nasal flush You guys have seen me do several videos on this now I use a glass bottle of mineral water and the iodine from organ supplements This is really important for rinsing out your nasal cavity after interacting with people in public because of all You know the jab stuff might be getting into your nasal cavity So you got to be careful with that I do feel better and a noticeable difference and sometimes I'll even take the iodine I'll put it in my water flosser I'll put the pressure really low and I'll actually spray my tonsils in the back of my throat with the iodine Just to make sure that you know after I go outside. I'm not getting anything. These are just my retainers You guys know I had double jaw surgery.  Yeah, so I floss I use the water floss.  I don't have to shave that much maybe like once every two weeks I just use the new natural shave cream we have I'll do like a six-bladed razor for most of it And then for some tight areas, I'll use a straight razor usually slicing my face open half the time. I Like these no clippers a lot. I think the brand is called Secchi Again guys, I'll put everything on my Amazon shop. These are for my eyebrows scissors and just like a little brush and As much as I don't comb my hair that often this is like a great gift For your husbands or boyfriends ladies Kent make some really high quality combs and brushes You know, I was tired of them breaking and not being that good and so far this brand has held up pretty good. I Think they're made in Britain So fish and chips ain't the only good thing to come out of the UK That's a little science experiment. We might have a new moisturizing cream for you guys, but in the meantime My somewhat mess of a bathroom. This is the sunscreen we've been using on my tattoo when I go tan This is a face moisturizing cream. I use once in a while some backup odd and over there This is just the deodorant I like it because it's a lot easier to put this on then the other one we used to have this is really fast And then this is the the moisturizing cream I currently use that we have It's the whip-shave butter and coconut oil easy to apply simple minimal ingredients. This is something I like So like if you're not using baby wipes, you know, what are you doing?  I think this was on Amazon as well So, you know, the baby wipes are easier to dispense or if you have like a toilet paper holder like this You could even just put this, you know on top of On top of this here and that works fine, too, but it's just a little more convenient. So in the shower We just have the basic stuff. We got the body wash We have some shampoo for the hair conditioner and this is just Another body wash that I was experimenting with that we might carry in the future Do have the bar soap here as well if everyone is scrubbed with the bar soap and we do use a white rag. I Don't use these more than once so Put this over here And then I have all my clean towels. It's like a hotel in here guys I only have to do laundry every three weeks with how many towels I have now the no shampoo movement It's pretty big and that's kind of what I did for a while But you know your hair does kind of smell So when you do use a high quality shampoo like this It's going to maintain the texture and health of your hair and you know You don't have to worry about your hair smelling especially like when it gets longer if you have shorter hair It's not really that big of a deal especially if you have like a crew cut or something the shampoo doesn't make much of a difference and then the Conditioners nice because you know the hair will smell good for another two or three days And if you are working if you are getting dirty, you know if you're doing manual labor stuff, then It's kind of really important to start using shampoo Otherwise like if you're just working a 95 desk job and the dirtiest thing you do is go to the gym Usually a shower cuts it But as soon as you start getting dirt and stuff in your hair and scalp It helps to have something to like lather in and really just scrub everything out now 100% honest guys This is the only reason I made an excuse to film this video this Speakman any stream shower head. I mean favorite thing I've ever bought in my entire life I mean, yeah, we got the we got the shower filter here 30 bucks on Amazon I have well water so it's not that big of a deal, but I had one so I put it on anyway Just takes out the chlorine and some other like small particles in the water But this thing guys the water pressure is insane. Let me show you. Let me show you so you turn this on it's almost if like You had Three shower heads. This is more powerful than like three shower heads It's so strong and then this thing on the right It's really really powerful You want to like feel like you're getting a bucket of water dumped on your head It goes like that too and you just turn this lever slowly on the right to adjust the stream And this is this is like really really powerful. You feel like you're getting pressure washed in the shower This is amazing. Now when I used to live with my parents I like never had good water pressure and then when I moved into that apartment It was even worse and I was miserable. So this to me. This is like a luxury to me if you guys don't have like a good shower head and And the plumbing isn't set up properly. That's like that's like priority I think it's $70 or something which is expensive for a shower head But definitely worth the price. So yeah, anything you guys saw here is going to be on either Franky's naturals.com or On the Amazon shop and if there's something missing guys, just let me know the iodine is on organ supplements Yeah, there's a lot of other products on there that we didn't show you guys like there's some household cleaning stuff that I used to To clean the bathroom. We could even start selling the baby wipes on The household section if I want to on Franky's naturals, but we'll see about that. I'll think about it But yeah, thank you guys for joining definitely don't go around like some stinky caveman Rothhard So if you guys want to see all the businesses Frank dash to find out come outside of that Please drop like on the video leave me a comment down below Make sure to subscribe and check that notification bell and I'll see you guys soon


Robotics are used during wartime for many different reasons. This marine makes sure these robotic systems are getting the job done. The reason this marine is deployed to Afghanistan was because of a tragic day ten years ago. We understand that a plane has crashed into the World Trade Center. See people run inside that building? You know, while it was coming down, knowing that it was going to come down, it inspired me. As the tragedy called him to action a decade ago, he wants to honor his fellow Americans with a renewed commitment. Just like any New Yorker, September 11th will always live with us forever, and I want to re-enlist on this day because I will always carry them in my heart and I carry New York in my heart. This marine serves his country deployed and when he walks the streets of his city. Air Force Staff Sergeant Chad Usher, Bagram Airfield, Afghanistan.


So we're here at the Linaro Connect 2018 here in Vancouver, and who are you? Hi, I'm Kunkoi and I work here at Linaro and for the next demo session we're going to demonstrate Codi using Accelerated Decode using FIFA RL2. We've been working on that for a long, long time, about every year I give the same interview here with Serbax. But this time we have it completely working on a lot of different boards. So we have it working on Qualcomm boards, AMlogic boards, IMX6, and even some other things. So you really like the stuff that has to do with video, right? Yes, that's the thing that I work on in my spare time and now I can work on that for the day job. So I really like that. And it's something you can show to your parents and your neighbors as something tangible in what you're working on. See, we have now better video decode on these platforms. You show that to your parents? Yes. So how does your parents understand that it's better now? They see that it works and they like that. My parents are currently house-sitting my house and they were saying that they watch some TV shows on Codi, so actually they're now using it themselves. Did you let your parents use any of the macro lenses you have? No, I have those with me. You don't go anywhere without them? Right. Well, a subset of them, because bringing them all would be way too much work. So does that mean you're in the consumer group? You're doing the stuff with the home part? No, I'm currently in a group called Software, which isn't saying much, but we do our internal builds and distribution work. So if you need support for our internal Debian builds, open embedded builds and things like that, that's what we currently are doing. So the home group is using our work and we work with them on that, but the automotive group is working with us, etc. We're kind of like the central hub of the nexus if you want to do builds. And what is this Yachto? The Yachto project is an umbrella organization of which the open embedded project is part of and open embedded is an embedded build system. And I've been working on that for 15 years now. Since you were a teenager, right? Since I started university, basically. That's when I bought my first HP iPack and I wanted to run Linux on that. And ever since it's been part of my job one way or another. Because open embedded is a big deal? Yes, it has been and it is. It has been, it used to be a big deal in a small circle as so to speak, but it's getting more and more adoption in surprising places like Dell has been using it for their BMC, for their servers, and things like that. Why? Because they needed, the BMC is not an Intel CPU, it's usually an ARM CPU and they needed a small build for that. So they picked open embedded for that. I'm not sure if they're still using it, but there's now the open BMC project on which IBM and HP are involved. That's also open embedded based. The Intel EFI testing suite, LoveOS, they, that's also open embedded space based. So what is the difference between open embedded and Yocto? It's, Yocto product is an umbrella organization. It hosts some other projects as well. It's kind of like the GNU project and then you have the GNU Lipsy. It is kind of like that. GNU with the umbrella organization Lipsy, the project and the same is for open embedded and Yocto projects. So it's all Linux stuff? Most people use Linux, but there's support to build other things as well. If you want to, you can build micro control things with open embedded. You can build, cross build to Windows. So if you say I need an ARM tool chain for Windows, you could use open embedded to build it. That would be overkill, but it is possible. So it's kind of like a way of building images, like a standardized way of building them? Yeah. It's a build system and it's basically anything to anything build system. So we, on ARM64, we could build for x86 and vice versa. Why is it so fun to work with? It's, when we started it was fun because at the same time we would do porting for embedded boards and devices. So you got to see your device being able to do more and more and more and more while working on a build system. So open embedded was basically a tool to get what you wanted. And so what we did now for the Codi demo, I used open embedded to build Codi because that's what I'm used to be able to develop that. And at the same time, I worked with the LibreElect people and they built Codi with the build system and we could compare nodes to see what the differences were and what was working and what wasn't. So how about this LibreElect? What is that? What has it compared with the opening mid? LibreElect, their mission is just enough operating system for Codi. So they build an operating system that is just enough to build Codi. So it's really small and self-contained and basically only runs Codi and that's what they care about. So you have a really good Codi experience and it's really small. It's like 200 or 300 megs and then you install it on an SD card, USB stick, you plug it in and it works. And so does that mean that they have the biggest market share in Codi hardware? I think they do, but you have to enable statistics to do that and they don't track people. They didn't track people and now with GDPR they still don't track people. So it's hard to say we get users information from people. So we know we have the downloads, we have like 100,000 downloads, 60% were Raspberry Pi, but more information beyond that we don't really have that. Is there what's called Codi definitely the best video system? It's the best I've used. So maybe some people are a fan of some Windows video solution and they're happy with that because it has tons of plugins, but I don't use Windows so I can't really say. But so far Codi is the best I've used. The Windows thing is that like flags or what are you talking about? It's not MPV or it is some some acronym and people are using that. They reference that in the Codi form like oh but this thing does play it. So I don't know I have never used it. People seem happy with it and like you said Plex, but Plex does a bit too much for my liking. I just want to have play my movies and TV shows. Is it true that most of the piracy that happens on Codi is actually not very reliable because it's just a bunch of links to servers that get closed down all the time? Or is it a lot of peer-to-peer that really works well? While I live in the Netherlands we get most things legally so I haven't needed the piracy IPTV add-ons yet, but it's not really that the links are a problem. It's that you don't get the piracy add-on. You also get malware and badly written software. So it fails before it gets to the point of a disappearing link. Nice but it would be nice if some countries potentially in the Netherlands or let's say Switzerland and some other start to change a little bit the rules of copyright. So it would be interesting right? That would be interesting. Sadly in the Netherlands we kind of went back. We used to have every time you bought a device you had to pay a tax for medium and then you said you have the right to copy things at home and that extended to things you would borrow from your neighbor. So making them copy was legal and then they said that means that downloading is legal as well because you're at home and making a copy and that turned out not to be true. So that's now illegal. Did you invent brain in Holland? It's Dutch?  It's your pride right? They are massively successful in what they do. Like what do they do? Threaten people and send them letters and people pay because they're scared? They're good in enforcement so they take things down. They're not big on the finds but they're like oh this is a website we get better taken down and that seems to work so they're really competent. They are annoying but they are very very competent in what they do. So your batch is a Ninaro. How cool is it to be a Ninaro? It's very cool. You get flown to hot and sunny places like Van Coover. It's been a while, how long have you been now? Five years this year.  Do you think there's a potential? It always feels like there's a potential that Ninaro should grow and more people should join. Yes but we basically now have all the silicon fenders so it's hard to grow in the way we used to grow so now we want to go into automotive and things like that and grow that way. And AI and automotive, are you interested? You know how to do the coding and that kind of stuff? No I'm not a programmer so it's interesting to see how it works but I have a severe distrust for AI in any field. You have a fear of AI? I just distrust. But you use it all the time for your macro photography right? Isn't there AI in your camera? Well I use manual focus but then again I think the Adobe software uses some machine learning to do all the noise cancelling and things like that. The image science in the camera is AI stuff right? Yeah not in old camera I have but in the newer cameras yes very much so. Video encoding is a lot of AI, it's a psycho-visual stuff where they can compress the magical AI kind of stuff. Yeah in the future but it's all man done up up till now. Cool thanks a lot and have fun see you next time.