Ssssssssssssssss.... ...that's drunk. The Game Boy Advance is pretty much just a smaller, more powerful Super Nintendo, and as such it was the perfect way for developers to make good on past games that suffered due to hardware constraints. Take Gradius 3, for example. It's a solid game, but slowdown comes and goes out of nowhere. There's a crazy amount of flickering, and it was like you could practically hear your Super Nintendo screaming like Goku as it's trying with all its might to get this game to run at all! If you've played a lot of Gradius III like I have, then you'll find it extremely satisfying to play Gradius Galaxies for Game Boy Advance. Hey, how do you pronounce Gradius anyway? Let's check the commercial. Alright, that kinda sounds like Gradius, that's close enough for me. Gradius Galaxies is also known simply as Gradius Advance, and it was made by Konami in November 2001, and yeah, it's Gradius. Same ship, similar pacing, similar power-up structure, a lot of familiar layouts and enemies, and it's every bit as good as any other Konami SNES shoot-'em-up, or any shoot-'em-up on Game Boy Advance for that matter, and there's no flickering and not nearly as much slowdown. To start out, the manual says the story takes place between Gradius III and Gradius Gaiden. Wait, Gradius has a story? Since when? I mean, I knew Vic Viper was a thing, obviously, but I didn't know stuff actually happened. You get 3 lives and Unlimited continues to get through 8 levels, and best of all, there's checkpoints here that are actually forgiving and respect the player's time. Imagine that! Even continuing is forgiving, and the game gives you the option to pick up exactly where you left off or start at the beginning of the level, and that's important in Gradius because it allows you to build up your power-ups, which by the way are all the bog-standard Gradius power-ups you've come to expect. Although rather than having a bunch of different options you can cobble together, in Gradius Galaxies you have four different set types of weapon upgrades, two different kinds of barriers, and a choice between automatic or manual power-ups, and I always default to manual, but it's nice that automatic is there, I guess. The controls are excellent, as they kinda have to be for a shoot-'em-up like this to be any good, but there have been other Game Boy Advance remakes or sequels like this where the controls are really loose, like in Contra 3, or your character's range of motion is completely out of whack like it is in Magical Quest during Mickey and Minnie. I'm sure if you're one of those folks who's put thousands of hours into shoot-'em-ups you might notice some minor flaws, but for me the controls were totally fine, and it plays just like a Gradius game should. Best of all though is the level design, the second level has you blasting through ice walls and dodging falling platforms, you have a huge-ass volcano slowly falling on top of you, a giant Easter Island head barfing smaller Easter Island heads at you, then you're blasting the cholesterol out of someone's arteries. Really the themes here are pretty much in step with Gradius 3 while working in elements from other games in the series. There's the fire level, the earth-like level, a level inside another creature, that sort of thing, and it's all really well done, made with that certain kind of polish that Konami games used to have.  And that's the other thing I gotta point out, the last couple levels in this one are stupidly hard. One level does the thing where you gotta keep speeding up and you have like a thousandth of a second to react to everything coming in your way, then you have to manage these narrow corridors while getting hit with wave after wave of enemies with projectiles flying all over the place, all while moving from one huge boss to the next, it is brutal. But yeah, I mean it's Gradius, you expect these games to be hard, and if you're into shoot-'em-ups, Gradius Galaxies is well worth checking out, it's up there with Iridian 2 and Steel Empire as one of the best shoot-'em-ups on the Game Boy Advance, and if you did Gradius 3 for Super Nintendo, then you owe it to yourself to play through this one. Alright, I want to thank you for watching and I hope you have a great rest of your day.


