Thank you, Candace. Thanks for recording your progress. Thanks, everyone, for joining. As Candace said, my name is David Benimiglia, and I'm presenting on, not only the title for this is Cloud-Native Data Access, but my ulterior motive is to try to persuade folks to consider writing less code and to talk about or show ways to do that. By way of introduction, we already covered some of this. I'm a customer success engineer at Hasura, a software technology company that provides developer-focused tooling products. And so this talk is an aphorism-driven talk, wherein I motivated reasoning and confirmation bias to seek out some famous and not so famous people and pity sayings to support my point of view and to try to put God on you into believing what I'm saying. And some of those sayings are mine. And one of the, something that I often say is I believe that the best code is code that you don't have to write. OK, so what are we going to be talking about? Well, one of the things that we will be talking about is Hasura, the company that I work for and the products that we offer. So what is Hasura? Well, on the tin, we say, one of the things that we say about our product is, from your databases to unified GraphQL API in just one minute, what does that mean? Well, that's the marketing copy. What does that mean? Folks who don't know, a brief primer on GraphQL. GraphQL is a query language for web interchange. It is a successor to, and in some cases, a replacement for REST-based APIs, although it rates with and some of the operates over REST. It is, it was invented at Facebook who created a specification for it that has a spec. It is defined by, there are schemas within schemas. There are types, types are collections of fields, and types can relate to each other. On the right, this is just a simple depiction of what a GraphQL interaction might look like. You express a query on the left wherein you specify what data you need from back end, say. And then on the right, you get a JSON document that represents those data. And if this sounds at all familiar, it should. It is not all that dissimilar from SQL. SQL has schema, SQL has tables, not types, and it has columns, not attributes, but you can map those one to one. And in many ways, GraphQL and SQL are isomorphic to each other. Many GraphQL queries can be, if your back end is supplying data from a relational database, which is often the case, GraphQL APIs and GraphQL queries can be translated into SQL queries. And spoiler alert, that's what Hasura does. Hasura is a, in just one minute, you point your Hasura instance, this is an image of the GraphQL user interface for Hasura, which I'll be demoing later, but you just provide your connection information for your database. It stands between clients and your database back end. This is just a simple depiction here. It is essentially, it's a web server. It is a web server and it's a database client, but it will introspect your database for the tables and the views that you have within it. It will present those as GraphQL types and it will translate GraphQL queries into SQL queries and then mediate that information and provide that information back to clients. Clients being things like mobile clients, web application, things of that nature. So why are we talking about this and why is Hasura doing this? There are a lot of ways to think about this. One approach that I'll take if you'll indulge me is a bit of history, a stroll on memory lane. So who remembers two-tier architectures? This would be, as I remember it, these dates are sort of nominal. The late 80s through the mid 90s, there were two-tier architectures or client server architectures where typically there would be a, what we call a thick client written in visual basic or power builder talking to a server on the back end. Often that server was a SQL database and there would be, the business logic that you would have would be either in the database, but also there was a lot of business logic in the client, in the client front end. But we moved on from that. We went from two tiers, two tiers to get another tier. We had three-tier architectures. We're getting into the late 90s. Now we added an application tier in the middle. The presentation, this is the beginning of the web era. The presentation tier is now HTML web pages, maybe a little bit of JavaScript. So there's really no logic there. And so the business logic was placed in this middle tier written in, again, visual basic or Java or Perl or Python or what have you. And then things got more complicated from there. If three tiers is better than two tiers, then in tiers is infinitely better. So we got very complicated with, a lot of these things were worthwhile, but there were business logic servers, message buses, lots of caching and web location firewalls. And things just started to get more complicated. We moved on to service-oriented architecture. We're getting into the 2000s. And this is all worthwhile stuff that things were getting, again, quite complicated. And in this era, a lot of code was being written. Things started to, the sort of parabolic arc of complexity maybe tipped over in the 2010 era. We started getting microservices that started simplifying things. Restful APIs came in as a way to, as a model for standardizing my API backends and that helped simplify things. But there still was a lot of code, things were getting quite complicated. Containerization helped out Docker, even serverless functions, that helped out a lot. But we were still in an era where, we were writing code, we were writing code in Ruby, or we still are writing code in Ruby, Java, Python, JavaScript. But where things are started to simplify and Hasura is helping that out. And so an era that we're now in is sometimes considered a low-code era where we're able to get work done and make progress with tools that provide a lot of leverage and help us get our work done with less code. And that's where Hasura fits in. So Hasura, again, as I mentioned earlier, it sits in between your database, Postgres or Microsoft SQL Server or a few others. And your front-end written in React or Flutter or Next.js or what have you. And it mediates that exchange between the database back-end and the front-end with relatively little code. That's where we, this is where we are, maybe this is where we're going, the so-called no-code environment, where maybe we can even make progress without writing any code, right? There are tools like Airtable, if you've heard about that, which is a sort of a spreadsheet database hybrid. It's very easy to use, user-friendly. There are tools like Glide apps and Sheets to site where you can just point those tools directly at either Airtable or Google Sheets and you can get a mobile app with absolutely no code. And that'll be pretty great, but that's not where we're at yet. Where we are is here in the local environment with Hasura and relational databases. But so the question is, where or how, how are we actually going to do this? How are we going to use a tool like Hasura to achieve our ends and write relatively less code? Well, how we're going to do it is some good old-fashioned data modeling. So here's what we'll bring in some of these, you know, pithy aphorisms. If anybody wants to jump into the chat, who knows who said this? The language might give a clue of when it was said, show me your flow charts and conceal your tables and I shall continue to be mystified. Show me your tables and I won't usually need your flow charts. They'll be obvious. Well, this was Fred Brooks in the Mythical Manman, which is a classic of the genre. Fred Brooks was a computer engineer in the 60s and 70s, project manager for the IBM 360. But the principle here is that is one of the principles is that data modeling is of immense importance. And if you build applications centered around the idea of data modeling, then the actual procedures, the code that you write will be in many ways less important. Here's another pithy aphorism. This will, the reason for bringing this in will be evident maybe a little bit later. Any sufficiently complicated C or Fortran program contains an ad hoc, informally specified bug and slow implementation of half of common list. Why do I bring this in? First of all, who said this? This is Philip Greenspun, who was a prolific author and educator and computer scientist, still is. It was very active in the 2000s. Was it one of the co-founders of Ars Digida? Here he is with his dog. But the reason I, so a saying that I often make, I adapt this saying in the following way, any sufficiently complicated Java or Python program contains an ad hoc, informally specified bug written slow implementation of half of the relational database. Because another thing that I often said, well, okay, here's another quote from maybe a slightly less famous person. What are you typically doing, or what are you actually doing when you use a typical web application? Well, this was asked of me by Ben Warronk here at Hasura the day he interviewed me. And his point was, if you're interacting with a typical web application, like let's say an online retail store, what you're really doing is you're interacting with a database. Databases are at the heart of our applications. And so the reason I say this is because here's a picture of Ben Warronk looking quite handsome. I often say, well, what are you actually doing when you write a typical program? Often I think when you write a typical program, what you're doing is you are building an ad hoc, poorly implemented bug written version of a relational database. So what I would say is, why don't you just use a database? I'll say this anytime anybody asks. Now, another, so this was said to me by a friend and colleague at Hasura just last week when we were talking about the subject, PLSQL isn't a real language, real programming language. Well, for those folks who don't know PLSQL, that's the procedural programming language for Oracle database, but really you could substitute any of the procedural languages for any of the databases. You could even substitute SQL. A lot of folks feel that SQL isn't a real programming language.  But I break this, there's a bit of foreshadowing. This will be the reason for bringing this in with the evidence a little later. But as I said, in my view, often when we, what are we doing when we write a typical program? What we're doing is we are writing a database. So what are our typical data containers in Java, Perl, Python, what have you? And I choose the word containers for a specific reason. But what we usually, we have variables, obviously. We have arrays, we have lists, we have maps. But really, I mean, abstract, if you boil it down, what we really have are collections, collections of things. Even a single variable is a collection of one item. Of course, there are different data structures, there are queues and there are priority queues and there are FIFO buffers and ring buffers. But those are sort of specializations. They have different performance characteristics and different, slightly different behavior. But in general, what we're doing is we're working with collections of things. Well, what's a tool that is built around operating on collections of things, relational databases? Relational databases within a relational database, relations or tables are collections of things. So maybe we can just use that. Like I said, a typical, and so if we use a typical relational database, what do we get for it? What does it provide out of the box? We'll provide this a lot. It gives us efficient storage, over huge volumes of data, fast access, powerful and flexible indexes, joint operations so we can relate data to each other easily and flexibly without pointers, constraints for richly modeling our data and our application, flexible query language, overall of those aspects, access control, permission systems, a unified data model that is, by unified data model, I mean that everything within the database, including its own catalogs, are tables, a concurrency and other things that I'm sure I've lessened things off the list here. So if you're writing your application in code, if you're writing it in Java and Python and you are throwing around lists and maps and iterating through those and finding elements within them and performing filtering operations, you're sort of performing a lot of the operations that you would perform in a database, but you're not getting all of these benefits. If you were to get all of these benefits, you would have to write a lot of the code, all the code associated with this. So getting back to the title of this talk, how do you write less code? You use a database, use the relation of database as it was intended and the features that are within it and you get a lot of code for free. So you have to write less yourself. But then of course, the subject of business logic will come up, where do you write your business logic? What is your business logic? And why didn't we do this before? Well, part of it is when we built web applications, web application, if it's fronting a database, it has to do at least two things. So one, it has to present the data from the database on the web. It's basically, it's a network server providing HTTP access and it's a location or it's a site for business logic. So we would write our business logic in Ruby on Rails or in Apache Tomcat and Surplus, but what would that business logic be? Well, if in a lot of cases, at least for online applications, it's really boils down to just a few simple things. There's input validation. The user has made a request to record some data and you have to verify like, is the requested valid or the data valid? Is the user have the necessary roles and permissions to perform this operation? These operations. Is, even if the data and the are correct and the user has the right roles, does the current state of the database, does the current context allow that operation to proceed? That's input validation. Data transformations, which is related is maybe more of a read operation where you have data and you are presenting them in some different way. You could be summarizing data into summary statistics, aggregates, you could be summarizing data into charts, graphs and visualizations. But again, that's another form of business logic. But I think thinking about these things in this way and paying attention to the fact that there are just a few simple categories of business logic. I think it clarifies things and helps us figure out how we might implement this in the database. And the third piece of business logic would be side effects. This might be where your application has to send an email or fulfill some product. But we can even boil this down further and say, well, typical business logic is really in, especially if it's a database backed application, it's a state machine. So for the state machine, there are some set of allowed states. There are allowed transitions from one state to another. It's just that in many database backed online applications, the number of possible states is too great to enumerate and the number of possible transition is too great to enumerate. But essentially it is a state machine. But so maybe one way to think about it is rather than states and transitions between them, we think of constraints. So what are the limits on properties of states that we could transition to? And the reason that's useful is it helps us map this over into database modeling and database constraints. Put even more simply, typical business logic in an online application is function evaluation over data. The function evaluation might be a Boolean predicate where you compute a Boolean over some volume of data to decide whether an operation or a transition is allowed. So really often it's function evaluation over data, but then there's a detail which is after finding the data. So again, this is what we would be doing in many applications that we would write where we would write the code in Java or Python or what have you. But we would have to do the work of not only the function evaluation, but finding the relevant data. But this is what relational databases are built for. So okay, well, so where the rubber beats the rubber how do we actually do this? Well, here's my patented advice presented in sort of the language of BotWorks' technology radar where they say adopt, hold and so forth. What I would say is do adopt declarative programming features within your database. So of course tables, but also use SQL views liberally to do those data transformations in your database. Use schema to organize your data model. Use data types liberally are the databases that we the sort of big four for databases, Postgres, MySQL, Microsoft SQL Server and Oracle give us a rich array of data types. And those data types themselves are they represent constraints. There are data types for all the usual suspects, ints, floats, text, but there are more exotic ones. There are data types for network addresses for geometric objects. And those come with constraints so that we can have some assurances that the right data are written into the right data types. And then besides that of course all these databases they also offer custom data types. In Postgres there are enumerations, there are range types, there are intervals. So I would say use those liberally. Use the permission systems within those databases. Again, a great deal I would say of business logic that we have is again making a judgment about whether operations can be performed. Is the user, is the operator allowed to perform this operation? Authorization. A lot of business logic comes down to authorization checks. The database is prepared to do that for us. Use constraints liberally. Primary key constraints, unique constraints, foreign keys and check constraints. When you can get pretty far with data types and custom data types but the thing, if there's anything else that you can't do and you can often do it with check constraints. Use row security policies and if a database offers that, at least two that I know of offer row level security. Postgres does and Microsoft SQL Server does. And what that means is the database has affordances within it where you can specify criteria for which users are allowed to access individual rows within a table. So, in an example, if you have an account table, you have all of the accounts in your service but a user should only, let's say, be able to access and see the row associated with their account. They should be able to see anyone else's. You could write the code to do that. You could write SQL code to say, check that the user's account ID matches some session variable. You could write that in your application code in Python or Java but at least a few databases allow you to set that declaratively and then the database will do it for you. Use default values on tables. That's pretty straightforward. I would say use assertions as well for those who don't know. So, check constraints allow you to, if you rose up, check constraints allow you to specify a set of properties that must obtain for the fields in a row in an individual table. Assertions allow you to express constraints that would apply across tables within the database. Unfortunately, even though assertions have been in the SQL spec since, I think, 1999, pretty much no database that I'm aware of implements them because they're hard to implement generally, but in particular case, you can fake them with triggers. So, if we use all of these features within the database, we can get pretty far in building, I believe, in building many of our applications. And all we've used to do that is, for the most part, is SQL. And as we talked about earlier, SQL is not a real programming language. So, again, evidently, we've gotten pretty far without writing any code. What I would say is hold on the procedural programming, i.e., stored procedures. So, when the subject of business logic in the database comes up, one objection often is, well, we don't want to have so many complicated stored procedures. Well, I would say, for those who don't know, many relational databases, Microsoft SQL Server, Oracle, Postgres at least, have functionality within them. So, you can actually write procedural code. You can stitch together a sequence of operations and SQL operations, package them up as a procedure, store them within the database, and then execute it as a procedure. And they're useful and they're worthwhile. Having worked in this field for a long time, I know that there once was a time at least where this was the first tool that people would reach for when writing business logic or code within the database. I would say this should be almost the last thing that you reach for. If you, if you, if we use these declarative aspects within the database liberally, then we will find there relatively few circumstances where we actually need servers. Okay, so I welcome questions and comments, but as those may blow in, I'm gonna set up a brief demo to illustrate how this might be done in Hasura. So this tab here, what you're seeing here is, so just a bit of background. So Hasura is, again, it is a HTTP server. It is also a database client. It's an open source project. So if you wanna deploy Hasura on your own infrastructure and self-host, you can absolutely do that. But as a company, we offer a Cloud Managed Project where we will run Hasura for you. And this is the console for Hasura Cloud. And we offer a free tier. It's pretty generous actually. It has some limitations, but they're relatively few. We will launch a new project in the free tier. Now, Hasura Cloud is bring your own database, meaning we don't host the database for you, but we do integrate with Peroku, which is another Cloud provider, to make it pretty easy to set up a simple Hasura instance and database. So I've created a project here. So this is a running instance of Hasura. The details, we don't need to dwell on this too much, but what we'll focus on is launching the console, which is the graphical user interface for managing Hasura. So this comes up. And so this console would be available to you whether you self-host Hasura on your own or whether, again, with you running within the cloud as we're doing here. Just orient you.  Where we wanna go is, so this console application, if you're using Hasura, this is one of the places where one does a lot of your work. There's a where you do data modeling and this is where you integrate with Hasura. We will, as I said, Hasura Cloud integrates with Peroku, so it makes it easy to set up a hobby system. You just create a database here. And since I'm already logged into Peroku, this will reach out to Heroku, set up the database, establish the connection between the database and Hasura and we're almost off to the races. Just let that, that works. Oh, there we go, adding data source. So while that's happening, what I will do is, let's see, view database. Now, the way Hasura works is, or what we do is when this service connects to your database, it will introspect and discover all of the tables that are available and it will offer to track those. Tracking means exposing a table as a GraphQL type. This is a fresh database, a brand new database. There are no tables. Within Hasura, we could, Hasura console gives you the ability to create tables. You can do it right in here. You can also, of course, create your tables in SQL and whatever migration tool you like, but you can also do it right in this tool. But you can also just run SQL directly. So what I'm going to do is, if you want to flip over to, so this tab here, this is GitHub and this has all of the code for this talk. So this has the set of slides that you're just seeing and there is a SQL code that I set up to set up a model. And that's in here, in the model. You can see that it's a simple retail application. It creates tables. There's an account table, product table, orders. But you can also see that there's some business logic built in here. We have some triggers to manage an update timestamp on these tables. What else do we have? There is, there's a border table or the details. There's a function. There's more business logic. So again, we could write this in some other language, but why don't we write it right in the database? Function to search over products, do a text search. There are, there is a, ah, there's a constraint that we add. We say, well, let's set a constraint on product prices. Doesn't make sense the prices to be negative. So make sure that there can't be any negative prices. So again, you know, this is the kind of check that you could put in code, Java, Python, or you could just write it declaratively right in your database and then not have to worry about it. And there are a few other pieces as well, but what we'll do is we'll just say, do this as raw SQL, copy all of that. And then we will just put that right into our Assert instance. We'll just paste it right in here. That'll create all of those tables. So what Assert is doing, is just dispatching the SQL to the database. If I had opened up a CLI session or database connection to the database, I could just run it from here, put this from there, but this is, this is convenient. So let that bake for a few seconds and what do we got? What do we got? Okay, so Hasura has noticed that now there are these tables that account table order or the detail product region, couple of functions, and it's offering to track them. So tracking means that these will be exposed as API types. If we go over to the API tab in Assura, one of the features of GraphQL is that it offers introspection over the data model, which what that means is that GraphQL tools can introspect the GraphQL API and discover what types are available. There's some common functionality that's often provided. So for instance, documentation on what types are available would appear here. But we can see that there are no types that are available. That's because we're not tracking anything. So we go back to the data tab and we just say, let's track all of these tables. And once that is done, we said earlier also that GraphQL types can relate to other types. Well, that corresponds to primary foreign key relationships among tables. And so what Hasura has done here is it's noticed that in this data model, there are primary key foreign key relationships among these tables. And it's offering to set up relationships. It's offering to track those relationships for us as well. We don't have to, but we can. We say track all of these just to be quick. And once we do that, we go back to the API tab. Now, the Explorer tab in Hasura now shows us that we have all of these types. We have an account type. We have an order type. We could start to perform GraphQL queries on these. We also have documentation for all of these. In query root, there's, these are all of the types that are available. And again, these just correspond to those tables and database. So we got all of this without writing any code. Of course, we don't have any data yet. So why don't we fix that? So we'll go back over to our GitHub repo. And I've got some seed data in here as well. Data.sql, which just, as you can see, it inserts some ersatz names, some products. These are grocery products. And then I think it was a two. Synthesizes some orders. So we have accounts. We have grocery products. It sets up orders and order details somewhat randomly. So some people order a lot of groceries. Some people don't order very many. And then there's just a little bit of extra material here for regions and, and statuses for the orders, whether orders are new or processing. So this is all the data that we're gonna, we are going to put into our, into our database, just so that we have some of the work with. Choose raw, copy all of that, and put that into our, so we go back to the data tab. SQL, and we will paste that in. And that, that bake. See, Candice, do we have any questions? Is anybody puzzled by anything? We do have one question from Ivan. How does security work between client, the client and Hasara? Excellent question. So a couple of ways. There are a couple of things to say about that. So with Hasara, there is, there's authentication, of course, and then there's authorization. If we first take up the subject of authentication, Hasara doesn't do authentication, but it will use authentication. So we encourage you to use an auth provider, like Google or Auth0. Users, so a typical flow is a user coming to your application will get redirected to an Auth0 or Cognito login. They will log in. That will establish a session. And then there are two possible flows. One is, actually, so let me take a step back. There are two possible flows. One is with a webhook and one is with a JSON web token. With the webhook flow, the user will come into Hasara and then Hasara will, at appropriate point, make a webhook call to, let's say, Auth0, your auth provider, to authenticate you. Hasara will get back headers that identify the user role and the user ID. That's way number one. Way number two, the user will have a JSON web token by virtue of having it logged in. And that JSON web token will be presented to Hasara. Hasara will, JSON web token is a signed document. Within it, there will be, it's called custom claims, but they're basically credentials that again, say, would provide these headers for your role and your user ID. So that's how authentication is integrated with Hasara. That's authentication. Then there's authorization. So authorization, which is, can you perform some operations? Well, the way that works is that you actually do within Hasara. So Hasara has affordances for, let's say, paid the account table. This is a bit of data modeling that you do within Hasara. And these are, again, this is more business logic, but it's business logic that you obtain through configuration, not by writing code.  You say, well, so first of all, this table here lists all of the roles that have been identified for Hasara. There's always an admin role. They have full permissions, but you would say, well, there is a user role. And you start to, you would use this to write fine-grained permissions over these types. So you'd say, well, by default, the user doesn't have access to anything on the account table, but we'll change that. We'll go in and we'll say the user can perform some operations, but we will say, call the custom check. We'll say, well, we wanna perform a custom check. And Hasara, when you do this, there's a little domain-specific language in here where you express what is the condition that must be met in order for the user to be authorized to perform this operation. You'd say, well, it's typically it's a comparison. So you'd say, well, I wanna compare, again, this is the account table. We know that the, well, we don't know this, but so the account table that I set up, it has the usual fields for a name, has created and updated it, has an ID. The ID is the identifier for this user. This would be the user ID. So you'd say, well, we wanna do a custom check where the ID in the row must be equal or it must match some value. Well, what value? Well, typically it would be a session variable and a specific one. In fact, it's helpfully, Hasara is helpfully offering to fill this in for us. It's accessory user ID, right? And so accessory user ID is the name of a session variable that will be in session if the user has gone through authentication in one of the ways that I just described, either with a web hook or with a JSON web token, either way, but as a consequence of that, there will be a session variable accessory user ID for that user. You'd say, well, do this custom check and what can they do? They can see all the columns, but again, this is just a select permission. Save this. And so then we go back to the API tab. Now, we can simulate this in Hasara's console. I don't have authentication setup, but we can simulate authorization. I don't have accessory user ID set. When that's true, Hasara will consider that I am the admin and I can do anything. So I can perform a query here. I can say, well, give me ID name limit this so that we don't get all of the data. And right, so we just performed our first GraphQL query and we have a list of users. But now let's say, but we're able to get all of these data because I'm admin. Why am I admin? I'm admin because I don't have accessor user ID set. Now let's say I, let's just copy this one for S-to-bond learning. Now I'll add this as a session variable, accessor user ID, paste in that user ID and then query to the demo gods. Let me do raw here and go back, make sure to count permissions here, those permissions, accessor user ID, go back here, accessor user ID. There we go. Well, did do it. All right, I'm clearly forgetting something. There's a detail that I'm forgetting, but I didn't pray sufficiently to the demo gods, but how that should work is you would just get back one raw. But broadly, so how, Ivan, I think the question was how does authentication work? There are the two aspects. You authenticate with an auth provider, you integrate that with a Sura and then you use permissions within a Sura to manage that. We'll just take that out. But as we say, we're now getting data and there are relationships among these data for these accounts. Let's just get one account. We can, let's see if this person has any orders. Orders. So this is an example of how related data are presented in Sura. And this is, we're getting mercifully to the near the end of the demo, I swear. So what orders, what products is this person ordered? What are their names? Let's talk about that. So, okay, so as Ivan has ordered milk and juice and pears and things of that nature. Yeah, so that's a Sura. That's a whirlwind of a Sura. Let me go back to my, I'll just, yeah, I'll skip that in the interest of time. Right, Sura product features. There is a time within Sura that we really didn't have time to cover. We covered the GraphQL API. There's a whole nother API that's available called Relay. Sura works, so in this case it's working with Postgres but it also works with SQL Server and BigQuery and we're working on other databases. There are actions, so Sura can call remote web hooks and that's a way, if you recall earlier we talked about one kind of business logic being side effects. So actions are a way that you can achieve side effects by calling like a serverless function. There are remote schema, which means that if you have other GraphQL APIs or even REST APIs and you want to integrate those or stitch those into a data model that you set up with the database, Sura will happily do that for you. There are event triggers, which is a way of setting up some asynchronous processing and you can run those triggers on a schedule. We did talk about authentication and authorization briefly. Sura will help you do database migrations if you want. There's a command line interface that will help you do all of this. So there's a lot of code in Sura that you don't have to write but which helps you build your application and helps you model your data directly in the database. Again, using all of the affordances that your database provides so that you really don't have to write that much code. That's what Sura does. I work for Sura and I think it's a great product. It is a great product, but there are some honorable mentions there are some other tools that do similar things there's something called PostgreFile, which is similar. It's a HTTP server, works with Postgres, presents a GraphQL API, something called Prisma which does something similar. There is something called PG GraphQL which is provided by a company called SuperBase. There's a startup, this weird little green symbol on the right, that's those folks. That's kind of interesting. It actually serves or evaluates GraphQL queries right in the database, right in Postgres. That's pretty cool. Of course, to serve those over an HTTP connection you need something else. So they use something called Postgres which will among other things present your database not as a GraphQL API but as a REST API. But you can use Postgres independent of that. And so if you want to present your database as REST endpoints, you can use that. But one of the things that pretty much all of these tools have in common which differs from, these are all web servers, these are all application servers. One of the things that is different from applications servers of your is that there's no place within these to put your code, right? Like if, you know, if folks remember writing say Spring Boot applications, right? You're writing your application server in Java then, you know, you're in your beloved IntelliJ and you can write your business logic code right in Java or if you are using Ruby on Rails, right? You can write your business logic right in Ruby, right? And in the application server. These tools for the most part don't let you do that. They do one thing for you really well which is automatically present your database as an API, but they very studiously avoid giving you a place to write your business logic. And the reason is, I would say in large part because it's becoming a good, we are re-remembering that it was, it's a good idea, it can be a good idea to write your business logic right in the database. So, you know, the title on the talk is how to write less code. Well, maybe my friend at Hasura is right. Maybe we just grant that SQL isn't a real programming language. Maybe we just say that it's not a programming language at all. We're not coding when we write SQL but then write our application in SQL anyway. If you can and if you do, then evidently you wrote your application without writing any code. And that's not, that's glib but it's not just glib. The database, modern databases provide a ton of functionality. And, you know, if we, there are many cases, I think where if we take advantage of that we can build our applications faster, more cheaply, more robustly, more reliably than we could do otherwise. If that doesn't sound that profound, it isn't. This isn't meant to be complicated. It's meant to be simple. That's part of the theme of this is, you know, we over the last 30, 40 years we went on a journey of increasing complexity but, you know, we turned around and we came back, coming back to Earth to building applications simpler. So I'll leave you maybe with just this one last to the quote from Turing Award winner, Asgur Deekstra, simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it and make matters worse complexity sells better. So that's pretty much it. Keep things simple, write your application in the database if you can, use all of the affordances that are provided and profit and that's pretty much it. Happy to demo other aspects of Hasura or answer any other questions that folks have but yeah, thanks for, thanks for attending. Candace, how are we doing? We're good, we got two more questions. First one is, is it possible to link multiple projects with same Hasura client and same database? So let's do this, a couple of ways of answering this question. So suppose you have, yeah, okay. With one database in Hasura Cloud you can set up multiple Hasura Cloud projects pointing to one database. There's a minor detail, it gets a little bit trickier if you're using the open source and your self hosting, there's a little bit of work that you have to do. The reason I say that is because in Hasura, there is metadata, like all of this information about what tables are tracked and what permissions are set up, that all represents metadata and we have to store that somewhere. But very hopefully in Hasura Cloud, we store that metadata for you. It's not stored in your database. So if you can set up different projects, each of which has, all pointing to the same database but let's suppose for some projects, in some instances you want to present or track certain tables and you wanna have certain permission schemes but then in another project you wanna do it differently. You can absolutely do that in Hasura just by setting up multiple projects. That's multiple projects pointing to one database but within one Hasura project, you can also access multiple databases. So let's see if we go to manage here. So we are already connected to one database but we can connect to more. We can connect multiple databases within Hasura. And then once that's been done, just like you can set up relationships between tables in Hasura, that's part of the data modeling process, you can set up relationships between tables in multiple databases and Hasura will join those data for you. You can also, as I said, there's this remote schema functionality where, let me jump over there, where you can add a connection not to another database but to another GraphQL server. But from the point of view of the API consumer, all of this is blended together into one GraphQL API. And again, you can set up relationships between from database to remote schema, from remote schema to remote schema. You can set up relationships pretty much in almost anything and Hasura will join those data for you. So there's a lot of flexibility for having multiple projects or multiple databases. I hope that answers that question. Candice, was there another question? Yep, there's one more. Are joins included by GraphQL for nested queries? Joins are included for GraphQL for nested queries. So, let's see how can we, so that's the nested query is what's happening here. We're saying, well, get accounts, but then for those accounts, get the orders and then the order details. Those are, from the point of view of GraphQL, those are one way to think about it is those are nested queries. But to perform that operation, click the analyze button, we can see the SQL server is writing and to do that, to perform that operation, it's doing the joins for us. So, absolutely, that is absolutely available. There's a lot that's available within Hasura. There's a barely scratch to surface in terms of functionality, but yeah. Well, I think that's just about time, but if there are any other questions or if folks have questions afterward, you can always, please reach out to me through, you can reach out to me. So this, the link that's provided here and that QR code takes you to it as well. That is a link to this GitHub repository that has all the talks that I've presented, but you can reach out to me through here. My email address is here as well. There are a lot of ways to reach out to me if folks have questions, but that is pretty much it. And I thank folks for attending. Thank you so much, David, for your time today and thank you everyone for joining us. As a reminder, this recording will be on the Linux Foundation's YouTube page later today. We hope you join us for future webinars and have a wonderful day. All right, thanks everyone. Thank you, Candice, bye.


