Hello everyone and welcome to the lecture series on Human-Computer Interaction. I am Professor Dipali Avsekar from Valshan Institute of Technology. In today's session, we will be discussing about the Human-Computer Interaction and Software Engineering. At the end of this session, students will be able to analyze the difference between a software design and an interactive system design. Apply interactive system design life cycle. Before moving ahead, we have already learned about the idea of usability. While designing an interactive system, what we should do to take care of usability? The students are expected to pause the video for a minute and think and write the answer. In this lecture, we shall learn about the answer to the above question. That is, while designing an interactive system, what we should do to take care of usability? Suppose you are designing a database management system, what are your design objectives? The students are once again expected to pause the video for a minute and write down the answer. The design objectives will be efficient storage of large databases, efficient way to retrieve the results of a query from a database, allowing the user to access the database. So, typically, while designing a database management system, the design objectives will be storage, retrieval and interaction. In general, the central idea is, note that this is a scenario where the user interacts with the system. However, the user is a computer expert who has technical knowledge about the system. Through some query language, the user can access, manipulate and update the data. But consider a different scenario where the users are non-computer experts. They just do not care about what goes inside, they just want to get the information. So, in this context, usability is very important. I focus on the word or rather the term easily is very significant. It means we need to have an interface and interaction mechanism that do not require any specialized knowledge, that is, we need a usable system. So, design goal of an interactive system is basically and primarily to increase the usability. So, what happens in a typical software engineering scenario? We all have studied software engineering in our third year course. So, the waterfall model, the simplest and the typical way to visualize a software design. So, what happens in this waterfall model? The design process composed of a series of substages. Each substage follows the previous stage and precedes the next stage. So, it typically looks like a waterfall. So, what happens is one after the other, the stages go on, the substages go on and it looks like a typical waterfall as shown in the diagram. This is a diagram of waterfall model. Moving ahead, now, what happens in software engineering? We need to know that it is a unidirectional fall. It is a unidirectional flow. That is how the real waterfall works in any way. In other words, each stage depends on the previous stage but not vice versa. I mean that the next stage is followed from the previous stage. We cannot have the next stage first and then the previous stage. Whereas, in the interactive system design, the unidirectional flow is not appropriate for interactive design systems. In other words, each stage depends on previous stage. Further, it may also depend on the next stage. That is the feedback. Thus, it is no longer a linear waterfall model. So, the basic difference between a software engineering model and an interactive design system model is that it is not necessary in an interactive system design that one stage should follow the next stage. It may or may not. It may also depend on the feedback. So, it is not a linear flow. This is the diagram of an interactive system design. So, it will be the same thing. Requirement specification stage goes to architectural stage but it also can again go from this stage as the arrow is shown and then move ahead. Whereas, in waterfall model, if you can see, you cannot go back. That is the basic difference. Moving ahead, now why is this difference? We are trying to design for the user, not for a programmer's convenience or expert's use. So, when we are doing this, what we should do? There is a basic difference when we are using the software engineering model and the interactive model. We are basically designing the system for the user and not for the programmer. So, therefore, what we should consider abilities and needs of the user, their usage context, their work setting. In other words, we have to know the user. That is, need to know the user. What is this? It is a never-ending process because there is so much to know and about a particular person, about particular client because and also one more thing that is the user's keep on changing. So, in an interactive system design, the most interactive thing is, the most important thing is that you need to know the user. An interactive system designer should consider the user and also the human factors that characterize the user. So, what are the human factors? The human factors that can be considered while designing for an interactive system is basically the perception or ability to perceive our surrounding, then cognition, motor action. Like cognition is the way we process the perceived information in our mind and take decisions, motor action. This is the mechanism through which we interact with the surrounding example, the hand movement, the eyeball movement, the speech. So, it will be different for different types of users. For example, you can consider the user characteristics like if you want to design a system for people who are physically handicapped or disabled. So, we have to take into consideration those things. The same system cannot be used, the normal people system cannot be used by those people. So, they require special interface. In this particular case, what do we need to take into consideration is the age, gender, the cognitive abilities, the personality. Also, we all must be aware that our grandparents are not very comfortable with the smartphones and the gadgets and the laptops. Why? Why? Because they find it difficult to know because they were not knowing this. Whereas, if you compare a child of four years today, he is able to easily access the smartphone. He is easily able to chat on WhatsApp, send message, and now why is this so? Because of the diversity and the user friendliness. So, you also need to recognize the diversity. The diversity was what I was talking about system like used by several communities of user. No single design can satisfy all users. Like, what is convenient for our grandparents may be difficult for the small children and what is just very easy and very user friendly for our small kids may be very difficult for our grandparents. So, it is very essential that you recognize the diversity. Now, interactive system design life cycle, the primary stages is know the user, propose the design, evaluate design by users and then the refine the design. So, it is basically an iterative design process. The above stages are iterated till an acceptable solution is obtained. Acceptable is determined from the user feedback. So, what is it? This is a typical consolidated diagram of the interactive system design life cycle. So, what it has identified the need, analyze the data, then propose the design, develop a prototype, evaluate and it goes on in a loop and then finally implement and deploy. So, in the identify the need, we need to know like what is wanted, identify the users, their needs, designers make use of one or more methods for identifying the requirements. It can be through the interviews, it can be through a feedback, it can be having a one to one meeting then after having identification of what is wanted, you need to analyze the data. So, two types of analysis are performed, your scenario analysis, which wherein involves analyze data collected from users on one or more usage scenario of the system and system level task analysis like that is analysis of external tasks required to operate the system. Now, after analysis is being done, you need to propose a design. So, after you have identified what are what actually the user wants, what is an analysis of it, then you need to propose the system design. So, design proposal arrived at from analysis of the collected data, guidelines and principles helping development of the initial design, you need to develop then a prototype. So, implement a prototype of the design for collecting user feedback, a spectrum of techniques is used in developing prototype, one is paper to paper prototype, then is complete software and lots in between. It depends totally on the developer and the user what they are comfortable with. And finally, you need to evaluate the design, so evaluation of the design by the users and if at all there are any changes, the user can suggest the feedback to the developer and that can be once again, it enters into the loop and it can be completed. So, the most important thing is that you need to have the evaluation methods. Now, various evaluation methods are available, imperial evaluation evaluate with real users involve implementation of the system with full functionalities. So, in general, basically the very difference between an interactive system design life cycle and software engineering that here we get a chance, the users, the clients, they get a chance to interact with the programmer, give their feedback and there is a scope for improvement at every stage. If at all it is not is friendly or usable or easy, the there can be changes made or suggested to the developer and it can be incorporated. So, when we are considering and designing a system for the user, for the client, it is very of essential and paramount importance that we give to the users. So, these are the references. If you have any queries, you can mail your queries and questions to ddlseeker at solapur.org and thank you all for the patient listening.