Hey, we'll be starting in a while and I know this is the last session of I mean of this region and it's been like There were so many interesting sessions so far I know you are like oh one more session and then no boring session We we have put together an interesting site of slide deck in this presentation In fact, this started as like conversation with with anina, right? So we were discussing on some of the use cases like I was asking questions on hey How does it solve from academic word and then there were questions back on how can we implement this and we both side together and put our Tarts on on the slide deck and that's what we're going to present in today's session Oh to you and you know Yeah, so can you share can you see my screen? Yes? Okay, so yeah So Okay Yeah, so in today's session as I said we are going to discuss about blockchain design patterns where we will be putting our thoughts together from both Academy of Word and you know can you download the slide they can can I share the screen? No, I will download it. No worries Okay, so meanwhile We'll be presenting the topic of blockchain design patterns where we'll be discussing Advantages and disadvantages of some of the commonly known patterns and then from academic point of view what really works and what doesn't work and where is that? research gap that like we still need to Proceed in it, right? So these are some of the hard questions that we would try to address in today's session and For that with you today We have like anina Who's assistant professor at Department of Computer Science and Engineering from St. Gates College of Engineering and I'm our own working as top stopper engineer at Walmart global tech and a hyper leisure TSE member So a little about the context of our talk as I don't mention I don't and I have brainstormed and put together our thoughts on common design patterns used in blockchain application development So it's actually an attempt on stitching together our thoughts from both the perspectives so we actually really value our time and hope you can walk away with a lot of good information and That being said we have tremendous amount of information to look at today And we will be talking about common design patterns and challenges we will be taking a deep dive into on-chain and off-chain world data and interactions and The other area that we are going to touch is data versus network earnings And yeah, we have a lot to go through and hand this off to Arun and he will be discussing the common patterns used in application development Right. I'm sure most of us have come from application development background who We have been developing multiple applications, right? So whenever we think about web application, we will have a database Stored in our enterprise systems and then we will build back in engine It could be microservice architecture, which is talking to these database databases and when we talk about database again It could be like a single instance of database which is monolithic Storage or it could be again distributed database storing maybe shards of data or maybe distributed across multiple regions for different optimizations applied for multiple geolocation's and then we will have kind of typical user interface which is talking to these back-end services and Which is finally accessed by the user, but does this really work in blockchain case, right? So that's the question and even in in in general web applications We have something called as like we do implement authentication and authorization mechanism at the back-end API slayers and We relay those requests or network gateways But when we apply that to blockchain technology, right is and many people if if you're like unfamiliar with it Blockchain does provide storage and if you consider blockchain itself as a storage engine Then you try to directly replace What we have in our traditional web application with blockchain that may really not work because When we send the right request, right? And let's take a typical database application when I send the right request those right request would be And then can you go back to previous slide? Let's let's take a typical application right when we send the right request to database Those right requests will not be committed until we say commit this particular data to a database application So similarly if you consider blockchain operations, you can consider like transaction execution or that particular phase where blockchain decides whether to proceed process the transaction or not to be first phase and then the commit phase where in Term if you have to talk in terms of hyper ledger fabric That's when ordering service comes together and it gets involved and creates the block So if the block gets accepted, that's the commit phase for us Hey, so this is how we can coordinate DB right versus a blockchain right operation and The smart contract is is the one which is going to perform the crowd operations onto database But we are really not sure how long it takes for that particular block to get created And how long that that particular operation to be completed because transaction execution happens at its own phase We cannot really guarantee and then having this kind of application design is it's not generally preferred We cannot give a deterministic response to user with it And of course circuit breaker logics doesn't really work with these applications Yeah, um, so now let's look at and alternate to that So we said we will not be able to design our blockchain application as if it is a database system Now what what can we improve over it? Let's say we we bring in um Like for every request we bring in immediate response saying that Okay, now am I this is my back end up back end engine, which is also acting as a blockchain client node for my actual blockchain applications over there As soon as I receive a request I respond back saying that okay, I received the request So tell it to user and tell the user that I really don't know the status So you keep polling for the status So with this approach the problem is we may end up having multiple poll requests to be signed a blockchain node It not only affects the blockchain node in terms of long wait Which we have to do But it also has its own effect that Smart contract may never get executed or may Continue in the in the loop of failures, right? So until until that point we will not be able to Keep users waiting if this was my payment application based on blockchain I cannot when user says pay this thing to somebody else. I cannot make them wait forever and also Polling mechanism on blockchain actually like it overloads the re-request on blockchain So probably we need something else like there's there are better alternatives to design applications Now let's look into another approach So in this approach what we have done is Put a cache database in between blockchain and our client node Which is also our backend application And in addition to that we have something called as event listener. So what this event listener does is Any blockchain you take fabric or sawtooth or base or anything There is a concept of transaction receipt or like event It at multiple layers. It could be at block level. It could be at commit level or it could be at Channel level in fabric. So what we can do is we can ask blockchain system itself.  I'll I'll do something at the application layer So that's what this system indicates and what does cache db used for so cache db in here is like When I receive a transaction, I need to first store it somewhere so that I don't lose my data So I let's say I have some temporary storage. It could be uh It could also be like a pops up topic like like a kafka engine which which can store data for three days or Five days or ten days, right? So Let's say I cash all the requests and I stream them from this blockchain client into blockchain At its own phase and whenever I receive data from the blockchain. I tell it to user Hey, here is the current status of whatever you did earlier But probably this is also not Not sufficient. This is good, but this is not sufficient model for us What if user wants to query what happened with their data in the past? Like there is no way that because we are just streaming requests Streaming solutions from blockchain and giving it back to user. There is no way we can know what happened in the past So that's where we have our next architecture Pattern which is like in addition to having Event listener we what if we store the event listener data into another database Now there are multiple advantages here And of course like back in the engine can be used to perform retry operations on the failing data It can know what what failed and what not failed based on the event listeners data and in addition to that This I mean I'm calling it as analytics data over there, but the reason for calling that is When we receive events from blockchain, it's not just the data which we are reading from our own transactions And as we know like blockchain is decentralized application where transactions could be flowing in from multiple parties So this database is actually data collected from all over like every other different parties who are involved over there So with this approach, we have Local cache of information as and when transactions arrive. We are caching them We are sending them to blockchain We are waiting for blockchain commit operations to complete And then we are also having analytics database and then a query mechanism or Repurposing that analytics database to perform any other operations that we require right now One more thing which I would like to call out here is that in in terms of that cache database in in in the diagram with the If you consider that cache database If you replace that with some kind of permanent storage, we can also use this design pattern as Off-chain storage of our data. I don't need to put everything onto my blockchain I can keep them into my storage like replace cache db with a permanent database Put your contents into that database and store or move only the data which you want provenance for onto blockchain Now this particular half-chain data trust which which you see on the screen Is because let's say we have all this complicated structure or so-called complicated structure We are waiting for blockchain commit to complete and then we are storing it in a in an external database before we process it for analytics applications So how can I trust because this data which I store outside the blockchain is still entrusted data, right? I mean even though it is coming in from blockchain I need a way to guarantee and for some of the Applications if this databases are in protected environment because it is for their own usage We really don't need anything extra. That's all we need But on few cases we may need to audit the data which is stored over there So that's where we can bring in additional component Let's say as scheduled data verifier, which I'm calling it or here But in reality it is it is an audit module So what exactly are we auditing here? Let's say you randomly pulled some data from your analytics data or whatever you read from blockchain And then you try to query your blockchain in your leisure time when your payload or when your throughput requirements are low and whenever your blockchain node is capable enough to answer all those sample data queries And audit them through this module. So with this approach I mean as soon as you identify there is some screen There is some change in data against whatever you stored off chain You will of course do that analysis separately, right? So what happened like who changed it what actually happened on your onto your external database But this process of auditing will allow you to not only Identify but also rebuild or replay whatever happened earlier So most of the blockchain solutions, they do have option for you where you can ask it Hey, I don't I want to know what exactly happened from let's say block number 10 I want to know what happened from block number 12 So the event mechanism and in most of the blockchain solutions, they provide you that option You can replay it from particular block to particular block and maybe Let's say from block number 10 to latest block And rebuild your database so you can process your Off-chain data as if you can you can now again start trusting that database So there are such multiple models that you can follow Now Having spoke about all these what do you think I mean about these design patterns and what do you think are What what do you think works best with these things these design patterns? So, uh, thanks Arun. So, um, let's dive into the benefits and challenges of this architecture first So, uh, this microservices Usually kind of satisfy the increasing need for a more fluid flow of information. So coming to our benefits first So even based architectures are usually asynchronous without blocking So this actually enables the resources to jump freely to the next task Once their piece of work is actually complete without worrying about what happened before or what will be happening next And uh, services are usually loosely coupled That means they generally do not need to have a knowledge or they do not have any dependencies on other services Including their implementation details or any other transport protocols And it's generally easy to scale using microservices Maybe you can increase the resources to the most needed microservices rather than scaling an entire application And this actually enables scaling to be a bit faster. And of course it will be cost efficient as well So when we are using it with a queue it can actually kind of recover the lost work by something called replaying And you know, this can be really valuable to prevent data loss when a consumer needs to recover data So, of course with never ending a list of benefits even driven architectures have some challenges as well So the first challenge that I personally think is they are very easy to over engineer because you know The services can be really complex because an application can include descents or even hundreds of different services And they all need to communicate securely And coming to debugging it becomes more challenging with microservices because an application consisting of multiple microservices And with each microservice having its own set of locks Tracing the source of problem will be a bit difficult And coming to the testing perspective unit testing may be easier with microservices While integration testing will not be that easy because the components are really distributed and Maybe these things might be simpler if it was closely coupled again So perhaps the most Significant challenge is of course the data and transaction management because you know because of this asynchronous nature They must be carefully handling the inconsistent data between the services and they should be you know able to handle incompatible version They should watch for duplicate events and They don't actually support asset transactions and it can be very difficult to you know Kind of track or debug and the choice of adoption is completely dependent on the adoption that we are actually building So coming to some of the process challenges. So let's think for a moment What if if you are taking the common design patterns that we have discussed now to our real life use cases And of course, there can be many questions in our mind. There can be questions on scalability There can be questions on security. There can be questions on privacy. And of course, there can be questions on cost So maybe to circle around It actually I would like to bring your attention to something called blockchain triumph So usually it is explained in context of public blockchains. So the public blockchain dilemmas or it's also called impossible triangles So it's the idea that a blockchain can have Decentralization it can have security and it can have scalability to varying degrees But it cannot have all the three to that sufficient extent at the same time So what I mean by scalability here transaction performing Transaction processing performance that is tps. That is a number of transaction process per second So maybe I can take an example say for example If you're considering the example of a bitcoin it is widely considered to succeed in security having never been had and You know decentralization both in governance and development But coming to scalability due to its limited block size and comparatively long block time It is actually compromising that thing So in short every application is expected to have all these three things But it cannot have all the three at the sufficient extent at the same time Okay, so maybe we can move to a real life use case and we are actually quoting this from the official documentation of hyper ledger fabric so Agriculture is actually providing livelihood to you know more than 50 percentage of the people in developing countries especially like India But you know climate change is at the same time passing grave risk to their activities as well maybe you know the slightest increase in the frequency of a drought or If if there is an increase in rain it will actually present major challenges for food security and water availability to them and to the question on how this payout is actually made usually The agreement actually exists between the insurer and the inshore under specific threshold weather condition when I say weather conditions It can be you know consecutive days with or without rain or something like that So if you're thinking for a moment, who can add those information? I mean who can add those weather data. Is that the farmers? No, they cannot add that Is that the insurance companies a big no Is that a third party? So academically or theoretically speaking at this possible if we can introduce a trusted third party like the meteorological department because they can provide the needed legit information And what if they are not willing to join the network? Then how can we make payouts? Then what is the solution? So this is where an oracle comes to picture So all of you might be aware of what a smart contract is So smart contracts are just pieces of code or you know business logic that actually live on blockchain And they execute on certain conditions or logic that smart contract developers has built and the main focus is here on data Without good data to make decisions on what happens or what transaction should execute This smart contract cannot work on the way it is intended to work They cannot make a decision on its own and the outcome actually depends on the data that actually get passed to it So if wrong information is getting passed to the contract the claim won't be accepted And there is no way to back up transaction because it is on the blockchain So maybe we can come back to our example And see how oracles can solve this problem So we can simply put oracles as trusted third party that actually supplies data to blockchain So maybe for a smart decision if the information is added by a trusted third party like oracles in the form of data concerning the conditions Like concerning the weather conditions The payouts can be automatically triggered and the insurance company or insured party cannot intervene to stop the payments or change the conditions So basically this goes like this Oracle is required to perform some sort of action as a trusted data source And they can have the ability to reconcile multiple data sources and feed them as one stream of data So when I say reconciliation, it can be you know different methods like weighted averages or it can be based on reputation scores Or it can be based on complex cryptography. So oracles are basically it can be considered as gatekeepers So maybe we can think we can put in another way as a blockchain Subjective is to reach consensus You know extrinsic information We cannot you know provide along with the transaction data because other date other nodes would actually dictate information coming from an Untrusted source, right? So therefore the information coming from the real world should come from a party Which is a univocal source whose reliability is undisputed for all the nodes and the oracles to be more precise They do not insert information into the blockchain directly But they actually gather or garner data from different sources and they actually you know kind of Supply to the blockchain So when when What when smart contracts concerning this extrinsic data is kind of executed The court then calls for the right information from a trusted oracles and yeah, it gets executed Maybe the examples of oracles can be you know iot systems such as props or sensors or they can be even humans that operate directly on the blockchain So maybe coming and and then we can come to the different types of oracles Oracles are usually classified into two main categories The first one can be a centralized oracle and the second one can be a decentralized oracle So centralized as a name suggests it means that one particular data source or api is having the control over your smart contract And if if if it is happening like that there is Your smart contract is now no better than a regular contract, right? So if you are using centralized oracles that are not distributed They can actually introduce single point of failure and they can actually you know since they are operating on non deterministic data Their reliability needs to be trusted where availability accessibility and level of certainty about the validity of the data actually depends only on one node When we are actually coming to decentralized oracles It can be considered as a group of independent blockchain oracles that provide data to the blockchain So every independent node or oracle in the decentralized network actually, you know independently retrieves data from an off-chain source and bring it to the Chain and the data is then aggregated And you know, so the system can come to the deterministic value of truth for that data points Maybe there are different as I mentioned earlier. There are different reconciliation techniques. Maybe we can use any one kind any any of them and we can come to a Deterministic value of truth for that particular data point And if you are actually migrating to decentralized oracles It can resolve the single point of failure problem in the centralized trust model But these models can actually bring higher latency For the data processing with less efficiency when compared with the centralized data model. Okay So when if we are actually fetching data from an external source the trial or impossible triangle can be redefined as While fetching a data from an external source a system can have Decentralization accuracy and it can satisfy cost but only to varying degrees But it cannot have all the three to that sufficient extent at the same time. Okay So basically our discussions around oracles showed that Achieving a fully trustworthy oracle platform for blockchain is still at an early stage and it requires more research Attention and you know efforts need to be Excerpted in this direction. So specifically we need to integrate, you know Noble security and privacy mechanisms to interest to the existing trust models Maybe to detect prevent and mitigate some civil and pollution among oracles to solve this design and implementation challenges and maybe we can We can actually try for establishing new standards for unified data format formats and decentralized governance so having this in mind as blockchain grows in popularity and adoption becomes more mainstream the question of governance is still a concern and You know the governance can give them the voice and control that they are actually comfortable with So maybe uh, I can quickly call arun and he's a better person to portray the governance designs patterns. So over to arun Sure, I mean now so I I guess this this is a great discussion so far Like we started with some come of some of the common design patterns. We looked into a scenario where Hey, this is the only way in which Data from external source is the only way in which this we can proceed from there to make a smart contract decision And so I mean I would put this entire process if you can go to next slide like I would put this entire process itself as a data governance related Concern right so whatever we we are following following those best practices in terms of design Following those best guidelines in terms of choosing right model for putting the data right right data into the system so I would put that into data governance aspect right and Why do we need that because of not just for Securing our own data, but also because there would be regulatory requirements It will require us to maybe protect the data in certain ways or Restrict access to that data or maybe restrict from processing that particular data the way they want Maybe even make modification or retention related policies So I mean I would put these things aside for a while and if you if you see apart from data governance There is also one more important aspect that we will need to consider with oracle patterns right so with oracle patterns Some of the good practices that we have oracle service provider smart contract Running in our blockchain system and which has the only access to external services Anything that our smart contract requires We'll talk to this particular smart contract and then let's say if this was the fabric network We have a channel where all the consortium members are part of And then there is another channel where we are allowing Oracle service provider to join in and provide the external data source to us But the important aspect with this is how well we manage this network itself So network governance is is very critical over there along with data governance I mean the diagram is is more intuitive than what I would what I could express We need to restrict access from from these services In inbound traffic from these services there should be it should be more of Outbound traffic I mean request which are which can be made from consortium members Than inbound request coming in from Oracle service providers. So With with these thoughts, I mean this this this puts a picture around How can we In the I mean when we started how we started with the design patterns I mean what was the missing gap or how do we manage the off-chain data versus on-chain data And we also touched upon the governance right some of the key areas that we need to touch upon or at least keep in mind when we design our applications I mean, I I hope this was a useful discussion from both of us And thank you all so we are open for questions and we are happy to answer answer your questions Thank you all I see a question which says What are recommendations for query from blockchain based systems? Um, so this is a great question. I know many people have this question So it depends on the trust boundary. I mean you could of course directly read from the Let's in this case. I'm assuming you have external database like externally installed couch database or your peer In hyper ledger fabric, you could directly read that but it depends on uh, trust boundary If if your trust boundary is such that you are the only party who can access that database And of course you are free to do that However, it's always better that we have uh Like an external copy of data the way we want, right? So because the let's say even when block pruning kind of concept comes in or um, when where we want to Stop the blockchain or maybe like archive a blockchain for a certain period of time The old data still plays significant roles for analytic purpose. So maybe that's where you may consider uh, like data dumping ground and use that for your applications than directly using the couch dv instance I see another question. Do you think a chain code could be used as decentralized record? If not enough and or society under the value transaction of failed printing condition Right. So, uh, if you if you remember the diagram which we were showing and in that we Showcase one of the way in which oracles can be designed where We have a smart contract specific smart contract or specialized smart contract Which is going to help read external data. So you could of course convert. I mean this smart contract could be implemented in any Um protocol or in any language including the chain code way of reading external data And chain code in fact, um, I mean helps you in governing it much better, right? You can not you not only are agreeing upon majority But you could also put a measure such that hey if this is the person who is signing the data or who is approving the transaction Then the weightage for that person is is like more like one of the technique Which Anina discussed is around putting weightage around those wereacle service providers so that we could trust At varying levels based on their reputation in the past I hope that was useful answer And do we have more questions? I think I see one more question It's such an environment. I did not really understand if if someone What should be recommended architecture look like and what sort of oracle would best fit such an environment? I probably did not understand and happy to take your question offline And understand this question in more detail. Okay. Um, I think we are To the end of this session. We are three minutes over time Thank you all and and I hope you all had a great hyper ledger global forum this year See you in the next session in the americas region Thank you. Bye. So hope all of you had a wonderful session and see you next time. Bye