Darian Canard, the Pride of the Big Blue, the University of Kentucky, great career up there. Congratulations on all of that. What does it mean to you that while you were there, Kentucky went to a completely different level in terms of not only record, but perception, football-wise? I meant a lot coming in. I knew I was going to be on the front of the train, changed that program. I mean, it was already being changed by a lot of the older guys. I came in just to really help that effort. And I feel very proud of that. A lot of pride for that. I know Coach Longman would feel a lot of pride for that. He was probably one of the biggest guys at the forefront of it and changed that program, especially having everybody lean on the big blue wall. There's just a lot of pride there.  Right. I think the perception is there. Definitely take pride in that. You know, I'm coming in. I came in with the right mindset to work and make sure, you know, everybody takes the next step to the next level. I think we're all going to have an enjoyable career. And I feel like any team I go to, I'm going to get the better out of them and I'm going to do the best I can for that team. I think your hands measured the biggest at the entire senior boat 11 and a half. Could we have a look? Oh my gosh. That's like Javon Curse. Yes, we're crazy. I mean, yeah, I measured it out. You know, if I was pressing flat against the table, they'd be like 11 and three fourths, but they measured here just standing up. So it's pretty crazy. Serious question. How do they help you block in somebody? You know, once I get the mitts on them, I can get better grips, especially if I'm shooting for like shoulder pad, I can slide down into, you know, right below the armpit. So I mean, it just helps having bigger hands, flashing hands. People think like the mitts are coming. So they can definitely try to swipe and I can just kind of retract and engage. Sounds strange to talk to any offensive lineman, but you really have big man size. I mean, you could play tackle. You would be a tremendous guard. Do you have a preference with your physical gifts as a big man who's an extra large big man in terms of where you play in the NFL? I definitely don't have a preference.  You know, at the end of the day, we're all going in and take somebody else's job. And mindset is, you know, I love football and I don't think anything's going to stop me from playing a position in the next level. What's the best thing you do as an offensive lineman? I have that mentality of grit.  I'm coming in to take a job and I'm coming in to bully the defenders when I'm in there. What is the thing that you need to improve upon or develop the most as you go to the pro game knowing that as you take the next step, you've always got to continue improving. Technical aspects, man. Everything in the next level is technical. Yeah, you can have the right mindset and have the right mentality.  But if you're out there just kind of flailing around, not you, right, using right footwork, right hands, right low eye level, it's not going to help you at all.   How prepared do you feel because you've played this level of competition? I think a lot of people go to the SEC just because of the fact, you know, it's one of the biggest, biggest pots that NFL likes to pull from and you get a lot of those monsters from the SEC. So I think it's helped prepare me and I feel very confident going in. It doesn't mean I'm going to come in and walk in and just know everything right away. I'm going to have to learn.  But I feel like it's definitely helped me have the right foot forward and maybe be a couple steps ahead of other guys. So we look for an interesting fact on every draftee. Do you know which one I'm coming with here? Dolly Parton. So you are distantly related to the greatest woman who ever lived Dolly Parton. Do you know her at all? I'm not met her personally. My aunt Georgia grew up with her right on the same street. And the funny story is they actually grew up and learned how to drive together. So it's got a crazy. You, by virtue of all of that, you drive with Dolly Parton. Virtue, yeah, by virtue.