So Our next speaker is a Rick lander bar, and it will talk about programming a reconfigurable device. Let's upload it Yeah, thank you So I'm gonna have a short talk about using reprogrammable devices or reconfigurable devices namely FPG ace within linux space systems We use the recently mainline ported FPGA framework That has been written by Alan tile that is working for Intel and I think last year on the first time there was already a speech about that a talk that was a longer one But sadly that is lost so the video is not present anymore So why we came across this this topic is we implemented a system that Accelerates cryptography engines by That's the traditional one the software driver running on the CPU and we move that into an FPGA here and That's basically what we did we needed some More subsystems. That's the hardware driver that talks to the AES hardware engine via DMA And that actually integrates that into the crypto f crypto fp a crypto API within the linux corner that leverages the Accelerator the hardware functionality and exposes it to all system Partions that want to to use it so that could be user space tools the same as Colonel space tools because all of them can talk to the crypto API and This way we have a very flexible interface to our new hardware then as cryptography algorithms advance and the systems change you also want to be able to change the Baseline cryptography algorithm. That's why we use a reconfigurable system So we can swap out the old algorithm and swap in a new algorithm or move more of them whatever and For doing that we use the linux kernel FPGA framework and that's shown here we have the The internals of this framework shown here and the last slightly darker blue than the other one and that handles all the FPGA specific parts and The user actually Influences what happens via device tree overlays. I come back to that in the next slide and You obviously need some drivers that interact with the physical device and that's those ones here that are Specific to whatever FPGA device you use in our case, this was a Multiplayer system on chip Type of platform so we have those CPUs actually was to and the FPGA pie apart on one single chip but Other configurations are just working the same way So you have the FPGA region that Represents a physical region within the reconfigurable device Then this one is configured from by the user here as mentioned via the device tree overlays The FPGA manager over here Managers the the Association of which firmware or in this case bitstream actually is loaded and that's also leveraging the standard Linux interface structure for firmware loadings. That's the same device. That's a system That's also used by USB systems for example then the FPGA bridge part decouples every device specific things and uses the Decouples and the configuration access port the spot actually loads the firmware into the FPGA a config configuration memory and the decoupler is associated with those little devices and During a reconfiguration process That's Decouples what is in the region from what is within in the outside of the region because the behavior of Logic within the region isn't specified during the reconfiguration process Yeah, okay So how do we actually trigger a Reconfiguration and how to separate what we want to specify what goes in there care parameters platform drivers or the bitstream itself that's done via the device tree overlay so every region that is within the FPGA has a stuck present representation in the overall system device tree and By loading this overlay onto this addresses the actual process of reconfiguration is triggered so We put the device tree overlay loaded into the currently present device tree that triggers the reconfiguration process which is shown in the next slide and The AES bit stream is configured into the FPGA and afterwards the driver is loaded and the system is fully operational and can use the new hardware so that's the the process of Reconfiguration we have the configuration part and the deactivation I would say and It's multiple of steps The coloring I come back to that later on so we start with loading the device tree overlay as already presented and this triggers the bit stream loading part interacting with the firmware subsystem and When the firmware is available The devices are decoupled so to make the FPGA ready for reconfiguration and do not disturbing any other parts in the FPGA that's that are keep on working and and then the actually Done reconfiguration is executed that uses the program and configuration access port and Loads the bit stream into the FPGA, which is actually one of the steps that Contributes a larger amount of time to the overall process Afterwards of this configuration is completed the Region is coupled again so that's from this point on the hardware can be accessed that has just been loaded into the FPGA and After that the change that has just been done to the hardware Needs to be reflected into the device tree so that all other systems now know and are aware about this new hardware So this is the application of the device tree overlay After that all the other subsystems that might be Involved and might use this new hardware now gets Triggered so the driver is loaded that is specific to this new hardware and All the subsystems are initialized like in our case the support for the crypto API Then the system is ready it can be used That's this cycle. That's usually people are interested in But as you have reconfigurable systems, you all you also want to know how fast can I reconfigure a system? How long is my let's say dead time in case I cannot actually use the resources? I have within the system because they are bound within this process here and that's why we started to have a closer look at it which steps are executed and which take how long and That's coming later on then so let's say the the execution phase ends at some time you have encrypted your file or whatever you have been done and Then you go on you want to reuse this region you want to put another algorithm into the device Your the on the the platform driver is unloaded the DTO the device you overlay is unremove from the currently present device tree and The region is decoupled again from the system so after this step we are ready again and The the complete process can start all over again Let's come to some of the results that we obtained during measuring the system So as there are a couple of steps involved with drivers from the chip vendor and also some more subsystems within the kernel We used F trace to Gather information about when functions were entered and exit during the overall process Then originally the intention was to show or to see what what the performance of our accelerator was but then we just covered about this interesting process and Now we present this this results because they are more general interesting than our specific ones and Yeah, we used F trace for this our bit stream size or so the the size of our accelerator was almost six megabits megabyte that have been loaded into the FPGA and this overall process also all of that were take it took about 135 milliseconds and So you see if you want to change the encryption algorithm for your hardware accelerator to I don't know Encrypt one email and then another one for another email you'll see that Probably doesn't lead to an very efficient system because you spend more time reconfiguring it than actually computing an interesting part was to to see that the the second Largest contributor to the overall time is actually loading the bit stream and That doesn't involve the FPGA anyway, so it's just fetching the bit stream That can be Accelerated, but that's let's come back to that later So that was what we originally also thought about was the main common contributor That's the actual configuration process itself that's the time needed to transport the bit stream from the run to the configuration memory on the FPGA through various interconnect connectivity interfaces on on the on the chip and the third largest Contributor is the driver itself. So that's also interesting as This is not a part of the framework. So anybody who implements Drivers for reconfigurable systems should think about the setup times for them the good news is Only 1% of the overall time is spent within the FPGA framework on everything else that we haven't covered in this slide so the framework itself seems to be quite well implemented with less overhead and shows good performance and That also leads to the next Slide as we see performance bottlenecks, especially with respect to the FPGA reconfiguration interface That's nothing we can change about as the FPGA when I have to support that also Some issues within the fabric Rootcourses for that so that communication with the reconfiguration access port is actually a bit slower than it should be The firmware caching itself has not yet been used in the system. So that's that could that can be implemented within the FPGA framework in the kernel That currently does not leverage the the caching mechanism, which is already built in to the firmware subsystem Yeah, additional components that have traditionally built Into reconfigurable system supports Schedulers and governors or Whatever other things are needed to make an efficient use of the hardware that has just been enabled that's Hopefully intentionally left out of the scope of the FPGA manager as that's very use case specific and We can implement it in user space anyway Yeah using device to over days uses interfaces that are more or less stable currently it has they has been developed for Supporting shields and modular embedded systems like the raspberry pies out there and We just reuse them for reconfigurable systems and that works quite well for now Which would be an interesting part is getting Automatically automatically generated Device to overlay from the vendor tools as they usually do generate general drivers for Hardware parts that have been created some of the mappings like addresses or Offsets and such things are known to those tools so that could actually help why with using those approach and to get to our last site it is a good reconfigurable system and We can use it. It's efficiently supports using reconfigurable systems and the reconfiguration times are quite slow fast, but the overhead is low and We can efficiently develop heterogeneous systems by them Because of we don't need rebuts if you change our hardware. This is a traditional problem So you get fast test cycles you have a Compatibility layer for static and reconfigurable systems. So that's not Especially needed to reconfigure, but it can also be used to static systems Let's conclude That's it. Thank you


