Okay, so good afternoon everybody. My name is Valestando Menafoglio. I work at MOCS in the Department of Mathematics of Politecnico di Milano. The picture that you see here is the central entrancy of the Politecnico di Milano, which is also what I have behind me. So today I'm just giving an overview of an approach, which is that of object-oriented data analysis to deal with data that are density functions. I will try to give you some methodological contribution, but also to keep the focus also on the applications, so how to deal with actual applications. Now, why should we care about the analysis of complex data? Well, complex data are everywhere and basically everything we do in our life produce data. So we can say that we are living in digitalized society and data-rich environments. Even the data that may seem simple at the first sight might be better represented through exhaustive summaries. So even if our actual observation is a very simple object, it could be that we need to, let's say put together the data in order to have something more compact, but exhaustive on the phenomenon. And here it comes the presence of PDF data, so data that are represented as distributions. Now, I will work on an example, which is very close to our daily life, unfortunately in the last year. And so we talk about an example on density of mortality that were clearly perturbed in 2020 with respect to previous years. Now, even if the data that we have at our disposal are just counts of deaths, we need in some way to summarize this data in order to provide the more compact information and to try to study the dynamic of the phenomenon that we are observing. Now, what we see here are the mortality distributions that we have in the provinces of Italy along the years from 2017 to 2020. And it's clear that we have a dynamic here and what we want to do is to understand which are the methodologies that can allow us to study this kind of complex data. So and study the data a long time, but also a long space. And in fact, special dependence may play a major role in our analysis. Again, on the same example as before, we have here mortality data that are distributed in space. And basically we cannot just forget about the distribution of the data in space because this can provide us with the very informative data on the context that we are studying. So for instance, in this case, we might be interested in studying not only the temporal dynamics of this data, but also the spatial structure that arose in 2020 that were not present in previous years. So other types of data that may be collected in the environmental setting are data related with the hydrological properties in aquifer system. These are data that are, let's say, classical in my presentations. I will not focus on this today, but it's just to give another example of simple data at the beginning that might be summarized by more complex data. So here, what you see in the slide are particle size data. So the raw data that are the beginning of the analysis are the dimension of particles that we find in soil samples that might be summarized in distributions. And again, these are particle size distributions. So exhaustive summaries that may present a spatial dependence. Now, what's the problem of classical approaches when dealing with the complex data? Well, the problem is that basically most time they try to reduce the complexity of the data and try to analyze only part of the information that is available. So this is just a schematic representation of what a classical approach would do. That is that they would start with a data set of complex objects, the classical approaches would try to reduce the data set to a simple environment like just keeping the color of the curse, so the grouping or just some non-exhaustive summary, and then would try to make prediction or analysis of these summaries. And clearly in this process, lots of information is lost. Instead, the idea of the object oriented approach is to try to keep the entire information and so to use as the core of the analysis the entire object and not only some summary, some feature of the data. And the effort is to try to exploit the entire information content which is within the data. So let's say the main idea, the foundational idea behind object oriented data analysis is to deal with data as objects. So the atom, the building block of the entire analysis is no longer some collection of features but the entire object which is considered as a point within a mathematical space. Now, this is a classical in a multivariate data analysis where we deal with the typical vectors in Euclidean spaces. And in these spaces, basically our points are vectors, let's say of dimension two, but in general could be also of dimension higher than two, where it's clear how to define the sum of the product by a constant and so linear combinations of the data. And it's also clear usually how to measure the norm of vectors. So let's say how big a point in this space is as the length of the vector that points from the origin to that point. But it's also clear how to measure distances and so similarity between points in this space as well as it's clear how to measure angles between vectors in the space. Now, the idea behind object oriented data analysis but also before functional data analysis is to deal with complex data by embedding them in the generalization to the infinite dimensional setting of the Euclidean spaces. And this generalization, a convenient generalization, is that of the Hilbert space. So in the Hilbert space embedding, we imagine our data as points within a mathematical space. And this mathematical space is assumed to have the same kind of geometrical structure as the usual space, so as the Euclidean space. So in particular, we have the concept of sum, we have the concept of product by a constant, and so we can take linear combinations of the data. But we also have the concept of norm of distance and of angle. And this allows us to build a statistical procedure which generalize the statistical procedure in use in multivariate data analysis. And it turns out that everything of this comes from two concepts, which are the ones of operation that provide us with a vector space and the concept of inner product that allows us to compute angles, distances, and norms. And so it gives us the metric of the space. Now, the key point, similar to compositional data analysis for multivariate data, the key point in all of this is to understand which is the correct mathematical space where to embed our data. So similarly as in the multivariate setting where compositional data do not believe in the entire space, but in the simplex, similarly, when we deal with probability density functions, we have to be concerned with the nature of the data. And so we have to choose the correct embedding for our data that may not be the space of square integrable function, L2, which is the typical space where analysis and functional data analysis are done. So the key idea for making functional data analysis and object-oriented data analysis of probability density functions is to understand which is an appropriate embedding space for the data. Now, the appropriate embedding space, or let's say an appropriate embedding space, comes from the generalization of the ideas that we all know probably on the multivariate setting, the generalization to the functional setting. So just let me recall this because I'm the first speaker, and so I just recall a few concepts that are, I believe, known to everybody. But let's say that if we have a discrete PDF of d components, we can represent this PDF as a multivariate composition. So as a vector with d components where the components are positive and they sum up to a constant, which is typically set to 1. So in the multivariate setting, each element of this composition will represent a part of a wall according to a given partition of the domain. And we all used to say that the informative part of the composition is not the absolute amount contained in the parts, but the relative amount, so the log ratio among the parts. Now, in a three-dimensional setting, so with the d equal to 3, the situation is depicted here. So the data object in this case is made of three parts. Now, the y-axis is not particularly informative. But what we know is that this three-part composition will not belong to the entire space of 3, but to a simplex. And if we fix the constant to 1, this simplex is the one represented here. So what we usually do in compositional data analysis is to work out, to represent the data according to a geometry which is well suited to this simplex. And this geometry is the h-ish geometry. Now, if we go to PDFs, actually, the reasoning is the same, but we have to go to the continues. So the continuous PDFs can be seen as functional compositions, so as relative objects of infinite dimension that have similar concerns. So they must be positive and they integrate to a constant. And similarly, as in the multivariate setting, what we actually want to do is to analyze them, not in the entire space which will be usually L2, but within a geometry that well represents the characteristic of the data. Now, this geometry is the generalized h-ish geometry that is called the base Hilbert space geometry that was introduced in these two works. And basically, it represents operations and an inner product that makes the simplex infinite dimension a Hilbert space. And now in this space, we are free to make linear combinations of density functions as well as to take inner products between density functions. Now, I will not spend much time on this because this has been already discussed in previous edition of Coderwork, but just let me remind you that similarly as in the h-ish geometry, here the inner product is not defined in terms of absolute parts of the composition, so just as point evaluation of our distributions, but always as log ratio among point evaluations in the same spirit as in the h-ish geometry. There are several reasons why this is a very convenient geometry and we can find very nice interpretations in mathematical statistics like with exponential families and perturbation is here interpreted as a base of data of information, similarly as in the multivariate context. Now, what is interesting to us today is what's the strategy, the general strategy for an analysis in the biospace? Well, what we can do is to take our PDF data, embed them in this space, and then formulate appropriate methods to deal with the analysis of the data and to analyze their possible spatial dependence if it is present. So, let me give you an example of an analysis in base space just to take the opportunity to illustrate a number of methodologies that can be applied in a real and let's say modern data analysis. So, I get back to the data that I presented in the first slide to discuss more on a possible analysis of this data set, which tries to take elements of the theory of biospace that today is available. So, I just recall that our data represent the mortality distributions along the year from 2017 to 2020. So, each curve here that you see represented in gray is the distribution of mortality along the year in a province of Italy, and we have 109 provinces. So, the data here are interpreted as functional compositions and embedded in a biospace. Now, before going on, just let me say why I believe it's meaningful to interpret this data as PDF first and so as functional compositions. Now, the crucial point is that these are the raw data. So, the data that we get from our National Institute of Statistics. The raw data counts of mortality, so death counts in a day of the year in a province. If we were just to look at the data as they are, so on an absolute scale, what we would see would be just that there is a high mortality in big provinces and relatively lower mortality in other provinces. But it would be very difficult to highlight dynamics that happens that are interesting to our study of the mortality in 2020. And so, for instance, we clearly see here a province which is Bergamo that was severely hit by the COVID pandemic, but it would be somehow masked these absolute counts from the counts of other cities like Milan that were severely hit, but not so much on a relative scale. So, what we really want to do is to go on a relative scale to understand and appreciate what's the relative impact of mortality in 2020 with respect to the usual mortality or to the mortality in the other periods within the province. And this relative scale is the one that really allows us to capture the dynamic of the phenomenon. Now, the first question that we want to answer is to understand how much of this mortality was predictable from previous year, because we clearly see here in the dynamic of the year that there are peaks in mortality that somehow we can expect. And these peaks are usually related with the winter season where we have the seasonal diseases. And then we have a peak in the summer season where we have the hottest period of the year. I forgot to say that we are focusing on the elderly population, so on people older than 70. And so here is more evident this dynamic, whereas if we were focusing on younger, on the younger population, the mortality distribution would be flatter, luckily also in 2020. Now, what we want to understand is what was anomalous in 2020. So is this peak that we see anomalous with respect to previous year? Well, the answer is yes, clearly. But how much? So what we do is to formulate a linear model to describe the yearly dynamics of our mortality distributions. This linear model can be represented in the base base B2 in this way. We have that this is the mortality density in a year, which is represented as a linear model where we have two coefficients, beta 0 and beta 1. And then we have a single regressor that represents the average mortality density in the previous years. So this average mortality density is the average over the four years before of the mortality densities. So if I want to see in 2020 what is the predictable components, I try to fit a linear model on this year and I try to see what is left out of this linear model. So let's say that this part here is the predictable component whereas the error of my model will be the unpredictable component. And so the anomaly that I can see in the 2020 year. How to estimate this model? Well, the typical way to estimate this kind of model is to try to perform a dimensionality reduction to principal component analysis keeping a relatively high number of principal components and describing the beta on the basis of the principal components. So here, as I said, this is the unpredictable component in my process and this is what I can use to study what is left once I try to predict the usual components in my model. And what is left is here. If I try to apply the model in 2017 based on the previous four years what is left is relatively flat. I may have some small component on a small peak which is not explained but basically it's almost flat. But what we see here is that in 2020 something has changed and has changed a lot. And if I try to see what's the norm of this error so how big this error is so the norm in B2 of this error and I make a special map what I get is something like this. So the errors are almost un-correlated as I see in the previous years whereas in 2020 the error seems to have a spatial structure. Now the Italian people that are connected will recognize here the provinces that were hit by the first pandemic wave so here we have Bergamo Berescia, Lodi and Mantova. So this was the very first hotspot found in Italy. Now the point now is how can I formally quantify the spatial structure so how can I describe in B2 the spatial structure that is present in this procedural from the model. And to do so I can use the methods of object oriented spatial statistics. Object oriented spatial statistics tries to formulate a model from spatial statistics but for data in the Hilbert space and in particular I will refer here to the base Hilbert space B2. Now the key idea, yes? Sure, Alexander, yes, about five minutes. Okay, I will try to cut out and come to a conclusion, thank you. So the key point here is that we have spatial dependence and we try to measure the spatial dependence by measuring how similar objects that are collected close by are in the base space B2. So the first point is to measure the spatial dependence. The second point is to understand how to produce the spatial maps from these spatial dependence. To do so we generalize this is something that I already presented in a previous edition of Coderwork to formalize the concept of spatial dependence and the measure of spatial dependence is a virogram, which is the generalization in B2 of the classical virogram that those of you which are more familiar with those statistics will clearly recognize. If we do so and if we try to plot a virogram in B2 we will recognize that in fact a spatial structure came out in 2020 and it's clearly visible with respect to the previous spatial structure mostly related with the nugget effect. So in 2020 not only we see that there is something different in the dynamic in the shape of the residual but we also can appreciate that there is a spatial dependence coming out. And to represent and interpret the spatial dependence we may look for the direction of main variability of our data set and try to give spatial maps of the principal components. To give it in a figure it's like looking in our infinite dimensional simplex for the directions of main variability and to project our data on these directions. If we do so what we get is something like this. This is a representation of the first principal component and this of the second principal component where in black we see the mean of the 2020 errors and in red we see how we move if we proceed along the principal component in direction of high values. Whereas in blue we move in the direction of low values. So we see that high scores along the principal components highlight high values of a peak. So a critical peak in April, March, April which was the first wave of the pandemic whereas if we have low values these are places that were not hit by the first wave. Whereas for the second principal component we clearly see that if we move for the positive value of the scores we get that we are moving to the second wave whereas to negative values we are moving basically to a flatter situation. And so in this way we are able to represent our densities through map that clearly represent the spatial structure of our data. And so again we see the regions that are associated with the first pandemic here and the regions that were most associated with the second wave of the pandemic that are not the ones that were already hit by the first ones. I will close with this and I will just leave the curiosity about how to deal with the phase variability in the data. Well you see that there might be a shift in the data and actually also the shift in the data might be captured by using the base space methodology. I don't have time to enter in this but I will share my slides and so you can find more in this in the end of my slides. So let me jump to the conclusions. Geo-reference complex data arise very often in real case studies and distributional data are more common than one may expect because they are very often obtained as summaries of data that would be otherwise un-infractable. Base spaces are a natural embedding space for this data and actually we should not think of base spaces as a space only for PDFs because they are very rich spaces that could be used to deal with any kind of relative data and so in particular also with data representing the phase variability. This let's say the base space methodology is a very broad field of research and there is still much work to do so if you are curious about that I will be happy to give you more references and to discuss with you of further development. So thanks a lot. Let me use just 30 seconds to thanks a lot all the organizer for this beautiful idea of organizing this online meeting and for giving me the opportunity to be one of the speakers at this meeting. Thanks a lot.