Hi friends welcome back to my channel and welcome if you're new here. My name is Jen. I'm a certified weight loss and nutrition coach and I'm on the WW or the Weight Watchers Blue Plan. Happy Friday friends! It's Friday so it's another weigh-in day. It's the second weigh-in of the month of June so I'm here today to share my weigh-in result, the WW workshop topic. Talk to you a little bit about my week and we'll set some goals moving into the next week. So if you're excited for another Friday weigh-in give this video a thumbs up and don't forget if you're new or you haven't yet subscribed I'd love to have you here. Hit the subscribe button and click that little bell right next to it so you never miss a single video. I do upload most days of the week and Friday is always a weigh-in day. Check out the description box down below for nutrition coaching. I do offer personalized 2U macros and calories. Super super important to be successful really on any weight loss plan whether it's WW or not. If you want to chat with me directly I offer one-on-one coaching as well. Links, discounts to all my favorite things and of course my Facebook group are also down in that description box. Head on over and join us on Facebook. We have a fun summer challenge starting July 1st that you're gonna want to take part of. So let's jump into this week's weigh-in workshop topic. Set some goals for this next week and I'll chat with you about how this week went. I hope you guys had an absolutely fan-tastic week. I had a pretty good week. I'm still suffering with some electronic woes. As of today things are much much better but I did struggle a little bit this last week with my new camera and having to swap out lenses. Still having to film on my phone so that was a little bit frustrating this last week but I am finally officially set up. I'm filming on my new camera. I'm not so up close and personal as I was last week and I'm really happy with how it ended up working out overall and what lens I ended up choosing. Let me know down in the comments what you think of the clarity, the color, all of that with my new camera and my brand new lens. Besides from the camera issues I had a really really good week. I was able to get in Jazzercise two times instead of three. I was actually showing houses on Tuesday so I had to cancel my Tuesday night workout which is just fine. I ended up having it to work. My food was fantastic this last week. I didn't even go over my calories at all. Not a single day and I hit my protein goal every single day. For the month of June on my Facebook group we have a tracking challenge and then in my spring challenge group we have a protein challenge. So I'm having to not only track all my food but hit a protein goal every day which has been really really good for me because it's kept me on track. Had me choosing the right foods and it's just been really truly a great week. I drank all of my water a gallon every single day. I didn't miss a single day this last week of drinking my gallon. So I would say that overall this last week besides the camera issues went really well for me. So before I share this week's weigh-in let's chat a little bit about the workshop topic. We're still in that Getting Stronger series. So this week's topic is about goals. How to create goals that you'll actually do. Whenever we think of these new goals or these new things that motivate us it's better if we break these down into smaller pieces so that we can number one make sure that the goal we're choosing is doable and something we'll actually stick with but also to make sure that we have everything in order to be successful in whatever goal we've chosen. So the first thing we need to do is get laser focused on that goal. There's three questions that you can ask yourself to make sure that you are laser focused. Number one what is your goal? What is your specific goal?  Maybe it's tracking all of your food. Maybe it's drinking your water. Then think about when and where will you do this goal. So for example if your goal is to take a walk every day when during the day are you planning on taking your walk and where? Are you going to walk your neighborhood? Are you going to drive to a park and walk there? When and where are you going to do this goal? And the third piece is will anyone be with you? Are you planning on having a walking partner? Are you planning on going on this walk by yourself? Secondly think about how many steps do you need to take in order to reach your goal. If there's only one or two pretty simple steps that you need to take to get there then you're ready to move on to step three. Now if there are three or four maybe five steps that you need to take in order to reach that goal you'll need to break that down a little bit further. Take those three four or five steps and divide those down into smaller less complex steps so that it's easier for you to put it together and also to complete those small steps to reach that big goal. Now how do you think you'll feel when it's go time to get moving on that goal? If you think that you're going to be too tired stressful or busy to really reach this school especially our example goal of taking a walk every day make tweaks so that it's something that is doable for you and also so that it's something that you actually want to do. And if that doesn't work for you then maybe think about another goal that may be a little bit more doable for you and start with step one and break that down just like you did with taking that walk every day. And step number four is think about any barriers that make in your way. On a scale of one to ten ask yourself how confident am I that I'm going to be able to reach the school? How confident am I that I'm going to be able to take a walk every single day? If you rate yourself on the lower end say a one to three on that one to ten scale then maybe it's time to really think about if that is the right goal for you. Maybe you need to modify that bigger goal into those smaller steps to make it a little bit more doable. If you fall in the middle between a four and six on the scale tweak your goal make little changes until you're feeling seven or above on that scale in confidence that you're going to be able to achieve that goal. And if you fall between the seven and ten you go. You go for it. You start that goal. You get a move on to make it happen. Sometimes we have all these great big lofty goals but sometimes we just can't get there. It's not doable. It's not achievable. It's not realistic. This is called the intention action gap. That's the disconnect between what we want to do our intentions and what we're actually able to achieve. So make sure that whatever goal you're choosing doesn't fall in that intention action gap. That is actually something that's doable and achievable because nothing is more frustrating and unmotivating than not even being able to reach any of the goals that we've set up for ourselves. So make sure that whatever goals you're choosing you're setting yourself up for success. So now let's jump into this week's weigh-in. Like I said I had a really really good week. The only part that was lacking for me was missing one day of Jazzercise but whenever I show houses I get a ton of steps. In fact on Monday I cleaned my house and had over 8,000 steps from cleaning the house and going in and out with the dog so I feel like I'm getting in quite a bit of movement just in my day-to-day life as well. So if I miss a workout it's not the end of the world because I don't work out to lose weight. I work out to build endurance, strength, and to keep my body healthy and strong. So when I stepped on the scale I'm happy to report I am down an additional 1.2 pounds. If you watched my Wayne video last week it was in the middle of my cycle and I was only down 0.2 and like I said last week I was hoping it would make up for itself this week and it most certainly did. So with a loss of 1.2 I'm so excited for that moving in to the third week of the month of June. I truly believe that these challenges in my Facebook group have really made a huge difference in my success. Having that extra accountability and that support network in my Facebook group spent absolutely game-changing for me. So if you're looking for a challenge a little bit of extra support and networking and accountability definitely head over to Facebook and check out the couple of challenges that we currently have going on. So now I want to hear from you guys. How was your week? Did you gain? Did you lose? Was it what you expected? And most importantly what's the goal that you're setting for yourself for this next week, this next month, or the next goal overall for you? So definitely let me know down in the comments. Check out the description box for nutrition coaching, personalized macros and calories, and one-on-one coaching are available. Links discounts to my favorite things and of course my Facebook group. Again come on over and join us if you want to take part in these challenges. Thank you guys so so much for watching and I'll see you all in tomorrow's grocery haul. Bye!