September 1st is National Food Bank Day, and with almost 13 percent of Kentuckians struggling with food insecurity, food banks are vital. We spoke to East Kentucky Dream Center director Rachel Dotson on the impact of food banks in the region. In eastern Kentucky, food poverty, it's a big thing. A lot of people say, well, there's food stamps and there's job opportunities. There is, but food stamps don't last the entire month, especially for a family of three, four, five or more.  At Applige Wireless, we have the best service and the best deals right now. Save up to $500 on iPhone 13th and 14th, all models, all gigabytes with trade-in. Maybe go for an iPhone 12 for a penny, a penny with a two-year contract. If you're not leaving out Samsung, save up to $350 on select Samsung devices, including the S23. It's a win-win this month at Appalachian Wireless, the service, the savings, y'all got to jump on this deal right now.  We are Appalachian Wireless. EKDC serves over 1,300 hot meals weekly and provides grocery bags to local residents. There's a new term that everybody's using right now and it's working for, and it's those of us that work and we live paycheck to paycheck. That's the ones that they're almost too humble to come and ask for help, but also they're not sure of the help that's out there. They've never had to look. They've never had to say, okay, I've paid my rent, I've paid my power bill, my car payment, but now I'm out of groceries. The, you know, the food bags and the free meals, they're for anybody. The grocery bags that we have available, they're for anybody. It's not just the grandparents raising grandchildren. It's not just the homeless on the street. It's not just for those living in transitional living or trying to get their life together. It's truly for anybody. It's for those working. You know, we've had, we've had nurses that come in here. They make a great salary, but if you've got one in elementary school, one in college and you're a single working mom, our food bank is, it's wonderful for somebody like that. So there's really no, it, it, you know, food insecurity does not discriminate. For more information on resources available, go to East Kentucky Dream Center on Facebook. Thanks for watching. For Mountaintop News, I'm Brianna Robinson.