Actually, I'm just gonna repeat what a bunch of the ladies behind me said after this movie ended About seven of them were behind me after the movie ended the one in the middle said well I guess I'm not choosing movies anymore. This movie is horrible That's a hot mug guys Hey guys, this is my review for black Christmas now You might be wondering why I went and saw this obviously Bad bad movie.  This movie's so damn heavy-handed I kept expecting anvils to fall from the ceiling in the movie theater. The movie is so literal with its points It's nauseating and probably the greatest crime of this movie is that it's boring. It's Very very boring for a movie. That's only 93 minutes long. I Felt every single minute of this movie. It took until over an hour before I actually had a mild in Terms of a scare it also rips off horror movies Like for instance, there is this part which you can clearly tell is a terrible build-up for a scare It is taking forever for it to finally happen And when it does you find out it's actually a terrible ripoff of the big scary scene from Exorcist 3 Don't know why but it's in here and it's horrible every scare is such a predictable set up Every scare is such a boring execution. I'm amazed at how lazy this movie is There are so many technical errors. There's so many goofs. There's so many production mistakes There's so many continuity errors that this movie is gonna have a goof train.  There's this over-the-top music.   It is pushing an agenda. That's just so ridiculous It's just so heavy-fisted that it sourced the whole movie experience There's a way you can put messages in a movie and still have a narrative But this movie just wants to push an agenda just wants to push a message It's clearly not working because all the ladies behind us didn't like it black Christmas is by far the worst movie I've seen this entire year. It's boring. It's predictable. It's a travesty to horror It's a travesty to women in filmmaking to be honest because this is just going to ruin Everyone in this movie. This is definitely going to be a stain on the Blum house name because it's just a Get woke go broke sort of situation because you took Apparently from what I've heard a good Canadian slasher horror movie and you just somehow made a remake that's even worse than the last one black Christmas gets a zero out of seven I was gonna give it a one, but I gave crawl a one and crawl is horrible But it's better than this anyways guys. I hope you enjoyed this review I'm actually going to link mark's written review in the description below mark does some really good written reviews And I really wanted to show it so if you guys want to read it He'll probably go in a little bit more detail and have a little bit more aspects than I would we both hated this movie It's so dumb anyways if you liked the video leave a like and if you're interested in more maybe subscribe Otherwise, see you guys next time. Thanks for watching the video My name is Nits and you might remember me from the animated cult classic TV show undergrads It's been a while, but I'm happy to say the click is finally getting back together in an all-new movie Thanks to a successful Kickstarter campaign But we are still asking for your support to see any and all updates about the upcoming undergrads movie Be sure to check out and like the bring back undergrads Facebook page and with any luck. We'll see you guys soon