Reaching out to parents with different cultural backgrounds, it can mean a lot of things because it can mean different home culture, it can mean different religion, it can be just a different type of group in your own society, I mean one that you are not really familiar with. I think that the best strategy, which is of course not a strategy, is to be interested, to be genuinely interested. And of course that also needs this type of lifelong learning urge on the side of the teacher. So to understand it as a teacher you will become more if you learn about cultures that you don't know. And if parents see that this is a genuine interest then they will be happy to contribute on their own cultural differences or their own traditions. There are all these kind of traditional things to invite the parents to bring in their national food, to bring in their special traditions for a certain time of the year. So instead of celebrating Christmas, let's have a look at how different cultures celebrate the shortest day because we all know that Christmas is celebrating the shortest day or that the shortest day is over. But the basis is the genuine interest in the parents' background. What you can do is very much dependent on the age of the children. When you work with small children it's much easier to work with these basic traditions, how things are done in a different way at home, in your own little community. When the children are older you can even combine it with educating the parents because especially from groups where some of the parents have low education and they come with a relatively low level of education into your country, you can organize evenings when they talk about their national poets, writers, when they compare historical events, what happened and how was it like in your country in the 17th century. And it's amazing because for example when the English Revolution happened in 1640, East of Europe was in a feudal state and they had Turkish occupation and if you look at those then a lot of learning can happen. So basically you can be creative and there are methodologies all over the place but the answer for involving different cultural background parents is being genuinely curious. If your curiosity is killed then probably you should check whether you are burnt out or not because if a teacher is not curious anymore there is something wrong. When it comes to parents who speak a different language from your own it's difficult because in more and more contexts you will even have students who speak a different language from your own. When communicating with the parents it's relatively easy to use the children as translators but it's overused because when the children are present they should be there to express their own views and not to act as translators or translators only. So I would rather recommend to try when you genuinely need to have a face-to-face one-to-one type of conversation with a parent to find another parent who is fluent in both languages or to find a colleague who knows some of the other language but not to use the child as a translator and translator only.