Hey everybody, this is Grant your friendly OpenShift team member over at Red Hat and today I want to show you how to use the new OpenShift Online Developer Preview running the latest and greatest version of our code If you're not familiar with what we've been working on over the last year or so We have integrated native Docker containers and orchestration with the Kubernetes system to the platform So now you can interact with the platform using Docker and orchestrate everything with Kubernetes So hopefully you have an account for the developer preview version of OpenShift If you don't go ahead and sign up and you can refer to the announcement blog post for a link on how to do that I'll also paste it into the video description in just a bit All right. So the first thing I want to do is show you how to log in to the console and give you a brief tour walkthrough Now I'm doing this not scripted So I just wanted to take a few minutes today and show you guys how to use it once you get your account because it is a Dramatic departure from what you're used to with OpenShift Online And we have millions of applications deployed out to version two of OpenShift Online Which you can get to just go into openshift.com And so as you begin to think about migrating your applications over to our new system Watch this video and I'll give you some tips and tricks So the first thing I want to do is just log in to the developer preview console So to do that, I'm going to go to preview.openshift.com and throw in console at the beginning here Just in case it doesn't redirect me The first thing you're going to notice is that we allow you to off with github That's pretty crazy. Cool. Right and you can see it's open shift online developer preview And if you are like most people you've been waiting for a couple years on this So you're probably pretty excited now that we have this out to to where you can start looking at So i'm going to go ahead and log in with github here It's going to ask me to off put in my github username and my password And i'm typing in real time here and I do have a mechanical keyboard So I apologize if the keys are a little noisy, but that's how you know that i'm actually doing this in real time So the first thing that you're going to be pleased to see is this is indeed open shift online And I don't have any projects yet So the difference between open shift online version two and this new platform Is the inversion two which you're all familiar with we had these concepts of domains or namespaces And now we group everything with a project. So it's just a nice organizational Feature to allow you to group things together. So I don't have one So i'm going to go ahead and create a new project here and the first thing It's going to ask me for is the name of my project. So i'm going to name my project on cap So you're probably wondering what on cap means and that is on container application platform My namespace on open shift v2 open shift online was on paths And now we believe that open shift has progressed Into a a new beast called a container application platform instead of the traditional platform as a service Because you do interact with the platform via containers. It is a platform for managing and orchestrating those You can give a description if you want to I'm just going to say a description and click on create And so now I have a new project created and the first thing it wants to do is ask me to create a new application But before we do that, I'm going to show you just a few other things real quick If I click back on open shift online here I can go back to a project overview page to where I can view all of my projects We can see the one I just created. I can delete this project from here. I can create another new project You're not going to have access To create a new project other than one in the developer preview based on quota A couple other things I want to show you if you click on this question mark right here If you click on about This is where you can Verify the versions that we're running. We're running open shift version 3 2 And we're running kubernetes version 1 2 This is also important because it links to the appropriate command line tool For your operating system now a lot of people like to use the command line That's what I prefer using but I'm going to show you a mix of both And so if you do want to use the command line tool or the cli Just download the correct one here now This is a lot easier than open shift online version 2 because we have switched over to use the go programming language And we provide a single executable for each operating system So we no longer have the dependency on ruby and ssh and all this other stuff that you had to have installed before So you can just download this single executable add it to your path and you're done And then how you authenticate is a little bit different in open shift 3. Everything's token based. Remember We authenticated with github. So how do you actually Authenticate to the platform and if you want to authenticate via the command line tool You can see that it's down here. You can just copy and paste this you can click to show the token I'm not actually going to show it right now But you just copy and paste that into the command line tool All right, so let's go back to our platform here our platform overview and go into my project on container application project And it's this is an empty project right now. So let's go ahead and add something to it now just for simplicity's sake I'm going to add a php application. The process is the same Regardless if you want to use java Ruby python pearl whatever the case may be okay, so let's go ahead and click on add to project And this is where I can select any existing Docker images or builder images that is in the open shift registry the open shift docker registry that's part of the platform And so if I come down here to php I see we have a couple of php images. We have five five five six We have the latest we all hunt also have some samples You can also filter by keyword if you just want to show all the php ones Now what is interesting to know is you're probably wondering well if I use one of these docker images How do I actually get my code into the running container? Since the beauty of this platform is that you don't actually have to write docker build files And or sorry write docker files and run docker builds And copy your code over as you're building the image push that image up to a registry and then Then deploy that container and then worry about orchestration as part of open shift online three We've created a new project called source to image and this is going to simplify your life as a developer so much You're going to absolutely love it. So let me show you how that works. I'm going to use php five six here And it's asking me for a name and I'm going to just call this grant php and check this out right here It's asking for a git repository url. So open shift online three much like the previous version Prefers git as the source code management system to interact with the platform And so if you have your existing code in the git repository It doesn't have to be on github. It can be on git lab, which is another System that I enjoy using it can be in any git repository, right? It doesn't it's not vendor specific So to show this I may I'm going to pop over to my github account real quick because that's what most people are familiar with And I'm going to go my G ship lee repo. Here's a picture of me if you're wondering what I look like here.  I'm going to copy that Pop back over to my open shift console here, and I'm going to paste that in Okay, and I'm going to click on create and bam. That's all there is to it So now under the covers what open shift online three is doing is it's cloning that source code repository And it is making a new docker image on the fly that matches what you need for your application to run So it's taking that php five six base image that's actually running on top of red hat enterprise linux Um And it's going to build your source code if it needs to be built It's going to resolve any dependencies if you have any composer dependencies or maven dependencies or package jason dependencies Whatever the case may be it's going to get this application into a deployable artifact It's then going to layer that on top of the base docker image and create a new one on the fly for you And then deploy that out. Okay, so let's go back to our overview and we can see this actually running here We have a new build running grant php one is running And we can look at the log file directly inside of the console and the web console and I can scroll down You can click on follow over here to see what's going on and down here at the very bottom It's pushing this new image Up to the private registry inside of open ship So it built a new docker image called grant php attacked it as latest and pushing that up And so the build and everything happened now. We're just waiting for it to push this image Up to the internal registry so you can click on stop following there and scroll back up And while i'm in here This is a build so we can look at different areas inside of the build We can see the status is this running. It was started a minute ago It's been running for one minute 36 seconds Now this does take a little bit of time the first time you create this image and we'll see sub subsequent Builds are going to be much faster. You can see where it's putting the image inside of the docker registry And here's the url for that the source type is git the source repo. I pulled from the master branch you can pull from any branch you want My output image is called on cap grant php. That is my outputted docker image And here's my push secret that we needed. No My build actually finished now if we go over to environment if we had any environment variables we could see that logs I showed you events you can kind of get a feel for what's going on At 122 in the afternoon I assigned a build and you can go through and follow the process here It created an image it started they can or started the container and then it created container. Okay So let's go back to our overview And sure enough now my application is running and here is the application overview piece of the web console So I have a service called grant php that was created and I'll go into all of this in more detail in just a second Here is the actual url for my application. It created a default route As it deployed this out via that service that was defined. So i'm gonna go ahead and click on that That's probably what you want to see And you can see this is just a little message. I was testing something earlier So it's going to say this is a change from orion. I was actually looking at the orion ide pretty cool, but we'll get into that in another video And we have my builds completed. I can view the log. I can dismiss the build and right here is my running Application running inside of a docker container that's actually encapsulated inside of a kubernetes pod We can see the image that it's using with the hash how big that image is it turned out to be 175 megs The build that it that is currently deployed the source and the ports that it's listening on Okay, so the first thing I want to show you is how to scale this bad boy up to scale up a Application in open shift online 3 all you do is you click simply click this scale up button And it's going to quickly scale that up to two pods add it to the service and then begin to load balancing So now I have two of these running And if we click on this sure enough the app is still responsive you can scale back down to One if you no longer need that traffic. And so the scaling is very Responsive inside of open shift online 3. It's almost instantaneous. It's so quick. It's phenomenal Now even if you're using java with a jboss enterprise application platform server or a tomcat server The scaling is just as quick even in the uh other programming languages because again It's just scaling a container that it's already built and adding another one So let's start diving in here and see some of the features of open shift online 3 now that we have a simple application Deployed and are able to use it the first thing I want to show you is kind of a manager's dashboard orchestration view Tool, I don't know. I'm a I'm a developer at heart. So I don't really use it that much But you can see that it shows your entire application Inside of a nice little view here. So you can see, you know, what's going where and how things are interconnected And this is the entry point And we have the running application. You can click on it and things will update over here. Here's my pod If I click on this orange thing, this is my service and this is my route So the entry point comes in through the route to the service to the pod Uh back to the replication controller and then a deployment config is hung off of that as well So let me move the pod up here and let's just go back to the overview and um scale Scale up Oops, let's click the wrong button. Let me scale this up to two And once we have the second pod running here, I'll show you that tool again And you can see that now we have Two pods that's actually serviced via the route. Okay, so let me drag a few things around here I'll show you how this is working. Okay So we have an external request coming in Through the route it's going to hit the service, which is the load balancer That load balancer is this is going to serve the route or the traffic to one of these two pods This pod is backed by a replication controller and a deployment config Which defines what the application state should look like makes sense Okay, cool. So let's uh go back over here. We'll scale back down We don't actually need two of these pods running And I want to go into browse and show you a few of the features and different things you can look at Under browse you can look at builds. We already looked at the build as it was happening But I can come in here on the build look at the logs I can also start a new build if I want I'll just you know, click on start build and that's going to follow that Same procedure that it did initially it's going to check for changes in that upstream get repository It's going to build a new image and deploy that out You can also edit the yaml for the build directly inside of the browser If you want to get down into the nitty gritty details of how a build works Maybe you want a different strategy, whatever the case may be it's beyond the scope of this introductory video But you can edit this yaml file directly inside the browser Now do you remember when I told you that the first time takes a little bit longer? I just want to you know prove to you because I know you don't believe me Um, but I was doing it in real time here You can see the first build took one minute 56 seconds and the second build like I promised was much faster It took 22 seconds. Okay, and oh, we um, we just missed it But you could have seen the rolling deployment. So we'll come back and do that again in a little bit So if I click on deployments, I have actually done two deployments that makes sense Right because I did two builds and so I had two specific deployments And so I can go into this deployment and actually look at some of the details on this And you can modify some of these things. Um, you can look at the timeout parameters You can set selectors. You can see what image is deployed what The latest source code is that's been deployed. It also gives you some help if you want to manually deploy Um from the command line now Um down here it you can see that it's deployed one Replica of our latest build it was created a minute ago And it's going to trigger on an image change. So anytime that image changes It's going to make a new rolling deployment Also at this point you can attach persistent storage To your container. That's friggin awesome, right? So if you click on attach Persistent storage, I don't have any persistent volume claims. I would have to add one of those first But I can actually attach Attach persistent storage to my running pod and if that pod goes down and comes back up The storage will still be there. Why is that important? That's important in case you want to I don't know save your data in the database that we're going to attach in a few minutes So any stateful application you want to run on the platform That's how you uh one way that we allow you to do it So you may not be familiar with stateful and stateless and cloud native There's a lot of push going around that you know apps Should be cloud native and cloud native platforms to where you don't actually handle state in your application We uh believe that is It's good to create cloud native based applications if it fits well with your organization But being a large uh company that's been in the Linux space and running applications for many many years for some of the largest customers and clients in the world and companies in the world We realize that most people Don't have The ability to rewrite everything in a stateless cloud native fashion So we took that to heart as we were building this next version of the platform And one of our number one goals or tenets was to allow both stateful and stateless applications And so i'm happy to report that you know if you want to take advantage of docker containers and orchestration with kubernetes And what cloud scale-based computing can provide for you open shift give it a try You know, we keep the user's uh requests in in mind as we're developing this new stuff instead of Trying to um force everyone down a brand new paradigm So enough of a tangent on that let's go back to our browse and look at events This is the full event stream or event log from everything that i've been uh doing today We can see we just started a container right here. You can filter by time Name severity reason all kinds of cool stuff you can look at there We're now going to take a look at pods. These are the pods That i've had now you'll notice you may have thought we'd just have one pod Which is that running container that we just deployed but we actually have three pods And that's because when we run a build we actually run that on the platform itself in another pod So you can actually look at these pods now. They're no longer running As you can see here, um the containers ready is zero out of one on this build two But our actual application is running inside of this pod right here And so if i click on that we can see that it is indeed running. Here's the ip address Here's the node that it's running on which is pretty handy If you ever need that information here's the state And here's the template that that it used just some more Information about it. You can see how much memory it's using it's using 307 out of 512 The off token you can look at environment variables, which i haven't configured any yet You can look at the pod or the logs on the running container inside of the web browser Which is really cool. One of my favorite things to do is click on this terminal here and you can actually Look at You know open up a terminal session on your running container inside of the web browser if you needed to You know just check something out real quick Maybe you wanted to look at the environment variables without having to do it locally on your own system Maybe you're on a different system and you don't have the oc tool installed or whatever the case may be You can just pop right into the web console and take a look at there and then you can look at events just for the running pod Now we'll take a look at routes routes is what exposes my application to the outside world It's what created that url that's available if I click on that. This is my application All right, and so you can modify this or change it If you come in here, you can edit the yaml, you know change the host whatever And create different routes. All right, let's go back to browse services This is the you can think of this as the load balancer. It's kind of the entry point into the application And you can click down and get more details on that as well Look at events and then lastly you can click on storage And you can see that I don't have any persistent volumes to actually claim right now, but this is how you would attach stuff Okay, let's go down to settings real quick and discuss a little bit about quota On open shift online 3 now everyone knows open shift online the public Version of the open shift cloud that we offer has been free of charge for people to use And that's been phenomenal for people for developers to try things out a very low barrier to entry And we are happy to announce that we've included that with open shift online 3 As well in open shift online 2 you were able to create up to 3 containers Each with 512 megs ram And so let's look at what the developer preview has for limits right now For cpu and memory you get up to 2 gigabytes of memory To use and you can specify when you create A container or application how much you want to actually use and then based on the amount of memory That you allocate to a container is how much cpu you actually get I hope that makes sense But you can come in here and you can look at how you're actually using things but the restriction Or the quota for the developer preview is based on memory, which is set at Oh, this is saying 1.3 and up here it's saying 2 so I'll have to dig into that and see which one it actually is Um, and then you can look at how much memory and cpu you're actually using at any point in time Okay, so let's go back to our overview here and let's actually scale this down to zero pods I don't actually want it anymore Um, but that'll leave it running. Let's say I want to do some maintenance on the application And you know, um, I didn't want it to be up while I was doing it I can just scale it down to zero pods when I'm ready to start serving the application again I can just scale it back up to one pod and it'll start handling those requests again Okay, so let's take a look at adding the database So if I click on add the project and let's say I want to add my sql here Um, here's a my sql persistent. Maybe we want to do mongo. Let's see if we have mongo in here and we have mongo db And we should probably have postgres as well Um, yep, sure enough. So let's add this mysql database here And Here you can specify some information. I could have done this on the php one that we deployed as well So here's my memory limit. I can I can say, you know 512 mags I could you know go down to 256 or up to 1.5 gigs. Whatever I want to do um, give it the The name the service name just leave it my sql The minus ql user it'll generate one if it's empty But let's just create one to show how this can work grant my sql And let's give it a password grant my sql And the database name i'm just going to call it grant my sql and the volume capacity This is where you can specify how much disk space You want your application database to actually be able to use So i'm going to click on create and if we go back over We can see that this is going to start spinning this up. Okay So while that's running, let me show you how to make a code change Um to your application. So if I go into My php application And if I look at the builds here We can see let me look at build number two That this is coming from my source repo Of gshipley dot simple php. So let me Pop that open in a browser again And let me copy this um The url to clone clone the repo All right, so i'm going to go to my command line here And let me clear this and I am just going to run a get clone I'm clone that repo down. So now I have it Okay, and so I'm going to go into simple php and I'm going to look at this index file And I'm actually going to say welcome to open shift Online developer preview pretty fancy. We're going to save that. I'm going to commit this Welcome Now there are two ways of doing this Okay, so the first thing I can do is just run a get push And that's going to push it up to my github account and then I'd want to start a build on open shift So let's do that first and you can see I may not have get configured yet for this particular environment. Okay So our source code has been pushed up to github. So now let me switch back over to our project And if I click on the route you can see that it's still the old one That I had in here. So how do we actually deploy this new version? Now the way you do this is you go into your build Just click on that button click on start build and that is going to pull down the most recent source code from github And it's going to create a new docker image on the fly and it's going to Deploy that out. So I want to watch this page right here while it's running It should happen fairly quickly here. Now we have two things here This is our database right here. And this is our php application And this is what I want to show you that rolling deployment So that it pulled that code down built a new docker container watch this. It's deploying that docker container It's in a ready state. So it scales the other one down and then it removes it from the load balancer Awesome like pal bobs your uncle. Look how fancy that was that was pretty cool And so now if I click on this url, we can see that my source code has been updated Welcome to open shift online developer preview. So let me show you another way to do this. Okay Let's go into our build and let's look at our configuration here So on my configuration we support both generic webhooks and github specific webhooks So if you're using gitlab or something like that, you can set a webhook So i'm going to show the url for this github webhook and i'm going to copy that To my clipboard i'm going to go over to my github project and i'm going to look at the settings here And it's been a while. So here it is here settings webhooks. I already have one in here I'm going to delete it. Okay, so I don't have any webhooks. So I want to add one So I click on add payload url paste in what I copied from the open shift Online three uh dashboard and i'm going to disable ssl verification Actually, um, you could probably leave that on if we have a valid security certificate, which I assume we do But maybe no, I don't know and then click on add webhook. Okay So now anytime I make a change to my project We're going to see a build automatically happen. So let's let's uh go to the overview page And i'm going to pop this up and i'm going to make this Command line just a little bit smaller clear the page may vi My index html file again here And maybe we want to echo maybe a line break and say automated Builds, okay And let's save that we're going to get commit Uh build we'll just give that and get push So now we can see Look how quick that was that was awesome as soon as it got up to github It called that trigger inside of open shift and it triggered this new build So we have a new build for running just by me pushing my code over to open shift Um now again, this is going to take about 26 27 seconds Which is pretty phenomenally fast for what we're actually doing under the covers But hold on to your horses ladies and gentlemen because i'm going to show you even faster way in just a second So this build is going to be completed here It's doing that rolling deployment again And now it's scaled down to zero removed it from the load balancer or the service Inside of open shift and now if we click on this we can see That just by pushing my code this was updated Awesome. Okay. So how can we make this faster? Now let's go to the command line And what I want to do is maybe I want to Um, let's open up a new Terminal. No, let's just use this one. So let's do a vi index dot php And let's echo even faster And we're going to save that Now if I just want to copy that directly into my container I can say oc get pods This can give me my pod id which is right here I can do oc r sync And I'm going to say pod And it's been a while since I've done this so let me Actually do a help here just to get the Uh source destination. Okay. So let's do oc r sync source is dot And the destination is going to be our pod id which is grant php and it's hc Oops if I could type here hc And I can't type For hc I still can't type. Okay, and then we're going to send that to We need to get the directory. So let me go into our running pod And open up my terminal and do ls and get a pwd. It's opt at root source So let's do slash opt at root slash source All right. Nope. Maybe that didn't work. I don't know. Let's see. Let's go back and check it And it says even faster. So now you kind of get our flow here if I can make this cleaner me Echo A new break here boom And we'll save that and then r sync it over and then refresh our browser And we can see that I've updated that code in a little time Okay, so that was pretty cool. We're able to quickly deploy the application out with r sync Now I do have another youtube video that shows you how to configure your integrated in Development environment to use the r sync command and in that scenario anytime you press the save button in your ide Or save a file It's automatically r synced over and that's how you get instant gratification with your source code changes on Open shift online three So you can use it as a true development environment. So just google instant gratification open shift And you'll see the video that I made as well as the blog post While we're talking about ide's I do want to show you guys The ide integration that we have so i'm just going to pop open eclipse here And i'm going to click on open shift application and this is going to open the Eclipse j-boss tools and i'm going to select open shift three And my server since you're on the developer preview you can do console.preview.openshift.com And we actually probably need to throw a http on the front there And then we're going to do with oauth and remember we have a tokens now so I can click on retrieve That's going to pop open a little dialogue that's asking me to log in with github And so once I close that I now have that token right inside of there and it's going to oauth over to open shift for me Here's my open shift project on container application Platform I can And this is where I have a decision to make if I had an existing project inside of eclipse I can browse to that project and deploy that over to open shift Otherwise I can select to do like a j-boss PHP image here or you know PHP 5 6 That's what we did before if I click on next it's going to give me a name my php app 2 It's going to ask for my get repo and so let me just copy that over real quick Let me go back to the browser and get the um Repo URL for that Okay, um and let me go back to eclipse paste that in And uh, basically we can configure a web hook build trigger like we did in the web UI I don't actually want to do that click on next and next and set up our service ports Our service port is going to listen on 80 and we can define our pod to listen on 8080 That's how the load balancer works And click on finish and this is actually going to create a new application for me Inside of open shift online 3 all from within eclipse. We can see that it's already created this stuff for me So if I go back over to my Firefox browser and go back to my open shift console And uh, click on overview we can see that we have a new php app running This build was actually all started from inside of eclipse We can look at the log file here and follow it just like we did, you know everything before it's pushing that image over And so this is going to be deployed in just a second And if we go back to eclipse you can see that it actually cloned the repo for me And here it is it opened it in a different editor. Sorry about that Let me click on cancel there. All right um So actually let me go in here and just quick you quickly show you this if I go into uh, look at my project properties And click on builders instead of having you go out to that other video I'll just show you how to do it inside of here.  I'm just going to pop over here and say which oc And this is going to give me the location of my oc command line tool So just use, you know, whatever location you installed it in and my working directory um, I want that to be My project so I'm going to click okay there Okay Now my arguments we want to pass in Just like we did rsync And then it was the current directory and then our pod id So let's go back to The browser again here and we can get the pod id here right there. It is so I'm going to copy that And we'll go back over to eclipse yet again Paste that in and then a colon and then it was opt at root slash source. I believe that's what it was Click on apply and click okay And let me just make sure that everything's set up. Everything should be good here Environment we need to go to build options and launch in backgrounds and we want this to be Rendering auto builds as well. Click apply. Click. Okay. Click. Okay. All right. So now I have uh Oh operation not permitted. Maybe I'm not authorized So now if I edit this index dot php file I'm gonna close visual studio code Don't know why that popped up Oh, because I don't have a pdt installed. So I'm just gonna open this with the text editor And we can say echo boom And we're going to save that And we can see that it synced over my change go back to my overview page here Click on this. Oh Unexpected in the file.  So let me let's go back to eclipse and and fix that real quick I forgot my Simicola so save that we can see the rsync happening right there go back to Firefox reload and boom. So this is kind of the workflow that you can use. Let me split screen this Um, so you can see this work a little bit faster here And let me open eclipse back up and resize it This will be good. So let's echoes some Breaks here and say automated Deploys I can spell right here And we're just gonna save that so I'm just clicking the save button if I can find it here I'll just use the hotkey And if come over here click refresh Oh, I hit it before the sync happened. We can see automated deploys Oh, but that's still bold. We don't actually want bold Let's turn off bold We'll save that Come over here refresh so you can see that I'm getting instant gratification with that. So that's the eclipse ide integration It's super awesome Especially if you're ide person in the java world, you can do everything Right from inside of the ide. You have an open shift explorer down here where I'm showing you here's my Project on container application platform. You can see everything you have deployed Here's the grant php app. You can actually Do port forwarding you can look at the pod log You got set your oc command line tools. Let me do that real quick Oops wrong one. So let me just browse for it Or actually already have it. So let me just copy this again here So eclipse needs to know where your oc command line tool is to run some of the Um integration.  So we have this mysql Database running right so if we look at this mysql database and we look at this pod We can see that my environment. Here's the environment variables that we have Now what we need to do mysql user password and database if I want to hook this up is go over a two hour Um php pod and let's just you know, look at the environment environment here and grep for mysql You can see that By default when I added the mysql database to my project it added some environment variables um to My uh running deployment config, okay And so what's left for me to do as a user is to just come on to the command line tool here And do oc get dc and it's called grant php. This is my deployment config This is what defines the truth of my running application And I can do oc env and set an environment variable on my ph Excuse me php app and I want to do mysql underscore user equals uh grant mysql Hit enter there So now that deployment config was updated if we go back to the overview You'll see it's actually deploying a new version of my application out And that's because the truth of that application changed It needed that environment variable in order for it to be in a good state and because it wasn't there It went ahead and redeployed it and added that environment variable I hope that makes sense, but you would simply just add those environment variables To your application and then you would connect to it via your code just like you normally would All right, so let's go back to our project if you get tired of a project at any point in time You just click this delete button and it deletes everything in your project And then once you come back and refresh the page you'll have to start over And create a new project again Um, so uh, that's I believe all I wanted to show you today That should be enough to get you started with open shift online 3 and the developer preview state If you have any questions, just let me know. I'm at gshipley on twitter. All right. Thanks guys