As of March 27, 2020, the World Health Organization reported a total of 509,164 confirmed cases of COVID-19 globally with 23,335 deaths. There are now 81,137 confirmed cases in the region of the Americas. As of this week, Senusha commenced testing for COVID-19 in country and the first batch of tests were conducted on Friday, March 27, 2020. 29 tests were done with 28 on negative. On Saturday, March 28, the laboratory director at the Ezra Long Laboratory at the OKEU Hospital reported one positive case, which brings our national total of confirmed COVID-19 cases to four. This is the first positive case from local testing. The individual is a 49-year-old female national, nurse by profession, with a troubled history to the United Kingdom. She returned to St. Lucia on Saturday, March 21 and was placed in quarantine, during which time she developed a cough and samples were taken for testing. Her results have confirmed that she is positive for COVID-19. She has since been transferred into isolation. The individual is doing well and she is in good spirits. The Department of Health is currently undertaking routine contact tracing as required by our protocol. As indicated in a press update earlier this week, the first two confirmed cases of COVID-19 were repatriated to the United Kingdom. The third case has recovered but has been kept in isolation as a precautionary measure to minimize any possible risk of transmission. To date, St. Lucia has over 300 persons still in quarantine. This quarantine is a combination of home-based and facility-based quarantine. Approximately 260 persons are in quarantine and about 50 in home quarantine. Facility quarantine commenced on Friday, March 20 and three facilities have been established for this purpose. Persons managed at the facility-based quarantine sites are managed at the expense of the state and this includes the provision of their boarding, meals as well as their medical assessments and monitoring. All persons in facility-based quarantine are doing well. As such, there is no need for testing of those individuals. In keeping with global standards and protocols, testing is done when persons develop symptoms of the virus to ensure accuracy of testing results. That is, when we have persons in quarantine, if they do not develop signs and symptoms of COVID-19, we would not test them. We only test the persons who develop respiratory signs and symptoms in quarantine. Effective Monday, March 23, 2020, the government of St. Lucia instituted a national country scale down for services for a period of two weeks. The public has been guided that this measure is put in place to reduce direct person-to-person contact and as such, reduce the potential risk of transmission of COVID-19. This measure requires the support and compliance of all to adopt an unusual physical distance from other persons or objects in public places. Though this may seem difficult, the measure is one of the most effective and means of preventing local transmission and requires the input of every single individual in making our national response to COVID-19 effective. By each and every one playing their part during this scale down by remaining at home, avoiding social activities and public places, together we will be better placed to prevent the spread of the virus. We continue to advise the public to focus on the maintenance of standard recommendations to prevent the spread of infection. Some of these include regular hand washing, use of alcohol-based hand sanitizers, covering your mouth and nose when coughing and sneezing, avoid close contact with anyone showing symptoms of respiratory illness and to seek medical attention and share your travel history with your healthcare provider if you have symptoms suggestive of respiratory illness either during or after travel. The Department of Health and Wellness will continue providing regular updates on COVID-19.