The Acer Aspire III, A315, 43, is a bit of an anachronism if you simply look at its design hardware, however, its price tag is lower as well, so the people who are looking for a more affordable daily driver will certainly enjoy the touch of old school. Now, let's see why. Visually, the laptop looks like any other budget machine. We see a silver finish, while the whole device is made from plastic. However, it doesn't feel bad to the touch and has some flex resistance, which is all you can ask for. For a 15.6 inch machine, it's also fairly portable, weighing 1.81 kilograms and having a profile of 19.9 millimeters. The lid doesn't open with one hand, and the input devices don't try to be a saving grace at all. The key travel is short, despite there being room for more, while the feedback isn't consistent across the board. As for the touchpad, it's got a smooth plastic cover and a relatively good size, however, the tracking feels sluggish. Most of the ports are on the left, with a LAN port, an HDMI port, and two full-sized 5 gigabit USB ports. On the right, there's one more full-sized USB 2.0 port and an audio jack. The display is nothing special, however, it gets the job done. The full HD IPS panel has good viewing angles and gets up to 278 nits of brightness. It doesn't show any significant color coverage, with about 52% of the sRGB gamut. However, it doesn't use PWM to adjust brightness, so you can use it all day without added strain to your eyes. Still, you should track your screen exposure and take one minute breaks every 20 or 30 minutes. If you plan to use the laptop for the office, as it's nothing wrong with that, we'd recommend our office work profile, which makes texts and tables more readable. We'll leave a link to our profiles in the description below. Despite the small 42Wh battery pack, the Aspire 3 lasts for 10 hours of web browsing, for 8 hours and 44 minutes of video playback, which is a very good result. Only 2 per 100 people watching this video are subscribers. If you decide to just start following us, we'll be able to reinvest more in our laboratory thus making even more helpful videos for you. Thank you, you're awesome! This is due to the Efficient Zen 2 CPUs, which are part of the Ryzen 5000U series. Essentially, AMD refreshed and rebranded some of its older chips. This is good news for you since you can get powerful components for a good price. Here we have the Ryzen 550 500U, which stacks pretty well against the Core i3-1215U and the Core i5-1235U. The Ryzen 5 is also quite easy to cool down, so you don't really need a robust setup. This means reduced weight and less noise. Here we see two heat pipes and one fan. With it, the laptop maintains a consistent 20W load on the chip with clock speeds of 3GHz and above. On the outside, the laptop remains cool and quiet, with a hotspot of just 33.6°C. The fan can be heard, but it's not annoying at all. The Aspire 3 has 8GB of soldered DDR4 memory, as well as an empty Sodom slot. For storage, there's one M.2 slot for generation 3 SSDs. We have a separate teardown video that shows the upgrade procedure, so if you want to check it out, we'll leave it in the description. The Acer Aspire 3 A315 43 makes some sacrifices, but the fairly good build quality, performance, and battery life act as pretty good saving graces. With that said, the keyboard and touchpad can be improved. To finish off on a high note, it runs cool and quiet, while you can also add extra memory and storage if you want, so it's definitely one to consider if you have a shoestring budget, but need a good performing device. For more info about the Aspire 3, you can go over our written review, once again linked below, which has extra testing on the screen, as well as detailed specifications and configuration options.