That's the thorns there. Let me put the label with it. Let's do the apricot mamosa This baby right here, see if there's anything directed towards me in the chat It's a second day and it's a done deal Yo, you and me, awesome awesome And by the way, here's our last little bit of Cornelian cherries These are amazing, amazing I harvested these from a tree in a park around their neighborhood Super delicious, super delicious They have pits so they're tart I'm gonna get rid of the pits Let's take it down Let's take it down These big guys here right now Apricot mamosa Oh yeah, that's way better Getting old and needing glasses What is Sal? What you doing? What's the scoop? Sal, it was too hot so he's here right now Check it out Let's see if I can show him to you He's just laying down here right now That's Sal right there He was behind the fire so he was too hot He was like, oh so hot, so hot They're like little lions The kitty cats Super cool to have Sometimes they're a lot of work But good company Very good company And like, super fun to pet Very medicinal Look at these little guys, they're not even worth it Next time I'm taking all these down Not even worth the time trimming them right? It's a lot faster if you're doing volume Yeah, you don't want these little guys There goes Sal, he's going back behind the fireplace No, no, no, he's going to go cuddle There he is He's going to go cuddle with Via This is such a unique plant Gang, do not forget Do not forget Free Assange Free Assange June Assange is a publishing journalist That has been crucified For trying to bring transparency And accountability of capitalist power to humanity Something that we desperately, desperately need In our societies For more information See Wikileaks.org Defend.wikileaks.org Or countless resources Available And then when these dry I'll probably put these little buds In Like a different jar Than the bigger buds Right? Because the little buds are like shake Can actually be pretty good if it's The big buds are trimmed down Pretty loose Pretty loose Why do I grow them so tall? PM cells, XPM It's just, I grew them on the patio Right? I just let them grow In the patio, I just brought them in Because these got into the ground Into the pots late So What do you call that? So we had, we ended up getting lights And we brought them in Just to finish them We weren't expecting to bring them in It just happened 1993, I use Your 10 by 10 grid puzzle video To get to sleep a lot, nice It's amazing ASMR Also that puzzle is fascinating Awesome, awesome That's great A Turkish student I had As I mentioned in that video Early 2000s showed it to me He was a really nice kid Let's take the, you know Trim this one very light, this one's like Little hokey pokey, shouldn't have even let it Grow Taking it down Should let the energy go up top But it is pretty Very pretty Again, little buds here And people have been saying You can just leave these Hang these to dry Big leaves and they're really easy to take down Once everything's dried off And it is true But might as well take this If we had a lot, if I had a lot of plants I'd probably do that Should have shown you the top On the next one I'll show it to you With all the leaves Panning out from the bud Again, little buds These guys, just on the bottom one Right, the hairs on it It's not even brown yet Nice little buds January 2nd 2021 Was the last 10 by 10 puzzle Man, I gotta get that puzzle up We put the map up instead Started doing map Once this chaos dies down We'll get back into the puzzle Puzzle better than chaos Loose cuts Seriously loose cuts Better cuts This is how much matter we got Taking down these All these guys Got like a really big bud up there No bugs on these Right, pretty nice And it's time to take it down The leaves are starting to dry Trying to get the bigger leaves Where the stem is Further Further down Right So you get rid of the chunks In one go You cut it here There's a leaf, right? Here's this guy I try to go down to the bottom And cut it at the bottom Cut it down here That way the whole thing falls off It's difficult sometimes There's a bud In the way You just trim it It's just layers and layers of it It's getting windy outside And that's what happens sometimes You miscut it and you take down the bud Smells amazing and pretty sticky The big guys Lighten the mood And this is after Lolliping Lolliping Lollipupping Either Lolliping or Lollipupping plant Hell, the guy does not rumble Just saw the chat there I don't know when you posted it I'm not even going to bother Doing anything to those guys Just take them Bag or something Do something with them Butter, maybe I'll dig out on the rumble I'm still here 841 UK time 841 UK time Strain setup Let me give you the lowdown This one is apricot mimosa Hitchens Hitchens This is apricot mimosa we're taking down They were growing on our patio But we got them laid into the ground And They weren't ready So we got our hands on some lights And had them inside For about a month now Three weeks, approximately Three, four weeks And it's time to take them down The other one That we took down was Thorn Thornsberry And I took down another one Purple Royal Sour Cush And We grew them from seed We grew them from seed Salute gang First time chats and everybody on rumble and twitch Hope you're having a fine day Do not forget gang Do not forget Free Assange Free Assange Julian Assange is a publisher And journalist that has been crucified For trying to be in transparency For the vulnerability of capitalist power to humanity Something That we desperately need in our societies For more information See wikilees.org Defend.wikilees.org We're countless resources available Such an amazingly unique plant The big leaves on the bottom Let's take these guys down The big ones anyway Making it rattle Take a look at all the amount of green we've cut off this one Salute gang I'm going to cut these ones really loose Really loose Just get rid of the big guys And let them hang Because I do want to try some with Just leaving Not trimming it down as much So we'll just take Some of the bigger leaves down And see if I like finishing it Once it's dried It's supposed to be pretty easy I've never done it that way Yeah let's do it like this That's good So we'll do a bunch like this And the leaves Will fold down On the buds and contain the crystals For what I have been told Come here you Where you going? Need some trimming again Do not forget Freeassange Freeassange Julian Assange A Welsh Journalist That is being crucified For trying to bring Transparency And accountability Of capitalist power to humanity Something that we desperately need In our societies For more information See wikilees.org Defend.wikilees.org For countless resources available We'll leave it like this Honk My fingers are getting stuck together Cannabis sticky Welcome everyone that's new Apologies if I'm not checking the chat Got some trimming to do I'll catch up with the chat Once we finish Our business Loose And The mites didn't get to this plant Right? From the other plants Which is really good There's just more resilient this one I guess Was able to fight them off Loose We'll take one more Loose Loose Loose Hello bud How are you doing bud? Are you doing okay? The buds on this are smaller Than they're not as dense As the Thornsberry Thor'sberry They're more plentiful But they're not as dense But they're stickier Loose Loose Happy buds Happy buds Doesn't want to focus close up Maybe we gotta get super close Happy buds Random moose brains For Saturday date Saturday afternoon date Would you like to go for some coffee? And bud? Sticky So much easier Trimming smaller stems You got more control over it Not the blade in cutting it or not Buds again, they're not as big It's beautiful Look at that Nice crystals Beautiful crystals Very nice No wonder My hands are so sticky All those stem right Main stem going up And this guy is the top Let's see if we get a nice focus going First time chat Gapsy666 Hi, can I? That's what you came here to say There he is There he is Don't need so much beans man Not good for you They are But If you feel the need to do it Thanks for the love Yo you And me Yo you and me We do love our kitty cats They do get a lot of love Pets and treats Cuddles Man is getting really sticky Do not forget Do not forget Free Assange Free Assange Julian Assange is a publisher and journalist That has been crucified For trying to bring Transparency and accountability Of capitalist power To humanity Something that we Desperately need in our societies For more information Let's see Wikileaks.org Defend.wikileaks.org Our countless resources Available On free speech platforms As Julian Assange stated Wars are started By lies So peace can be started With the truth This is a nice top bud This is the top bud Great liquor Salutations Welcome to our live stream Rumble Nice Very nice Very nice Their cats are also First time chat Mirin Salutations Smells amazing Really Color to the bud Looks great Looks great Here's what we got This is a couple ounces So fantastic This is apricot Mamosa One plant So I would say this is This is a couple ounces This would be a couple ounces Probably over two Over three I'll weigh them at the end When they're dry then I'll post What they are and I'll take pics Okay You better get some if you give this to somebody Get some what who knows Right Beautiful Beautiful So we got two bouquets Those guys there And this are together That's the thorn And this is the apricot mamosa So I had like The three top ones Those guys For this one So two plants Probably around four Four to five ounces total Very sticky Very sticky Very sticky That's the type of bouquet you bring to her dad You're in like Flynn Clean up these things These I'm going to throw in the garbage These ones because they're clean There were no mites or anything I'm going to put them in my shake bag I'll be right back Down the stem So I'm going to take down the stem here Nice stem And this guy here That's the grass we have for the kitty cats To eat indoors Because in the winter fall winter They don't go out as much But this is great To clean the stem You could use this Nice solid I'm just going to put this there Come back and clean my hands with Oil