Bemidji and Brainerd always a good matchup, but today on the softball diamond it was a good measuring stick for both teams. Brainerd entering 10-0, but haven't faced the more difficult opponents they'll play this season like Rikori. The Jacks entering 6-4 looking to prove themselves against a tough opponent. So both teams with something to prove. Now Brainerd starting off in the hole early down 3-0 with Tuan McKenna Quinn the slow roller, but the throwing error by Jordan Sullivan, one of many errors made by Brainerd as the Jacks go on up 5-0. Brainerd trying to fight back in the fourth, Jenna Meyer with a slow roller to second out at first, but the throw to third, that's high, so Sullivan able to score and makes it 5-1. In the fifth, Quinn at bat again for Bemidji just gets through the infield, Attica tacking in scores, and then in the sixth it's 8-1 with Tuan, Gracie Fisher says, you know this was fun and all, but I'll think I'll just end it right here. Over the left field fence puts them up 11-1 ending the game right there.  Holding the Warriors to a run and after missing last year with an injury, she's back and better than ever. You know she had the Torn ACL last year so she didn't get the play ball and so she's kind of figuring out, hey who am I as a pitcher now? You know I'm not going to blow the ball past people, but if I can keep them off stride and hit my spots I can be very effective as we demonstrated today. So I think you know as a team we can grow around that and as a pitcher she can grow around that. If you enjoyed this segment of Lakeland News, please consider making a tax-deductible contribution to Lakeland PBS.