Good morning, Excellencies, ladies and gentlemen. It is with great pleasure that I welcome you all at this second session of the International Dialogue on Migration in 2022. While meeting in person is for now a possibility here in Geneva, we are taking advantage of the hybrid format to ensure this discussion has a broad reach. I welcome those who are joining us remotely, including many of our high-level speakers, and appreciate, in particular, those who are joining us at a very late or a very early hour at this moment. Excellencies, the International Dialogue on Migration is a critical platform to reflect upon and debate key migration issues, and particularly those most pressing for our work. Climate change and migration are defining issues for our time. There is now overwhelming evidence that climate change and disasters are shaping migration patterns in all parts of the world, in all parts of the world. In 2021, disasters alone led to 23.7 million, internal displacements according to the International Displacement Monitoring Center. Indeed, the IDMC are discussing precisely these numbers just next door here in the ICGC, supporting our policy discussions today. These estimates are expected to increase if no climate action is taken. Looking ahead, the World Bank has projected that 260 million people could become internal climate migrants by 2050, with no region safe from the impacts of climate change. While this data is new, the evidence is not. We have known for more than 30 years since the first Intergovernmental Panel on Climate Change report in 1990 that climate change is what we can call a risk multiplier, capable of rapidly reshaping the patterns of human mobility. And precisely the latest IPCC6 assessment report that as you know was published earlier this year, as unequivocally concluded that it is today having profound impacts on human mobility. Our deteriorating environment alone should be cause for immediate action. But what has become very evident this year is the dominance of acute and multi-dimensional crises. Crises born from a reality where ongoing climate impacts have combined with the lingering effects of pandemic, economic instability, rising food prices, and the global reverberations of conflict in Europe. These factors have created unprecedented levels of food insecurity in much of the world. In such a context, it will be naive to think that people will not move. And indeed, in the progress declaration of the First International Migration Review Forum, adopted by the UN General Assembly in May by consensus, member states have expressed the same concern. According to the World Food Program, the global report on food crisis 2022 mid-year update, at least 205 million people, 205 million people are expected to face acute food insecurity and be in need of urgent assistance in 45 countries. South-Saharan Africa remains one of the most vulnerable regions to the impact of climate change and a region predicted to have the greatest number of internal climate migrants by 2050, 86 million. And countries of greatest concern include Somalia, where prolonged drought is combining with high food prices and continued conflict. Afghanistan, where famine looms following a combination of catastrophic floods and the worst drought for decades. And countries that have now been added to the list of countries of concern, Guatemala and Honduras, with too much rainfall and Malawi with too little. Increasing food insecurity presents itself not only as a mobility driver, a phenomenon, of course, that we have seen before, but also a manifestation of how climate change impacts productive ecosystems. The IPCC has noted that by 2050, up to 10% of current food production areas may become climatically unsuitable. Rural populations, landlocked or in poor dependent countries, fragile and conflict-affected contexts and humanitarian operations will suffer the blend of commodities scarcity and, of course, price increase. Your Excellencies, distinguished participants, ladies and gentlemen, we do not have much time left to act. We are already experiencing irreversible loss and damage and we are threatening the future of an entire young generation on their lives and their livelihoods. The overlapping crises we are witnessing around the world are undermining our ability to meet the promise of agenda 2030 and the sustainable development goals. Therefore, it is our responsibility to prepare for climate extremes. It is our responsibility to mitigate climate impacts on lives and livelihoods and consider the role that human mobility plays in this regard. Some regions of the world are already taken on this responsibility and IOM is supporting these efforts. In the East and on of Africa, a region deeply impacted by food insecurity and vulnerable to climate change, governments have come together to governize global support to address the harsh impact of climate change on human mobility through the Kampala Ministerial Declaration that was signed in July. And they have just returned from the Pan-African Forum on Migration in Kigali, Rwanda, where ministers from across the continent have gathered to assess how to build more resilient communities through adaptation strategies. The South American Conference on Migration has made a call for COP 27 to consider both the challenges and to promote good practices to avert, minimize and address displacement related to climate change. And the Pacific region is in the process of developing a regional framework on climate mobility to guide governments in addressing displacement, migration, evacuations and planned relocation. Our dialogue today is timely as we are a few weeks now from the next iteration of the conference of the parties, scheduled to take place next month in Sharm el-Chake in Egypt. And it is an opportunity to impact the various aspects of food insecurity, climate change and migration, understanding the scale of the problem as well as finding solutions. Over the next two days, we will look at the specific impacts of climate on our oceans, on water, a critical issue and on land. While the food insecurity challenges of today are compounded with economic recession and high food prices, the challenges of tomorrow will center upon our ability to produce food. We will assess the impacts for specific populations, women, who often bear the brunt of food insecurity. But women also hold the key to solutions at the community level. And the young people will be forced to take up the legacy we leave behind. We will identify means for communities to adapt to changing livelihood options through skills development and new green economic opportunities, including through partnerships with the private sector and the critical role to be played by diaspora communities. We will discuss the possibilities for legal pathways to expand routes out of humanitarian and development crises for those with the fewest choices. We will hear in this dialogue from migrants who have been affected by climate change, but have used their knowledge and experience both to inform our responses and help others. We will learn from the global COVID-19 experience, both in terms of its impacts on food insecurity, but our efforts to build a climate-smart food system. And we will look, of course, towards COP 27 to understand how can we bring these issues to the table to give visibility, raising awareness when in Egypt and in future rounds, the international parties come together. The climate crisis we are facing today is also a social crisis. Poverty, inequality, and marginalization are the major determinants of individual vulnerability to current and future hazards. As we experience more intense and also more frequent climate events, it will be our capacity to address the social, political, and economic factors that engender risk that will determine the success and resilience of communities, both these and the next generation. IOM's vision and commitment is to promote a comprehensive approach to migration, environment, and climate change. It is grounded human rights for the benefit of both migrants and societies. When well-managed, migration becomes a safe and accessible choice. It can help people adapt to environmental and climate change pressures. My hope is that at the end of this international dialogue, we will have identified practices, lessons learned, and recommendations that will support the development and implementation of concrete actions for the benefit of both states and migrants in this context. The outcomes of your discussions during these two days will feed into our contributions to the upcoming COP27, as well as to the next IOM council that we'll meet on the 29th of November, where we have invited member states to participate at the highest political level in a discussion on these same issues. Ladies and gentlemen, I look forward to fruitful deliberations. And I am convinced that only together can we overcome the overlapping crisis the world is facing today. Thank you.