This fungus was encapsulated in an alginate shell and tested for its ability to control the spread of pyrethrid resistant tea. Infestans nymphs. The encapsulated fungus proved more effective at killing the bugs than the unencapsulated version, and it also maintained its viability over time. Encapsulating the fungus in alginate shells may provide a cost-effective way to reduce the spread of chagas disease by controlling the population of pyrethrid-resistant tea infestans. This article was authored by Linda Vanessa Baldiviso, Lucia Beatriz Niva, Nicolas Pedrini, and others.


Good to go. Everybody hear me all right? Cool welcome welcome to our session Sierra Club case study. It's how Drupal and Black Mesh help us save the planet My name is Ron Johnson. I work with Black Mesh. I have been working with the company since 2011 Been in the host industry about 14 years now mainly as a systems network guy Got into Drupal when I started with Black Mesh loved a lot met these guys. This is Jesse Brown here. He's been with Sierra Club since 2014 started Drupal when he started with Sierra Club and Prior to the club. He has built and ran his own sites Next to him on the left is Adrian. He's been with Sierra Club since 02 He's been doing web development since 96 and working in Drupal since 2011 a little bit about a little bit about Black Mesh and how we work at a high level Most of y'all probably seen us around Drupal shows and whatnot. We are a Managed services and cloud solutions provider. We were founded in 2003. We focus on Drupal But that's not all we do so we do lots of other fun things as well Our headquarters out in Ashburn, Virginia where most of our guys are we have other offices out in Vegas and other locations We are again a solutions provider. We're a security focused company So we have we handle lots of compliance hosting specifically PCI HIPAA as well as Fed ramp and things of that nature Another little fact we own a hundred percent of our network and hardware and the tier four data centers we leverage So we have various open-stack public and private clouds. We do physical boxes firewalls. You name it Point being we are not leveraged another provider. It's our network our platform How do y'all how many people know who the Sierra Club is? Does anyone not know who the Sierra Club is? All right, cool. Is there any members in the audience? Thank you all for your support. I really we really appreciate it So we've been on Drupal since 2011 and We were originally hosted on Windows machines for for various reasons which I'll get into a little bit more and You know the Sierra Club we do we do a lot of different things Both as a national organization and as a local organization, so we're a big messy organization So as you expect our sites are kind of big and messy as well And so we have you know our main website which also includes our magazine and some of our chapters And then we have individual chapter sites and then some sites for various specialty campaigns that we have around So we really We had a we had a moment last year where we were moving offices We moved from San Francisco to Oakland and we took it as a as a moment to like look at our servers and really decide if we wanted to stick with Windows and You know just looking at Drupal on a Windows. It's it has some obvious challenges There's just lots of little quirky things about file paths and stuff that that made for weird bugs That's we spent a lot of time trying to troubleshoot and Another another big thing is like there was no like there was no set of tools that were really out there used by the Drupal community that We could just like climb on and take on as our own and help us with our flow and stuff So we ended up like create in our own processes which we had to maintain So it was always always always challenges there. So yeah, so we did like our own homegrown tools And I'll let Jesse talk about some of our other things we were thinking about as Hi So Yeah, we have I guess our structure internally in the Sierra Club is kind of small and pretty lean As far as developers that work with Drupal go Until about a week ago Adrienne and I were a hundred percent of that team and now we have like a third guy Which we're pretty stoked about And then we had like an internal it support team as well And I guess those guys were familiar with windows in their domain But they didn't really know anything about Drupal and I didn't know anything about Drupal either when I was hired by the club I was like, I love the club. I'll learn it cool. I want to help And so Yeah, I don't know like said like Adrienne said it was kind of always a bit frustrating to be like Well, we have this problem and we could use this open-source library, but it doesn't run on windows IAS so it was good for us to get the opportunity to get away from there And yeah, I don't know we were always kind of Wishing we had more support I guess so moving to a lamp stack was really helpful for us and moving to Black mesh which which obviously has the expertise and the support infrastructure was was pretty helpful We had a bunch of challenges with Configuration and migration we had I think at the time when we were about to switch over we had 75 plus sites in a big sprawling Multi-site doc route and we paired that back to about 45 Which was a good start We're trying to reduce that number still but it is how it is We didn't really have anything like varnish before in our stack So adding that in has been really cool, but obviously it brings its own challenges as well And we needed our provider to work with with our own CDN we're using capsular And I don't know there's been a bunch of configuration challenges to solve And we had to consider whether we wanted to keep multi-site or like split them all up into 45 different repositories and all of that so we had a bunch of decisions to wade through which was You know, definitely a bit of a head trip And I guess when we were looking for providers That kind of got like to go through and sift through all of the different options kind of came to me So we considered a whole bunch of different things and I guess internally we had a lot of different opinions to manage and and priorities, but The big picture stuff that it came down to was that we wanted to be on an open-source stack We wanted to get away from proprietary stuff I personally was pretty Interested in going with someone who had their own infrastructure and wasn't just like buying Inventory from AWS and marking it up or whatever not that there's anything wrong with that But I kind of really wanted people who knew their own system and knew their own stack really well Probably because of my background of just trying to figure everything out myself Which is I don't know it is what it is we wanted people who are Drupal experience obviously, but we also it to me Personally, it was also appealing to work with someone who also had experience beyond Drupal because Drupal can be pretty Drupal-specific And and support was a big deal for us because let's face it. We're a small team and we don't know what we're doing We really don't so we need help So support was one of the things I really looked at and and considered pretty seriously and Yeah, I think we've ended up in a pretty good place It's it's definitely been a lot of work to transition them over and there was like there's been a like a lot of bugs but they're pretty much all been fixed as they've come up which has been pretty great and I think you couldn't like take what we had off windows and put it on lamp and not to expect to have like issues come up So it's been it's been a good process And and we I don't know when did we do as March last year? I think I Think I don't know March April May. I don't know sometime in the first or second quarter last year we've been on the on black mesh for a while now and Yeah, I first came across them I guess at a Drupal con in Austin and I was at their booth because they had beer that year Which was great. I noticed no beer this year run Well, we'll see you next year But yeah, I don't know I was just there and I talked to someone in the line and you know They come and scan your badge and have a quick chat about it. Whatever you're doing or whatever and that was nice and And a year later in LA the same guy came back and recognized me and asked me follow-up questions from the conversation a year ago Which and they had beer that year too Which was great And anyway, like it maybe a year after that or six months after that we kind of seriously started Looking at all of our options and and this is this is where we've landed And it comes we bought the dev ops tool as well cascade black mesh has a dev ops tool which has definitely made our life easier Some of the issues we've had I guess have been around Like the the custom process that we had that Adrian was talking about before was largely to manage our updates And that was running in PowerShell and Windows and it was Somewhat brittle and it worked kind of okay, but I never really knew any of the windows like operating system stuff So when it broke I just didn't really know What to do about it and now we run all that stuff on Jenkins using drush, which is definitely like It's probably taken a two hour a week task to about a 15 20 I don't know maybe 30 minute tasks sometimes so it's been there've been a lot of benefits for us for sure We've got some really sweet monitoring set up with their platform a lot of automated alerts We've got you know, just normal alerts that check for strings at the bottom of all of our sites And if they're not there they fire an alert and we've got some other kind of stuff that we try We run like automated checks on our dev and staging environments for you know The odd module out there in the contrib land that will suddenly stop rendering images and give you a text string instead We have automated alerts that fire if if that occurs and so we try and catch that stuff on dev and stage now Which is really nice We still totally eyeball stuff in the browser as part of our process But we have at least some of the more notorious stuff Automated so we got a long way to go I think in terms of our own internal DevOps process But we've come a long way on the platform that we're on which has been really nice And we've been able to integrate some custom rules with varnish. So like certain Certain pages on certain sites were able to exclude from caching or set really like granular caching limits If we have specific needs for some pages to be updated like every two minutes or rather than every 15 compared to others So a lot of flexibility has come with it and a lot of support which has been really great because It's definitely been times where we really need the help with a small team So yeah, that's kind of part of our story Appreciate that Jesse Gonna talk a bit about the solution how it works with these guys are running on the server side And we'll open up the questions at the end if there are any so We have Sierra Club obviously is their front-facing site needs to be a you know face of the company kind of thing So we have an HA solution we you know lose a server. We're gonna keep the site online As Jesse was mentioned the support we wrap unlimited 24 7365 technical support and monitoring around the site and all the services It's obviously tuned for Drupal with some of these components here in the image like varnish op-cache memcache typical Performance tuning tools that you guys have heard a thousand times But we will work with to Sierra Club tune them specific to the site and you know as Jesse was mentioned They have some custom requirements there We also assisted with the migration did all the heavy lifting pulling the the site off their platform Internally and get it on black mesh and working with them to test it and then we kind of tied everything together with our Cascade tool that essentially there's another slide on it, but it's essentially a web interface that integrates with get Jenkins few other things on the back end and You know, let's just go to that slide So here's a quick screenshot of it's gonna allow you to Essentially move code in between development staging live environments. You can copy databases You can restart services your web services varnish Things of that nature you can set up users groups different levels of permissions If you only want certain folks running or working on certain sites things of that nature and then if Anybody falls outside of like this cascade solution here. We can we create it in-house. So we are able to make modifications to that depending on what the needs are So all in all, I mean our experience with black mesh has been pretty awesome. I mean, I think the just just from a support perspective of Generally when we submit a ticket we hear back within within often within an hour if not just if not sooner and you know Sometimes a little longer, but not often and you know, it's not that they always know the answer right away And sometimes you have to work work You have to know what to ask to get to the answer But it's been really great being able to rely on that in a really really big way You know, I don't think we did like any particular benchmarking, but like The traffic after the election is as you might expect like really hit hit all of our pages really hard and Our dot or our regular website our main website didn't even blink Some of our other services off of Salesforce actually did So I think that's a good testament You know, I think they've also helped us do a bunch of planning they've helped with Jenkins to get our as Jesse was talking about to get our update process working We're talking to them about Get doing HTTPS everywhere. They helped us get a composer Repository working and troubleshooting some stuff around that And then, you know, so our internal IT folk they have plenty of other things to do So we freed up a lot of time for them with this with this solution.  They're gonna solve certain certain aspects of that So you're you're still you're still in charge of like making your code work of Making the decisions about choosing between options They can help you get between options and do a lot for you But like ultimately you still gotta like you still gotta figure it out So It's not that you can be a total noob and use black mesh and hope that everything's just gonna work Right like you have to you do have to learn that step So like just knowing knowing the good questions to ask both of support and of yourself like it's it's hard work But it's for us. It's been it's been really awesome with black mesh Getting to those to the right answers. So Thank you for your time. We have a couple minute questions. Yeah We have a few minutes for any questions. Should anybody have any please speak up Or see us afterwards and I had a question about sort of I know you guys have different chapter sites And I'm just wondering about what the rollout looks like for those Do you need to have to coordinate every time or you want to multi-site? Like how is that working with many different sites? Sure. We originally we originally were building individual sites in a multi-site for them but We eventually gave that up as a model because it was it was a little too hard for our chapter volunteers to really to really get into that So currently we have an organic group system within our main site, which is which is working really well People seem to be happy with it multi-part question Your windows infrastructure that you migrated from was that an internal infrastructure or was that cloud-based? It was internal internal so were there any webs at the at the completion of the migration was there any Web services or any services that you had to keep internal or you were you able to migrate everything to the cloud? We have we have a we still actually have a few things running on a Windows server Okay, some content. We decided we didn't we didn't have the capacity to migrate Okay, and a couple website that we're sort of waiting for other solutions that still haven't happened yet Okay, and final final question if you had any advice to give to an organization considering a cloud migration What would it be? lots of planning Okay, yeah, I I guess having led our project of finding a vendor my advice would be like To really clarify what's gonna be the most important to you once you're on the cloud Infrastructure and what okay sort of services and what you want your experience to be like if you need to communicate with that vendor, okay like Because there are like all of the options in between You could look at something like rack space where they provide awesome system admin support and no application level support at all Right, or you could look at someone that'll have like really High-level like application level support, but they'll charge you per support ticket. All right And so if supports a big deal for you I'd really like ask a lot of questions from all the vendors about exactly what their support system looks like All right, I mean I know for us. We've opened a couple of hundred tickets with these guys And if we'd been with other vendors, we wouldn't have been able to open that many because it wouldn't have been financially viable So that was one of the things that I really looked at in a lot of detail is what the support offerings were like All right And I'd also ask them like where they're getting their service space from like is it theirs or are they getting it from somewhere? If they're getting it somewhere else What are they offering as a software layer on top of that and how's that going to aid your workflow? All right, I think workflow is the other stuff. We looked at really carefully like you know, and they're automated processes to deploy code from like From different environments between dev and staging or just pull a DB down from pride and just injected into you Really easily like though. I think the support in the workflow We're two of the biggest issues for us. I think that we looked in and I think once we realized that those were really important to us Well, you had a long list of questions man We spent like hours on the phone with these guys and others as well like just really taking the time to understand Each offering because they all have pros and cons right and I would just give that discovery a lot of time And like Adrian said a lot of planning Well, thank you guys is a great presentation This is a question for black meshed you guys You talked about a dev stage prod as a process. Do you also have the capability of like Spinning up some sandboxes for other types of testing that are not gonna go through that process Yeah, whatever you need. I mean, so that's the typical setup dev stage lie But you know, we have other clients that have other requirements. Maybe they have multiple dev environments multiple staging they have Test boxes utility boxes, whatever so I mean when it comes down to it We're a solutions provider and whatever you need we can typically meet a hundred percent of requirements. So it's it's no issue Thanks, you're welcome. Thank you Hi also for black mesh Just started building a site with you guys and I didn't come across the cascade thing Is that to all your customers get no no you so with us I mean cascade is available, but with our flexibility We don't force you to use the tool so you can come in and you can have us install whatever tools you would require You know drush get whatever else it may be or you can use a cascade tool So let's let's have a conversation offline after this if you don't mind and we can chat about it Can you put that slide up again? Yeah, actually, I'll send you a URL that gives you like a five-minute demo a live demo on the site We'll take a look at that Thank you. Yeah, sure. Yeah, we should be Thank you. Hey, thanks so much for your time everyone. Thank you Nobody check this