Yeah, it's blog miss day three Miss 827 I'm about to walk in the work right now. I gotta be there at 830s, but I'm really literally outside the building So I'm gonna catch the good lighting So I'm gonna talk to y'all once I get on my lunch break or something I'm gonna show just take out with me on my lunch break and shit like that But I don't want to bring all in here because they be tripping and I already don't like these people. So Yeah, let's go. Hey y'all. So I'm on my lunch now It's good to see you again, but I'm on my lunch now and I'm about to go to McDonald's and just give me a cheeseburger Winnova because That's just a quick Snack for me because I can't have brave so I have to get it with no bun and y'all honestly, it's not that bad It just says like me like a lettuce wrap would like me in it or something I don't know like I love those like that.   I Mean he had some chicken, but I just went home last night.  I Always eat lunch in my car.   I was like nigga.   I see how it is.    Oh And I'm picking out out my photos from my photo shoot Because I had a busy day at work and I wasn't able to look at them and I ain't want nobody looking over my shoulder with They know the asses But okay y'all This is what the boy it takes to me on up. I'm on my floor. Sorry But look at this is what he said. I'm gonna block his number I don't know why it's not focusing, but he texted me and he said And he said stop acting crazy.  You don't got my money. You don't got my money for me. So why are you calling me?  I don't know but This is weird But yeah on the phone he like do you miss me and I'm like, what is there in a miss like what have you ever done for me? Nothing, that's why I was like you don't miss me.     I'm about to get up. It's a white robe. I'm fine. Do I look cute? Come here daddy But no, I'll let me stop But that is so sweet like I can't wait to get me a man to appreciate Okay, let me get back to work