What is the UNIX philosophy and does it really matter? That's the topic for today's video because I get a lot of questions and comments regarding the UNIX philosophy and people want to know what I think about it. Do I adhere to the UNIX philosophy? What do I think about certain programs that maybe violate the principles of the UNIX philosophy? So let's break this down a little bit first. Let's define exactly what the UNIX philosophy is. Well, first of all, there's no real set in stone definition because a number of different important computer scientists and developers over the decades have kind of defined what the UNIX philosophy are, the basic principles of designing software for UNIX, yada, yada, yada. And because there's no set in stone definition and of course many people in the community, you know, just people like you and me, we kind of make up our own ideas of what exactly the UNIX philosophy is. But typically these days when people talk about the UNIX philosophy, it boils down to this simple definition here. A program should do one thing and do it well. So obviously what we don't want is a feature creep. We don't want a program that tries to do everything. It's the old saying, you know, jack of all trades, master of none, right? You want a program that is simple, that is small, that does this one task and that's all it does and it does this one task perfectly. In fact, the definition I just gave you about a program should be simple and small. That's kind of the philosophy behind developing software according to Eric S. Raymond. Eric Raymond, of course, is one of the founders of what we consider the open source movement. He was one of the founders of the open source initiative. And he actually is one of the people that really coined the term open source as it's defined today. Eric Raymond has 17 UNIX rules and these are 17 rules for developing software for UNIX. And many of them kind of tie into the UNIX philosophy because some of his rules include make your programs small, make your programs simple and build modular programs, right? So, you know, we can swap out parts, right? Modularity is very important according to Eric S. Raymond. Now, everything we've talked about so far I think really succinctly defines what the UNIX philosophy is, right? Do one thing, do one thing well. We're talking about simple, small, modular programs. But here's the thing with UNIX-like operating systems and specifically we're going to talk about GNU slash Linux distributions today is many of the programs, especially the most important programs on a GNU slash Linux system are not small, are not simple. Many of them are not modular, right? Many of them don't adhere to any principle that most people would consider part of the UNIX philosophy, right? Do one thing, do one thing well. And is that necessarily a problem? Is this an issue that needs to be addressed? Is it something that people should complain about? I think there are valid criticisms that some software, especially once we get into things like feature creep, you know, too many pieces of software try to do too many different things, but I do think people are very selective with the kinds of programs that they complain about when it comes to things that violate the UNIX philosophy because I'm going to talk about two pieces of software that I use that I either like or at least I don't have a problem with. One of them, obviously, SystemD. SystemD is in a knit system, but really it's much more than in a knit system. It is a complete suite of applications, right? It does much more than just be, you're a knit system. And I don't love SystemD. I don't hate it either. It's just a piece of software for GNU slash Linux distribution ships with SystemD as it's a knit system. I'm okay with it if it ships with a different a knit system. That's fine with me, too. I really don't have a dog in that fight. I know a lot of people have a problem because SystemD being this gigantic suite of applications, you know, more than a million lines of code and it does so many different tasks that really could be, you know, each task could be its own individual program. Why does everything have to be tied into this one massive thing that is SystemD? I get the complaint with it. Another program that I love is Emacs. GNU, Emacs, and people often talk about how Emacs is the antithesis to what the Unix philosophy is, right? Do one thing, do one thing well. And of course, Emacs is all things to all people. Emacs literally can be anything you want it to be. Emacs is essentially a Emacs Lisp interpreter.  Of course, the GUI applications can run inside a GUI Emacs window. Emacs can be your terminal and your file manager and your web browser and your video editor, your audio editor. It can be your window manager. It can literally be practically every major component of your operating system minus probably the init system in the kernel. Emacs can probably field the void of everything else other than, you know, the really base system components. Now, do people have a point when they say things like SystemD and Emacs violate the Unix philosophy? Yeah. I mean, according to their point of view, absolutely they're right. Does it matter? I mean, for me, it doesn't matter because I'm going to use Emacs anyway. And of course, it's again from a point of view because I could argue that Emacs really does one thing and one thing well, it's a Elisp interpreter. So if you write a piece of code in Elisp, it interprets it and does whatever it is that you are telling that program to do, right? It doesn't necessarily, it's not like it's everything to everybody out of the box. It's you kind of make it that if you want it to be. Now, I would say according to Eric S. Raymond's 17 Unix rules, and two of them were make programs that are small, make programs that are simple. SystemD is not small or simple and Emacs obviously is not small or simple either. So I get the complaints and I do know that the larger a program is, the more lines of code a program is. It's much more of an issue with diagnosing bugs. Security holes are much more prevalent in pieces of code or in programs that have large line counts. It's just natural, right? The bigger a program is, the more vulnerabilities are going to be in a program. That's just kind of common sense. Now the problem I have with the people that complain about the Unix philosophy, do one thing, do one thing, well, keep things simple, small, modular, is yeah, people love to complain about certain things. I gave two examples, SystemD and Emacs. People love to tell me how those programs violate the Unix philosophy. But there are so many very important pieces of software on your GNU slash Linux distribution that are exactly like SystemD and Emacs in this regard, and nobody ever complains about these particular programs. Let's start with GNU slash Linux. Let's break it down, GNU slash Linux. Let's start with the GNU core utilities, right? The core utilities, the core command line utilities on every single GNU slash Linux distribution. It's not simple, small, right? There's a million of these little programs, part of the core utilities. Well, not a million. There's probably, I don't know, what, 50, 60 core utilities? I'm not exactly sure the number of programs in the core utilities package, but it's a lot of stuff there. And I could make the same argument that the core utilities violate the Unix philosophy, but nobody ever really complains about that. I mean, I'm not going to say nobody ever complains about it. There are people that don't complain about it, but it's a very, very, it's very rare. I hear anybody make that argument about the GNU core utilities. And let's take the slash Linux part of GNU slash Linux. The Linux kernel is massive. Any argument you can make against SystemD, you can make that argument 10 times better talking about the Linux kernel because, you know, do one thing, do one thing well. No, the Linux kernel literally does everything. It does everything you could possibly want an operating system kernel to do. And that's great. It's what makes our operating system so fantastic is because it supports so much stuff. That's why it's the greatest operating system in the world, according to me. Now, is it a problem that there's so many millions of lines of code in the Linux kernel? No. I mean, are we going to remove lines of code just to adhere to some weird philosophy if removing a lot of this code also kind of jumps our operating system to where it doesn't support as much hardware as it used to? No, I don't think anybody would want to make that trade. Another perfect example of software that violates the Unix philosophy of do one thing and do one thing well, desktop environments. How many of you guys are watching this video right now? Use a full desktop environment. I'm talking about the full GNOME meta package, the KDE Plasma meta package, XFCE, Budgie, Cinnamon, all of those desktop environments that are this big meta package of all of these programs that are shipped together with this suite of applications. Did you ever think that that's not really modular or simple or small or it's not a do one thing, do one thing well? That's kind of why I love standalone window managers. All of my tiling window managers is because I can pick and choose the components and create my own custom desktop environment. But I have never seen anybody complain that desktop environments like GNOME or Plasma violate the Unix philosophy. I've never seen anybody make that argument, although I could make that argument if I really wanted to. A really good example of a piece of software on our GNU slash Linux systems that violate the Unix philosophy would be X11, the X server, right? Our display server. It's a massive program. It's actually a massive suite of programs. It's got a ton of stuff.  No, we don't complain about something like X11 because at the end of the day, I need a graphical display as part of my operating system. And you don't complain about things violating the Unix philosophy also unless there's an alternative. And really, you know, all we have on Linux is X11. Wayland is in development. It's kind of still beta. It'll eventually get there. But even Wayland like I could make the same argument. Wayland is going to be just like X11. It's going to be a whole bunch of programs that try to do a whole bunch of different stuff. It's going to be a whole lot of lines of code. And the fact that Wayland is going to be partly developed by a lot of the folks at Red Hat who helped develop system D, which people love to complain us too much. It wouldn't shock me if there's, you know, some some crossover there. Again, people are selective. I could say Blender. Blender, the animation software does 3D modeling and animation. Heck, it does video editing. I could even do 2D imaging in Blender. It does a ton of stuff. It's like a multi-tool, right? It should do one thing and one thing well, but it doesn't. But Blender is a fantastic piece of software. Nobody, I've never heard anybody say a negative thing about Blender. Most modern video editors these days come with extra features that they used to not come with. For example, in many video editors now, you can also edit audio, which is interesting, right? You can mix audio and just EQ levels and do compression and normalization and things like that where you used to follow the UNIX philosophy. You would have a video editor to edit video and you would have a separate program, an audio editor to edit audio. And then, you know, in your video editor, you would render the video and audio together to eventually get your video. But nowadays, you don't really need a separate video editor and audio editor. Most video editors are also audio editors, so they certainly would violate the UNIX philosophy. And any web browser, most modern web browsers are going to violate the UNIX philosophy. Many of them contain extra features, most features that people don't even use. So many web browsers now come with web mail clients, email clients that nobody uses. RSS feed readers and news sites and things like Pocket on Firefox. You're getting served all these news articles and you've got support for various non-HTTP protocols, you know, things that are not necessarily web protocols, right? You've got all this stuff built into your web browsers now where they're not doing one thing and one thing, well, right, a web browser really should just be a web browser. It should browse the web, it should be able to render HTTP and HTTPS sites. And that's it, but your web browser does so much more. That's why these programs like Chromium and Firefox are such massive programs, you know, that take hours to compile on a source-based Linux distribution. Thankfully, most of us run binary distributions, so most of us are not aware on how big a program a web browser actually is, but they take many, many hours of compilation. So ultimately, what are my thoughts on the Unix philosophy? I actually like the Unix philosophy. I personally, I would try to adhere to it as best I could if I was a developer writing my own programs. I do like the idea of keeping things simple, small, modular, and I like the idea of do one thing, do it well. I think it makes developing software a lot easier. I think it makes diagnosing problems a lot easier. I think it makes it easier for the end user. I think it makes it easier for especially the power user, if he's an end user, because the power user can take these simple, small, modular programs and chain them together, you know, pipe them sometimes, you know, pipe output from one simple program as input into the next simple program, you're right, which, you know, these big, massive programs, they really, they don't offer that kind of flexibility. Now, having said that, that I like the Unix philosophy, I really don't care if people violate the Unix philosophy either because it's one of those things. Why do we run free and open source software like GNU slash Linux? Well, we run free software because it's free, right? And when I talk about free, free as in freedom, right?  So use whatever piece of software you want. I don't care. Nobody else should care what you use. You shouldn't really care what I use, right? You do you and be happy with it. Be proud that you use the software you use. If you're developing software, if you want to adhere to the Unix philosophy, great, if you think it has merit, absolutely develop with those goals in mind. If you think the Unix philosophy doesn't make sense, right? Then that's fine too. You know, make these big, massive, giant programs that do a whole bunch of stuff. These jack of all trade programs. That's fine. This is not an ironclad rule. Like, you know, if you violate the Unix philosophy when you're developing your software, we're going to come after you, right? We're going to persecute you in some way. No, you're free to make whatever kind of program you want to make. And I think really what I want people to think about is how selective we are when we talk about things violating the Unix philosophy, because it's almost like we take this Unix philosophy idea. And some of you guys have weaponized it, right? And you selectively go after certain targets and other targets you just let slide. And although I like the Unix philosophy, it's not an ironclad rule. Nobody has to follow it. That's the point of freedom, right? This is about freedom, free software, free is in freedom. It's about freedom, baby, right?  It's one of the reasons why people often tell me it like my shells that I use like fish. It's not POSIX compliant. It doesn't follow the POSIX standard. Who cares? Who decided that everybody has to follow POSIX? And who decided everybody has to use the Unix philosophy? Freedom. We have the freedom to choose to follow these guidelines that people set out. Or we also have the freedom to, you know what? I think that's the wrong idea. I'm going to go this other direction. And that's how innovation works, right? We don't stagnate and stay the same because if we just follow the same old tired rules, GNU slash Linux is never going to evolve into something more. And I think it would be sad if GNU slash Linux didn't continue to evolve and to grow because even though we've come so far in the years that I've been running Linux as my main operating system, we still get a long ways to go, right? There's still major improvements that we can make. And I don't want people to stifle innovation by being so dogmatic with a lot of these rules. Now, before I go, I need to thank a few special people. I need to thank the producers of this episode. And of course, I'm talking about Devin, Dustin, Gabe, James, Maxim, Matt, Michael, Mitchell, Paul, Scott, West. Why ya bald? Homie, Allen, Armoredragon, Chuck, Commander, Henry, Di, Yo-Kai, Dylan, George, Lee, Linux, Ninja, Mars, Drum, Mike, Erion, Alexander, Peace, Archon, Hador, Polytech, Realiteats for Lust, Red Prophet, Stephen, and really these guys. They're my highest tiered patrons over on Patreon. Without these guys, this episode would not have been possible. The show is also brought to you by each and every one of these fine ladies and gentlemen. All these names you're seeing on the screen right now. These are all my supporters over on Patreon because I don't have any corporate sponsors. Let me get in frame here. It's just me and you guys, the community, if you like my work. Subscribe to Distro Tube over on Patreon. Alright guys, peace.