I have the pleasure of speaking with Dr. John Gluckman from Six Wave. How are you today? Fantastic. Nice to see you again Tracy. And you know the company's name is Six Wave Innovations and I think right off the bat there's some issues with your company from investors because they can't believe what a wide variety of applications that you presently have. Is that correct? Yeah, we do seem to get a little bit of feedback to that end. So on this particular interview, let's talk about your gold applications because I just find that scintillating, interesting, and I see how the entire gold industry can benefit. So why don't you explain it to our audience for us? Well, sure. So we've created an alternative to activated carbon for purification of gold in the gold mining industry. It works just as well for silver as well. It's more selective than activated carbon. It can be done at significant savings. We don't have fines so the gold mine gets to yield more gold. They get to do it with less energy consumption, which means thousands of tons of lower CO2 emissions. And of course, you know, with fuel cost skyrocketing, significant reductions in the amount of fuel to be used. We just did an analysis for one of the mines that we're working with and we got fantastic extraction recovery results. But along with that, we were able to demonstrate savings of 500, 600 liters a day worth of diesel fuel required to generate power just for the desorption recovery of the gold. So we're really in love with it. We get consistently fantastic results almost everywhere that we test.  You basically reduce the cost of $100 per ounce. So $100 per ounce, you decrease the cost for large gold companies to produce. Is that correct? Yeah. So that comes from a combination of savings in reagents, savings in adsorbent materials, savings in energy, transportation costs, but also it's increased yield. So one of the elements that people don't know so much about is that carbon breaks down into fine powder and small particles. Well, all of that carbon has gold in it still because the way the systems are set up. Well, if you're not breaking down that material like you do with Ixos, then you get to get all of that gold. And that's thousands of ounces per year. So everybody out there who is talking about carbon credits, global carbon credits, ESG investors, ESG funds, this Ixos technology, is that what it's called? Correct. Allows gold companies in their community to almost, can they make a pitch to an ESG fund, Dr. Blockman, with your technology? Yeah, I would think so and we're really motivated to help provide them with the core data that they need in order to be able to qualify for carbon credits and to provide information to the relevant local communities about reduced lexivience, potential to significantly reduce cyanide usage, recyclable chemicals that so they don't have to be released into into talons of waste. Absolutely. So you decreased toxins as well in the extraction process, is that correct? Yeah, we can. Okay, and this is for gold and silver. Are there any other resources that you can use the same technology, the Ixos technology? So the Ixos, you know, our technology is based on molecularly imprinted polymers. So we have to generate a specific adsorbent for each different metal that we want to go after. So we have been developing in the lithium space and we have some work on going for looking at hard rock lithium extraction using alternative lexivience and then using some of our technology for purification to get to high grade lithium carbonate and hydroxide. So that's one for sure. Certainly it's applicable to other high value metals and certainly scarce resources where having a very, very efficient adsorbent is important. Okay, but now presently Ixos is applicable for gold extraction technology and you currently are working with? Yes, the answer is we're predominantly our Ixos product that's been fully commercialized and ready to be purchased and installed is for gold and silver and we are supporting a number of majors, top 10 tier mining organizations, a number of juniors and more recently we're getting a lot of activity from mine reclamation for cleaning up mercury and arsenic in mines but also being able to extract remaining gold and also for tailings reprocessing and there are a number of projects in Canada and in on the African continent that we're talking about. So final question because I know investors out there are going okay that sounds like something we might be able to absorb sounds great but win win win how are we doing for revenue and what are we looking at for 2022 can you talk to the numbers? Yeah I think you know a number of our projects you know have to move through phases in gold mining through the acceptance so usually starts with some testing that we do in our laboratories and then we move to onsite testing as soon as we've proven stuff in our laboratories we start collecting some revenue from the mine to go and do onsite testing and then a pilot program and then implementation and so you know usually that period is a 12 to 15 month period because in any adoption of new technology the mine still needs to go through permitting activities there's a plant that needs to be built and so there is a length of time. We expect to convert several of our projects that have completed initial testing into pilot phase testing in the next few months with some of those rollouts still here in 2022. It sounds amazing so what kind of sales team do you have in place for the IXOS technology? We're fairly small and condensed we are working with several of the major mine engineering companies so we have ongoing relationships with SGS for example we had a long discussion today with FL Schmidt and others so we're getting to know ourselves in the mining community and in the mining groups that are responsible for building and deploying mines for the for the major mining organizations. So for everybody out there who's interested in more information on Six Wave or the IXOS technology application for your gold extraction at your mine please contact this email here and John thank you so much for joining us today as always it's a pleasure. Thanks for having me again.