So at InterGIS conference, the President GSI at Hexagon, Dr. Jürgen Dold, was talking about mirror-world Germany's digital twin. In this presentation he visualized a future in which a consistent, precise and cost-effective digital twin of Germany will help predict and mitigate disasters, support infrastructure planning and able-sustainable city planning and much more. So cloud-based visualization and collaboration platform could link this digital twin to real-time data and yield further insights through simulations, making such information available to everyone will help governmental and private actors collaborate and make informed decisions. So Hexagon's portfolio offers a range of solutions for creating and leveraging such mirror-worlds. And at Hexagon 2021, Hexagon announced Metro HD city data, which is a new offering of ultra-high-resolution duty and 3D digital-to-twins of major cities. It is an off-the-shelf product through the HXGN content program. And about this, because I'm not the expert about this, I'm going to talk now to Dr. Uwe Bacher from Hexagon Geosystems. Welcome to InterGeoTV. Thanks for inviting me. Yeah, because I got a lot of briefing and I read these words and names and applications, but I mean you're here for explaining to us what it exactly means. So just could you tell us about this content program and why does Hexagon offer high-definition city data as a part of it? Yeah, let's start with the content program. The content program is our data program where we offer country-wide aerial data over the whole U.S., captured every year or every second year. It depends a bit in really high resolution, 15 centimeters usually. And also we do the same for Europe also rapidly. Now we have captured it for huge parts of Europe already second time. The resolution at the moment is 30 centimeters, but we also move into 15 centimeters on a really wide coverage. And this means we offer aerial imagery, but also derived products from this like elevation models or land use data for really large areas in a consistent way that is really useful for analysis. And that's also a bit the basis for, as Jürgen mentioned, the digital twin for whole country. If you have enough information, then you can really manage a country or if a problem or disaster happens, you need this consistent information. Okay, so what exactly does the METRO HD include, METRO HD? Yeah, METRO HD or as we also call it city program. That's a much easier city program. It's much easier, absolutely. That contains, in addition to our wide area coverage, city data. So we really take data or acquire data for certain cities like Munich, New York, Tokyo, what we already did in a really high resolution. At the moment it's 5 centimeters, so you really can see small details on the imagery. But this is really important because cities are growing more and more and there is a huge flow of people moving into the cities. And that also means in the context of climate change and all the things that happened over the last years that the management of a city becomes more and more complex. So there is a huge need for managing cities and to manage something you really need to know what to manage. So you need to have an understanding of the spatial relationship between assets and buildings and roads and so on. And that's to have a smart city, as we call it, if we connect all the data from different sources, we need a kind of digital twin of the city. So really building inside a computer or our network the digital representation of the city, meaning where are the buildings, what are the buildings looking like, how are they connected and we don't stop only with the geodata here. We also include additional data from public sources, from other information sources and then starting with our analysis on this to really offer the decision makers in the end easy to use dashboard that they can just take to make the decision to have all the information that is necessary for them at the right moment in an easy way and just by looking onto a dashboard, usually web-based, to get all this information. This seems so fascinating to me to capture all those data from different sources and then you have one platform and you see everything in different angles. Yes, but also you are focused to the right thing so we have different applications for different use cases and really the right person gets the right view on the data at the right moment. You talked about the different sources and how does Sektagon capture the data? To capture the data we developed a really unique sensor system, it's called the city map, it's a hybrid sensor system consisting of six cameras, two of them pointing directly to the ground, they have cameras in RGB, red, green and blue and also near infrared camera and then in addition to this we have four oblique cameras that are pointing 45 degrees to the front, to the back and to both sides and in addition to this, and that makes it really unique, we have added a LiDAR scanner to it, a first-class LiDAR scanner what is an active system to measure the, let's say the elevations of every single object on the ground and by combining these data sources, these complementary sources or sensors into one platform we are able to capture a really huge variety of different data types and combining them in a way that we use the strengths of both subsystems so to say and to overcome the weaknesses of our system by doing this. That's our main source, so we usually take the sensor, it's quite a huge thing, 80 kilograms installed in a manned aircraft and flying over the cities in a usually patterned up and down the city mapper, okay, okay and what applications is the data typically used for to? Yeah, the applications are very wide so it has everything to do with management of the cities somehow, security infrastructure, but also a lot of going into sustainability of cities because as we have added a LiDAR scanner to it we are able to measure very well vegetation and ground in one so we are able to model for example trees by our AI-based analysis software or tools, we are able to do a land use classification so we know where the surface is sealed or imperious, where water cannot flow away, let's say and also where heat islands might be in the end and then by combining this with tree data we are able to model heating in the city, we are also able to manage fresh air flows or all these things to get really sustainable city in the end and that's, I didn't mention all the products yet, so we have a really wide variety of data that we produce from our hybrid sensor data so starting from image data this site looking gives us information about the facade so we know what buildings are used for what how many stories they have and so by combining all these data sets we are able to have a really I always call it unlimited number of applications, wow that's cool, how can I get access to it? If you're excited we have our sales channels directly inside Hexagon, we work with partners, we work with integrators who use the data and put more value on it somehow and we also have an online platform HXDR where we offer it online so really to stream or to access it via web portal so it's pretty easy just click on our web page or contact us to get more of the data. Super cool that sounds so interesting, thank you for joining us here on InterGio TV Uwe Bacher from Hexagon Geosystems. It was a pleasure being here, thanks a lot for having me here. Thank you.