So guys, I am back with another out of the ring video and today guys I bring you why my opinion has got to be the best weapon you can get early on in this game now I know there's gonna be a lot of people in the comments section disagreeing with me, which is completely fine This is all a matter of opinion. But for me, this has made things so much easier Easier is unreal and I recommend it to anybody who's even having any kind of difficulty in taking out bosses because this thing just absolutely slaps. How's it going guys? My name is DPJ and if you do enjoy the video leaving a like really helps out and if you like what you see and want to see more be sure to subscribe. Okay, so the Bloodhounds Fang. This is a weapon you get from the Bloodhound Knight Darryl Will, which I'll showcase the location to him in a second.  I mean I beat him quite early on so you shouldn't really have a problem with him If you're at a level 20 to 30 you should be completely fine But he drops his Bloodhounds Fang. Now before I actually unlocked this weapon guys I was well, I weren't struggling with certain enemies or bosses in the game But it just made things so much easier It's unreal. Now forget the fact it causes Bloodlust Builder, which is a great attribute on any weapon What's absolutely incredible about this that makes bosses way way easier is its left trigger ability It's kind of like a swipe then jump back.  I mean I was farming a boy trying to farm a boss I was trying to fight a boss yesterday. I wish I was farming in my language yet But I just couldn't kill him.  I was summoning all kinds of things. I couldn't kill him Now I had this weapon from quite a while back and I just thought no, I'm just gonna try this. I'm just gonna try it First try guys. I beat him first try with this thing. I've been using it ever since I've leveled it up since then And it's just making things so much easier And like I said, it's all about that left trigger ability where you do like a swipe forward and jump backwards What this is basically doing for you is it's adding a dodge Automatically in after a powerful attack. Now it will use focus points a small amount of focus points to do this but still guys It is so underrated. I ain't seen no one talk about this not really and it's a lifesaver I mean, it ain't just on bosses either. It's farming enemies.  I mean, it just makes work and Things so much easier. I mean, I can't stress it enough. Like I said, I ain't amazing at this game I don't claim to be amazing at this game. I know there's people out there that are watching It's gonna be like, yeah, there's way better weapons that are later on in the game Which I understand of course, there's gonna be better weapons later on in the game Which do all kinds of magic sorcery shit, which I can't wait to get my hands on But within the early stages guys, I'm a level 50. I still in my opinion. I haven't you I've got plenty of weapons I've got tons of weapons. I mean, I've got I've been farming That's all I've been doing I've been running around looking for them and picking them up and gathering them This is the best I've used so far This is the best I've used so far for more or less every instance That I've come across. I mean, I've tried many different things But this is just it's just way way better. I mean, it's kind of slower than my Katana But it's much more powerful. And like I said that that left trigger attack is where it's at It's so underrated. It just makes work on many bosses just so much easier the way you can just hit them with a powerful attack and Jump back in one action. So they don't get you. They don't react quick enough. They don't counter you guys It's just a must. It's just a must And once you get the hang of it once you get that timing down perfectly There's not many enemies in the game.  It's so yeah, I just definitely suggest you getting it So the guy you need to fight to do this is located right here the four long hand ever go What does that say that is actually like a teleporter come to this spot on the map And it actually looks like teleports you to a boss fight and this is a guy you need to kill and I suggest you guys Not leaving until you get him so you can see the area the surrounding Graces here. It's actually not too far down Well south east from where you actually start so you can get this more or less straight away Now I'm not sure we'll be able to kill this boss straight away. I mean if you got a Got a bit of skill. I'm sure you will be able to But I probably hold off until you're probably around a level 20 I reckon with your right stats or right build and that you'll be able to get him easily But yeah guys, I just suggest you coming down and getting this weapon because it's like I said by far the best I have used in quite a while at a boss I slayed with it, which I just couldn't kill him a quitarna. He's a boss I Was struggling on after it already be and Humiliated Godric the the grafted but this boss was just absolutely just tanking me and destroying me as soon as I got this weapon Guys, you had no answer He had no answer and a bus his name was a Royal Knights Loretta who if you thought if you know He isn't too easy But like I said this this weapon just made things so much easier guys Just just swiping him jumping back swiping in jumping back Absolutely amazing it really is so guys I suggest you get this weapon You will not regret it, but on that note We have come to the end of the video guys if you enjoyed leaving a like really helps out If you're new around here and want to see more be sure to subscribe and hopefully people I will see you on that next one