Wow So money geeks mr. V here welcome to another video guys so in this video I want us to talk about Tickets in board see our C H. This is a torch light So this is a company that we've actually covered here on the channel I told you guys that they are right now in the process of our Merging with meta material, which is a company that produces specialized materials used for different purposes their service Bunch of other industry so I'm not gonna go into the details of what this company does Just gonna give you guys an update as to what is happening with the stock because The last time we I did a video here, which is like, I don't know Maybe a week ago this stock went crazy and then came back again on earth So what happened wouldn't that shut Peter at the time did any of you guys take advantage of it? So that's what we're gonna talk into this video But before we get started guys via new to the channel We took about how to earn money how to save money how to invest and build wealth So that's something that interests you go ahead and hit that subscribe button and the notification bell to you don't miss out on new content So guys our TRC H again has been crazy the last couple days Let's take a look here if you can see this thing went from from about six dollars is unchanged Actually, it was down to like four dollars whatever Before I think they're before June 18 and then from June 18 It's squeeze all the way to a high of $11 and some change and then turn around and pull back so everybody's like what is going on Some people if you were in this stock and then you saw that first squeeze that went up to like six dollars took a Little bit of profit and then it kind of just went crazy from there like almost double from that six dollar price point And I kept a lot of you guys reaching out is like hey be careful with this stock if you can secure profit because this thing Is gonna pull back that was not a normal move as we can see it happened Just as we predicted so what drove the price to go up and what drove the price to go back down So if we can see here, let's kind of take a look here if you can see here before June 22nd where we talked about it They had announced that they were gonna raise a hundred million dollars So you can see it in stock offerings and so the market didn't really know punish them for that But then on Monday, they saw how the stock was doing good and then it came back and said Oh, we're gonna raise an additional 150 million dollars on top of the 100 million dollars that they were gonna raise and so the market didn't like that Not one bit and you can see here The stock actually just took up like a punch in the gut on Tuesday Went from that high of $11 and some change and then right now trading at $6 and 52 cents after hours Which is ridiculous. So again for those of you that are holding the stock long-term You're probably sitting there beating yourself like I could have taken profit when he got to $11 or so Well, that's something all of us complain about But again, this is gonna pull back and then re-establish itself because long-term I still like touch like merging with meta material because I think that business model right there is gonna change Touchlight energy. They're gonna go from being kind of like a fossil fuel Company to now being a clean tech company, which I really like so to me that that's our that's a no-brainer But again movements like this if you have or if you have an account that you use for day trading or string trading That's where you make all these rapid moves But if you want you have a permanent account where it's just for buying you continue to buy when you see deep Opportunities you buy and continue to build your position there So that's what I wanted to give you guys this update here again, like I said The reason why torchlight actually collapse completely is because they came out on Monday and announced that they're gonna Do an addition or they're gonna raise an addition a hundred and fifty million dollars on top of the 100 million dollars in stock offering That they had announced last week So the marketing take that lightly the market punish them for that because that's like you I mean I don't blame the company for taking advantage of the stock spiking and I'm making this offering but most people when you see that Investors to see that that they don't they don't appreciate it. So that's why I took that beating So let me know in the comment section what you guys think again, my personal take here is this is a stock that you should hold long term Right now. It's not a time to buy if you're looking to hold long term wait for those dips guys Don't don't push it don't try to chase it just wait It's gonna come back to you formal is gonna try to get the best of you but if you just be patient this thing is gonna come back down to under under Five dollars where you can stop picking up some shares there. That's my personal take here Even as low as two dollars We can still see this thing because the market right now is very choppy and if they don't have any major news Beside the merger that's coming up. I don't think that this thing can squeeze all the way back unless Unless again, we have what just happens in in this Reddit if we can get make it a meme stock, it's gonna go crazy again So those will be the other conditions otherwise wait personally it's gonna come back to you You can buy a whole long term. Let me know the conversation what you guys think if you're new to the channel We took about how to earn money how to save money how to invest and build wealth There's something that interests you go ahead and hit that subscribe button and the notification bell to don't miss out on new content Also, guys, if you're looking to get out with investing We both had their promotion where if you sign up and deposit a hundred dollars You get some free stocks linked in the description and as always guys do your due diligence.