Invisible lines, which divide and redefine boundaries, are often drawn by people who've never walked along them or played in fields which lie alongside, growing the same crops each time seasons change. But for those who do live along these invisible lines, they become a poignant reality, leaving them to wonder where in the forest at which tree should they stop so as not to cross these invisible lines. These lines are for real and unfortunately for Mustafa, it was a reality he learned the hard way after he was put in prison for crossing one such line. For seven years in Pakistani prisons, he dreamt of being back home to savor once more the sights, smells and sounds of childhood. Ironically, the harsh confines of a Pakistani prison redefined his Indian roots for him. 21 is the age when most young men consider themselves truly free and independent. But for Mustafa, 21 was the age when he was put into prison, a prison which physically shackled him. Tore at his spirit and compelled him to question his surroundings. When I saw him, I was very ashamed to call myself a Muslim. I have never even heard of this thing that I have seen or seen in Pakistan. This is a misguided act of humiliation. When I went there, I was surprised to hear that these bearded people are saying that I am a Muslim. His desperate memories cling to him as also the misery of those who got left behind and are still languishing in jail.  They are saying that they have been studying for 16 or 18 years. When I ask them, they say that they request speed and they are still doing something. They say that they are not taking any Indian government. They only have it. They don't know what they are saying, what they are saying. But there are women in India. We have heard from them that there are women in India. Broken in body and spirit, having lived with bestiality of the worst kind, Mustafa is ever grateful to God for giving him a new life and has only one wish. Mustafa today can dare to hope and dream anew. If only all those others still languishing on the wrong side of these invisible lines could also be given another chance to hope and to dream.