If Labour doesn't win the election, would you take some personal responsibility for that? I think what'll happen after the election is that first it'll depend on how many of us are still standing. It'll depend on just really going into quite a deep analysis as to what actually happened over that three years.


Welcome to the second part of securing servers with Okta. In the previous video, we just had a quick introduction about what we want to do and why. In this video, we're going to actually start configuring our solution. The first thing we're going to do is get an Okta developer in advanced server access accounts. The Okta developer free account gives you the ability to secure your own apps, as well as apps you can share with your development team, such as advanced server access. Then we're going to configure our first project and actually integrate with the server so we can have that login without requiring keys. So to remember how this is going to work out and the reason why we are setting up things this way is that traditionally, when a user needs to access a server, they would already have a key that was set up, for example, in AWS or GCP, that key will have a very long expiration time. In the meantime, until that key gets expired, many things can happen. That key may be lost or disclosed or accidentally shared with someone that it shouldn't. And the solution actually makes those things not possible. So instead of having a preset key for accessing the server, the user has an agent lightweight running his own desktop that when he types in SSH into a server, it will route this user to login at Okta. And only after the user gets the appropriate authentication and authorization, they get a short live type disk key, which will be used to negotiate that encrypted access with the server. From there, the server has an agent that also establishes that trust and connection. And then the server will also audit this information for the future in case the security administrator wants to see what happened without having to log individually into those boxes to take that information. Okay, enough of going through this layout diagram, let's actually start this configuration. So first, we're going to get the developer free account and you can follow along, by the way, if you would like to head over to developer.okta.com, hit sign up here, enter your data and finish this form. You're going to get an email in your inbox. You just click link and it will lend you here. Feel free to pause this if you need some time to follow along as well. So as soon as you are in this page, this is the place at Okta where you will set up your applications which you want to integrate and have authentication or authorization from Okta. You can use Jots and OAuth, but in this case here, I'm going to integrate my servers. Again, Okta can be used for securing your own applications as well other applications your team collaborate or work around together. So if I'm working with my developer engineers and engineers probably I would like to share within or work within on my AWS account which I can have here configured or GitHub. So if we have a team on GitHub, we can all collaborate around the same place. One of those places again is advanced server access which is an additional module that secure servers for you. I'm going to add it over here.  For now with the group is everyone. Typically the best practice here will be creating a group called let's say ops or developers and having just the right people assigned here with appropriate access to the servers. I'm starting from everyone just for the sake of completing this tutorial. Everyone is in the full group at Okta which brings the user that subscribed to Okta plus anyone else that you can create in the directory. Cool. Now that I have this done here, I can follow the step-by-step instructions provided to associate my Okta account of the developer with advanced server access but I know these steps from hard. So I'm just going to execute here. You can follow along if you want to. First thing I'm going to sign up to advanced server access. There's a link here down below if you would like to do so as well. And I'm going to pick a team for me. The team is basically the name of your tenant. So for me, it's going to be Fred security dash death. So I'm going to use this one for development purposes, saving this information. And then I'm going to start copying information over to Okta. First information I'm going to copy is this base URL which is used by Okta to know where we're going to connect in advanced server access. The second the audience restriction. Cool. Now I'm going to hit save here in after I hit save. That's very important. Hit save first. I'm going to click to copy this metadata information, paste it over here and hit my authenticate with Okta. Okay. So what happened here is that I got these two products talking to each other. So now my Okta developer tenant knows advanced server access exists. And this advanced server access will provide or interface access to my servers. So even if I log in here straight from the Okta dash from the Okta admin console and I go to my dashboard, I can actually go here, open advanced server access and go straight to that place you just saw. Cool, right? So this completes the first step. Now we need to configure our first project. So we have a server, we have a client and having that SSH connection without requiring keys. So let's do this. For this task, I need to stay in my advanced server access and create a project. A project is a place where you can have many servers together. And usually it represents either an environment or a place where you have your servers, a data center, an AWS region. It's really up to you to think about what would make most sense for you. For me here, it's gonna be the test project. And then I'm just gonna hit submit here. I'm not gonna play around with these settings, but we're gonna see those later. And from here, one thing I'm gonna get is something called an enrollment token. What an enrollment token does, it allows a server to securely subscribe to a project when that server comes up or when that server is first launched. It's a way we establish truth, trust, sorry. So we have that single sign-on for the server. So I'm gonna provide here server token and copy this information, which I'm pasting over on my own notes. But again, when a server comes in and wants to have that authentication from Okta, when the server starts with the agent, the agent would use that secret to establish a secure connection with your servers here. Beautiful, fantastic. So let's go to the previous slide and continue this. Now that I have that enrollment, let's actually set up the server. And you're gonna see that I'm gonna use that enrollment token. So to set up the server, for sure you need to connect using an SSH key because it's not yet integrated to Okta. So let me grab the server I brought over today. So this is a server on AWS as you can see. So it's an Amazon AMI, but we integrate with any other Linux servers. So for doing this setup, I'm gonna use a series of notes I have. Let me find those. I'll make sure of having those available as well for you in the notes so you don't need to know these four hearts. So let me take off my notes. So to install the server, the first thing I'm gonna do is just, actually download an RPM and run an installation here using sudo. Okay, so this will give me something installed here, which is the server agent called SFDG. It's already installed, beautiful. Now I'm gonna have my enrollment token here, which remember is that secret I need just to do that connection. So let's patch that up, okay. Now I need to just enter this information here. One thing very interesting is that you can also set something we call canonical name, which is basically the name of the server that people will know in order to access. If you don't add that people when they access the SSH, they can call that the host name. So they would use the server host name, but I wanna use my name myself here. So it's gonna be my engine next one, because maybe I want to install engine next here. I can set up this in a file. Let me paste that over here. You know, I just need to restart my service. Okay, cool. Now that I'm done with that, if I head over here and I did everything right, my server also enrolled in a project test. If I go here to my project, I can see the server listed. So everybody who's associated with this test project can actually access the engine next server. Actually, by the way, let me add my group everyone here. To the server. So my users that belong to this group again will have access to the server. That includes myself. Okay, fantastic. Now that we installed the server agent, as you could see, I just used bash scripts here, bash command, so this could be automated any way you wanted. Now it's time to do my side, the client side. So let me exit here. So this is my computer. And remember, in order to access my server without keys, I need an agent. So to install this agent, I can go to the downloads page of that, or I can use actually pre-commands or utilities like a brew or brew cask in order to get this set. So let me remember where's my note. I lost it here. Bear with me. Okay, where is my... Oops, right over here, sorry. So let's go and do that. So the first thing I do is brew, install, octave and server access minus cask. And that again is installing the client. So let's wait a few seconds until it's done. Okay, now that I'm done, I just need to enroll my server. Let's do this. Here I'm gonna enter the name of my team. As you can see, I already have all their teams. I'm working on, but I can enter my name here of the team and I'll be required to log in as well. So, okay, when I do that, I'm required to establish trust between my device. And as soon as I'm done here, you will see that I'm gonna get that approval and enrollment is completed. So what it means is that as a user, I'm tied up to this machine and I can actually get the access to the servers only through this machine and no other place. Okay, now that I'm done with this configuration, I just need to access my system. So let's do this. I can do two things. First, I can just do an SSH config. So I can use SSH directly or I can use the command SFT, which is basically that client. So what I'm gonna do right now is list all the servers I have. So I need to log in as you can see. Okay, approve that request. And you can see that I can access my engine X1. So if I do an SFT, SSH, engine X1, that will grant me access to that Linux box I wanted to. So as you can see now, I no longer need a key to access my server. And not only that, all my access is audited. So my administrator can see that I access this server at a certain time, a few seconds ago, using a secured client, which is this one, which we installed using brew, in using a fingerprint key here, which is ephemeral and tightly scoped. Also another benefit of using advanced server access for this use case is that the accounts are individualized in the server. So if I go and show, you'll see that I have my own user here. This user, by the way, doesn't have a password in this computer. All this access is always done through those ephemeral certificates. So back to it, what we did, we got the Octa developing an advanced server access account set. After that, we configured our first project, installed the server and client agent, and we ended up by logging in our user.


A little while ago I actually caught a fish with an artificial grasshopper, so much for matching wits with the wily trout, but you can't blame him, he was probably just hungry. If anybody needs their head examined, it's probably me for standing in a stream in December, but at least the sun's out. Hello, my name's Jim Sloan. I've been teaching in Penn State's online geospatial education program since 2003. Back in my graduate school days I spent a lot of time paleo reconstructing world maps. I wrote code for and did things by hand that people who use GIS software now take for granted. I finally started using GIS software in the early 90s when we wanted to make shaded relief backgrounds for thematic maps. It was a long after that that I started teaching people about geographic information science and how to get things done with GIS software, and I've been fortunate enough to have been able to do it ever since then. So welcome to the program, and I hope to have you in one of my classes.