to try to welcome in large groups of people, sometimes people who have never heard of A Course in Miracles, but they're just interested in spirituality. They're interested in peace of mind and living in harmony with one another. And so that will be a theme as we go around, you know, coming to learn how to practice forgiveness and live forgiveness in daily life. And so we've had a lot of experience putting this into practice. I know for myself, I started working with the Course in 1986 and really studying it a lot for like eight hours a day for the first two and a half years, and then really putting it into practice and having very deep, more sustained experiences with points of coming up of intense darkness to really release it, to come to a consistent piece of mind that we call enlightenment or self-realization. It's really just being happy, consistently happy and peaceful and joyful. I'm really looking forward to coming down there. There will be talks, there will be workshops. The format will change and will vary as we go along, but the week-long retreat is more designed for people to come from the major cities for more of the sustained experiences. And we'll also, we'll show movies that have very much of a metaphysical orientation. We'll talk about mind-watching. We'll talk about how to release your thoughts, how to release these unconscious beliefs. We'll have expression sessions, perhaps even in the longer retreat, and some of the gatherings if we have time. So it's going to be really a rich time of deep healing, healing in your heart and soul and your mind, going so deep and coming into a very deep, profound experience. That's what our life has been. That's what we're dedicated to. Recently I released a book called Unwind Your Mind Back to God. And so I've been doing some tours around and others I've been doing some tours around the book. And it's just beginning. By the time we're there in December we'll have a whole movement going with this book. But it's the teachings I've been sharing for the last 20-some odd years that really take you step-by-step through in a journey inward. Very practical steps, lots of examples. And for those who are familiar with the Course, the Course in Miracles, this will be a very deep opportunity to go much deeper in your practice with the Course. For those of you that have never heard of the Course in Miracles, but are just interested in spirituality and healing, it'll be an introduction to some very profound ideas. And there's a whole community of Course in Miracles students that have been working with the Course kind of on their own, a bit scattered there with a great desire to come together and work together with others. And initially that's what the call was, even the desire to possibly learn to work together and live together in community. But that's quite a big step, really any step that you can take where you start to practice this deeper forgiveness will be very, very helpful. So we're very, very excited and there's a whole group of us coming down there. Francis Zoo is coming along with me, Jason Warwick, Kirsten Buxton. We're excited to be traveling together, going to the cities together and meeting with you. We have time for one-on-ones, time to pull one of us aside and talk, ask your questions, bring up your fears, your doubts, your curiosities. Our lives are very transparent and so we always are like an open book and we feel like every step that we've taken is really, we're all in this together. We're all taking steps together. So it's very inclusive in that way and you're very welcome to come and be with us and participate with us in this. This seems to be a year of big trips for me, also going to Brazil. So I'm up for it. I'm ready to go. I've always enjoyed the adventure of it and I enjoy meeting everyone and meeting along the way and seeing my brothers and sisters as the Christ. And that's how we come to see the love that's in our own hearts is by getting it away, extending it and seeing it in all our brothers and sisters. So I hope you will join me. If you want more information, we'll have information at the end of the video. So I hope to see you along the way and I know we'll rejoice together and I know it'll be a blessing. God bless.