The icons size, size also will vary, so less frequent callers will come here, smaller icons, most frequent callers will come here and even the number of calls will be shown here, so very complex control and when you press 7 more, this control will expand and will show each call as a single row, this is a very complex control, that's where I said when you say will not draw is set, when you press 7 more it will not expand actually because this will take care of the drawing, it will not draw, so that's example of that. Now optimizing the Android application, so what we do is we, most of the time we have a set of few phones that we test on, probably emulated our things and we test this in the few devices, for example there are like when we launch one of the apps, there were 768 compatible devices in the market, so we are not going to test for 768 devices anyways, that's not going to happen for a startup, but what we can do is we can adhere to the guidelines and make sure that our app works on this, we can assume that and it works most of the time, so what happens is we have a decent mobile maybe like Nexus 1 or HTC or Google Galaxy S2 or something and we test on that and it works fine, but the problem with Android phones is that there are many people who use phones with very small footprint, very small memory capability and things like that and your code might fail, there are a lot of combinations that come in like QVGA with 2.1, to you know, HVGA with 2.3, to lot of combinations, there are a lot of combinations happening, so unless you optimize your code based on the guidelines, it might crash on few of the devices, so I will tell you some of the guidelines that we follow and we found out which will help reduce this, first things is I will come to that, okay, so that's what I said, so it scales up and down based on the devices and best practices are used and let us make the best use of memory and battery processing, so I will come to the memory part, what we do is whenever we have a list view, I am still stuck with list view, so when we have a list view and it has a lot of images, as you flick it, if there are 100 more animals, something crashes and gives you an out of memory exception, so this happens when you have images, because images take a lot of memory and when you don't probably handle it, it easily crashes, you know, even if it's a good device like Galaxy S2, if you have 100 plus images in the list and you just flick it, it will crash, if not in the first time, you just, you know, take the layout, make it landscape, portrait, landscape, portrait, four times, it will crash, because the memory leak is happening there, so what we do for that is the common myth is everybody does this step, system.run finalization is called the garbage collector and you believe everything is fine, all the garbage is collected, but the problem is the definition of garbage is very, very different from what we perceive, it's not that if we can say that, okay, this is not more in any more use, so this should be a garbage that the system doesn't understand like that, so there are a set of tools in, you know, Android ADT, developer tools, which can actually help you find out if there's a memory leak, if you're using a memory efficiently, so one of them is just look at the lock app, I think everybody is familiar lock app, yeah, so what you can do is you might see these kind of things, I'm sure you have seen this and you have just ignored it, like I also did, so what this says is, exactly says that the current state of your, you know, memory usage of your application, this says that this is the soft limit for your, this is the soft limit for your internal memory, that's the program memory that for the memory allocation of the objects and things like that, the next one, the second one, external says the memory allocated for the resources, like the images and things like that, so once your memory allocation touches 8.5, like 8K, it again upscales it to maybe 10K, the soft limit is set again to 10K, when it touches 10K, it goes like that, but there's a point, like yesterday, I think if you have, you were there in the session by, for the memory operation, they'll say there's a limit for the memory for each application, I think at 16 MB or something, so when this combined value goes out of 16 memory, you are done, the app crashes, so how, you can just watch for this, just put a lock at filter and just flip your phone up and down, like landscape, portrait, portrait landscape, you do it five times and you'll see this, this will be growing, this thing will grow, that means there's a leak, there's a leak in your program, so first you understand what are these parameters, these are defined in the android developer documentation, you can go and see that, I think explicit means, as I told you, the memory allocated for the external thing, for malloc means, because there's no more memory left, when the malloc was called, the OS is forced to call a GC, and GC concurrent means that a lot of objects already ready for garbage collection, so it takes some time, so if you're in between the list scrolling, if you're calling GC, it will scroll smoothly for some time, suddenly it will stop for a few seconds, maybe a second, but it will be visible because you're smoothly scrolling the list, you're flipping the list, suddenly it stops and then moves again, so that will be irritation for your UI, so you can also use a tool called memory analyzer tool, that's also part of the android ADT, and very good session is given about MAT in the Google IO session, I think that's the best way to understand that is watching that session, that's a one-hour session, he clearly shows how memory leak starts in an application, and where, how to peg it, things like that, it's a very detailed session, and next I'll come to another important topic, wherein how you can peg this GC, the GC problem is, I'll come to hard reference and software reference, I'll show you how exactly GC works and things like that, and another important point is that images are the most common memory hoggers in our applications, so even if you're using one single image, like I told you, if you're supported both orientations, like landscape and portrait, when you flip around, the images footprint might be growing, so try to minimize the size of the image, it's good in both case of runtime and also in packaging your app, most of the phones even today has a very limited internal memory, so your phone doesn't support SD card, moving to SD card, and if your phone is running 2.1, there's no option also, so for applications 10MB, nobody's gonna download it, they'll say that it's too big for my phone, so try to minimize, in that aspect also try to minimize the memory used by an image, or even otherwise when the runtime also it's gonna cause a problem for you, so like I think last session there, in the top, they were talking about how to use nine patch images, so use nine patch images wherever possible, so that will really, really bring down the image size, for example, a button icon, a button background image which was like 30KB will come down to like 2KB with nine patch, if it is nine patchable, first thing, and also there's no transparency, go with JPEGs instead of PNGs, see even if you, one more interesting fact is that, we have tried to optimize the PNGs from Photoshop or the tools to reduce the memory of the PNG, so that by probably reducing the resolution and things like that, but what Android does is, before compiling and making the package, it actually reformats the PNG, it compresses by itself, so whatever compressing you have done, beforehand for the PNG, is going down the drain, because Android again will do that, and it'll only be as good as the compression used by Android, so PNGs have that problem, so stick with JPEGs if you don't have transparency, and only when you need transparency use PNG, so I'll come back to, you know the weak references and strong references or soft, you can call it weak references versus strong references, or you can say soft versus hard, so what are strong references? I have a class called foobar, I'm initializing an object with that, now what is happening? I'm putting it in the hash map, now this function goes out of say use, so the actual foobar is supposed to be gone for memory garbage collection, but since the object is still in the hash map, it is referenced hard way, there's a hard reference to the object in the hash map, this object is not gonna die, until the hash map also is dying, so what happens is even if the foobar is not in use, it's still in the memory, it will not be available for garbage collection, this is a very simple example, then you are assigning an object to multiple variables, what happens is there are a lot of strong references to this object, so even though the original object has gone off the scope, the object is still referenced by somewhere, though not in use, they are like a dormant, and they'll remain in the memory, unless it goes out of memory and crashes, this is a strong reference scenario, so these strong references are not at all eligible for garbage collection, it'll never be collected by garbage collector, so what we can do for this is, we can, there's a class called a B reference, and use the B reference, you know, class, and then if you assign that to the foobar, using the B reference, what it will do is, the code, the B reference is not direct, the weaker references will be the one object that will actually hold the reference for the object, and for each places, you can actually say, weakfood.get, and it will return you the object, so what it is returning is a weak reference of the object, so if I'm putting the hash map into the list, I'll be putting here, I should have put the code also, like weakfood.get I'll have put, so it is not actually, there's no hard reference to the actual object, the actual object is held only by the weak reference class, so when this actual weak reference class goes out of scope, it's available for garbage collection, so there are actually different kinds of weak references, one is weak reference, as I told you, and the soft references, the difference between weak reference and soft reference is very subtle, soft reference will, weak reference is what it'll do is, whenever the object is going out of scope, it'll automatically make it available for garbage collection, but soft reference what it'll do is, it'll return it for some more time, so that if the memory's allowing you to do that, there are a lot of memory available for you, it'll still hold that object, not kill that object, so the hash map will still be able to access the object, even though the original object is going out of scope, if at all, there's a memory available, so soft reference is a little bit more, what to say, a lenient on releasing the actual object, and there's another phantom reference, this is a really different thing, which is only used, okay, I'll get into that, whenever you actually, whenever you actually put an object in the weak reference, and when it's the reference, that is when the object goes out of scope, it's put into a reference queue, so the reference queue will hold all the dead objects, and next garbage collection cycle it'll be killed, so in both weak references and soft reference, you can actually go to the reference queue, and retrieve the dead object, you can resurrect that object, so in phantom reference, even that is not allowed, phantom reference makes sure that, when it's gone out of scope, it's completely gone, that is about the, okay, the gist of what that is, try to use a weak reference class or a soft reference class, whichever you feel is good for you, and this is not used actually anywhere, I have not seen any case where it's used, and if you use a weak reference, the garbage collector will be much, much more capable to release the object I have not used. Next is optimizing the layouts, I talked about the optimizing memory using these techniques, now I'll talk about optimizing layouts, okay, so I'll go through using two tools that ADT provides, one is hierarchy viewer, hierarchy viewer as it says, it is a tool that is available with the Android SDK, that will actually show the hierarchy of your view, like they showed in the first slide, it'll show a little bit more graphically, the actual hierarchy from left to right, from the linear layout, you have a probably a ready layer, instead of your list, list items, things like that, and it'll show the whole hierarchy, and this is one example, in the hierarchy, this is one object, say in the end we have a button, and it'll show you three dots in that, these dots represent the time taken by that object to get drawn, first thing is, I guess, time taken to measure, second is time taken to the layout, third is time taken to execute a draw call, and this color coding will tell you whether it's healthy or not, if it is green, it means that it has taken a time less than 50% of the, it is faster than 50% of other objects in that same layout, if it is yellow, it is slower than 50% of the other layout, and if it is red, it means it's the slowest object, so when you actually run an application on the device, you can plug it in and you can see the view hierarchy run time, in the real time, and you can see which object is misbehaving, which object is taking the most time to draw, this is also useful when you're designing your own custom controls, so you can make sure that, whether your control is the, your control is behaving properly, or is it taking longer time to draw, measure, or even putting the layout, so using this tool, you can actually pick the rendering speed, you can find out which is the problem creator, and the problem is it works only on developer devices, but I think that's good enough, and it shows the entire view hierarchy of the activity to take and the time taken for each view to draw, so as I told you the color coding also, another tool is layout opt, layout opt is another command line tool provided with the Android SDK, when you know first you run view hierarchy and find that, say this object is a problem creator, the dot is there in this object, so what will you do next? How will you know that, why is this object slow? So what you can do is, the first step you can do is you can take layout opt, you can run this layout, an XML layout through the layout top, it'll tell you the most probable reasons, the most probable guidelines you have missed, probably you have put an invalid object, you have used an object that is never drawn, things like that, the errors of the logical errors in the XML layout file will be picked up by the layout of cloud, a code, and it'll also suggest the remedies if it is possible, most of them it gives a good suggestion, so with these two tools you can actually pick the layout drawing issues from the XML's perspective, the next thing is very important thing, we do great apps, apps look really good, the UI is great, it works great, the only problem is it drains your back into us, your phone dies into us, and that's a common that you see in most of the good apps in the Android market, and this happened to us also, we did a very good app but the problem is it drains the battery a lot, what is the reason? So even if you have a very powerful phone, say you have a very good phone with a dual code processor, a lot of memory, the battery is always a bottleneck, you know the battery is gonna drain, if it becomes dual code it's gonna drain really faster, so what to do about that? So there are set of optimizing techniques that you can use, these are, even if it's not about battery it's a very good practice to follow on how to use a battery and network judiciously, you know, when you write apps, I am talking about apps which are connected to a network which fetches information from the internet or probably uses location, GPS to find out where you are, these kind of apps use a lot of sensors, and you can actually do a check before you actually use a network, for example, if you're in a roaming state or if there's no Wi-Fi network, if there's no internet, there's no point of you calling the HTML, you know, HTTP request to the server, it is anyway gonna fail, but you're actually going to drain the processing and battery time. So before calling network or GPS or things like that, first put a check on the function, see if there is a network available, see if GPS is turned on, these simple checks will actually, you know, along with your apps, a time in the phone at the time, your battery time will really go higher, and another simple, but some thing that most people don't follow is using wake locks. If you don't know what wake lock is, when you are using an app, say you're watching a video, a screen locks after five seconds. In beginners app this happens, but when you Google search, you know, you find what the reason is. Reason is that you have not set a wake lock. If you watch a video in the YouTube app, it'll never lock the screen, it'll never die. That's because they have acquired a wake lock. Wake lock is something, see the Android architecture is like this. When you are doing something, when the phone is idle for some time, there's a time out that is set in the settings that you can manually change. After the time out, the system will lock. The screen will lock, the screen will die, the touchpad, the keyboard, if it is there, the backlighting will go, and actually the processor goes to suspend mode, except for some essential services like phone calls and your network, all the system is in a suspend mode. So, if your apps need to run on the background, there are pretty different scenarios. Take an example of a YouTube app. YouTube app, what it needs to do is, when the screen is live and the YouTube app is running, you just need to make sure the screen doesn't lock. But when the user manually locks the screen, you don't, the YouTube app doesn't need to run anymore. It can still put the processor to suspend mode, that's one scenario. And this scenario is an example of an app like Twitter. Twitter app doesn't need the screen, even the screen can lock, but even after locking, probably the app will pull the internet to find if there are new tweets. So, at that time, you can let the system lock the screen, but you cannot actually send the processor to the suspend mode. So, in that scenario, you need the processor to be running and giving Twitter app some control, some kind of control so that it can again pull and get the value from the internet. So, there are different kinds of wake locks provided by Android for each of the scenarios.  It'll always keep the processor alive and it'll actually keep the screen backlighting everything alive. On after release is another wake lock, which probably will, I guess will, you know, when you press manually, you lock the screen, it'll stop everything. And partial wake lock is what I was talking about Twitter. It'll lock the screen, but the processor will be running in the background. Screen bright wake lock means it will remain, the screen will remain brighter as well. Sometimes you can dim the screen at least. So, the dim wake lock will keep the screen alive, but it'll dim after some time. So, these kind of different wake locks are available. Again, it's available, the complete specification of this available in the market. So, people, what they do is, they actually acquire the wake lock and set the wake lock. So, for example, if you take the Android phone and go to settings and go to the system information, go to the battery usage, usually the 50% of the battery is used by display. So, when you actually keep the screen awake, you're actually killing the battery like anything. So, this full wake lock will be acquired. Say, somebody is watching a YouTube video and he acquires a full wake lock. After the video is finished, probably you should release the wake lock. Most of the applications, they don't release the wake lock. And what happens is the screen will remain open, even when you press the home button and the app goes back in the dominant state till the wake lock is acquired. So, it will remain on all the time, probably for hours, and the battery will probably die in half the time it should have actually died. So, whenever you acquire a wake lock, try to release it after it's used. Another thing is services. My services is like something, the most toughest thing to do. And when you do a service, you get like, yeah, I'm going to the next level. So, you use service for everything. But, and we also found for many scenarios for like, pulling the location, the background, and things like that. We thought service is the best way to go. But actually, there are methods which you can actually eliminate services. For example, if you wanna pull the location, if you wanna pull system states and all, we have actually system broadcasts. When the location information available, if you subscribe for the system broadcast in the XML file, you can actually get the broadcast even when your app is not running. So, you wanna show a pop-up whenever you enter a region. So, the simple solution would be run a service in the background, pull for location every 10 minutes. When you are in this GPS location, just put a pop-up. That's a simple implementation. The better implementation is, just subscribe to the location, the change broadcast intent in the XML file. And whenever the location is changed, you will get the intent back to your application. In this way, you are actually saving the memory also and you're actually removing your background application. So, another thing is, you have the ways to set services not to be persistent.  That is because in the settings in Android Manifest, they have said that even a service is killed, please restart the service. So, if your service needn't be restarted, if it's not something critical, if it's something like, it's a simple fun app, something, if someone is killing the service, let it die. And the next time when you start an app, let the service come again. So, don't make the service persistent if you're not needed. And best part is, this is the most important thing, abide by the rules. Just blindly, religiously follow the rules and they actually make your app lot, lot better. And it will be future proof as well because the form factors of the device are changing and the capabilities of the device are changing. So, if you stick to the guidelines, your app, which is created for 1.6, will still run on a device on ice cream sandwich without much change needed, you know? Again, another important thing is you can adapt your app to your system condition. For example, when you're using network, you get this, some broadcast in the system, denoting about the system condition.  And another important thing is, there's an event, there's a system broadcast event called action battery change that system throws. This is a broadcast event, anybody can subscribe to that. So, when the action battery is low, the actual value, the battery is low, you can actually turn off part of the system. For example, your GPS thing, your network thing, you can actually reduce your application usage of the GPS network, but in low battery, your application is not the one who actually kills the system. Because the users, the way they perceive it, you're on low battery and they take your app and your system stays power off. They're not very intelligent or they're not very, they're just lame and who will think that your app is the one who actually accelerated the shutdown of the system. So try to be a good guy and whenever the system condition is low, reduce everything, go to safer mode, and you can, using these kind of system broadcast, you can actually disable some of the facilities or capabilities of the application. Also, you have specified some of the permissions in the applications XML file. Say, you have to stay for the location, you have to stay for the network, things like that. You can actually go to the package manager class and during runtime, you can disable these permissions. So that is also possible. So they give all kind of facilities for you to make your app as memory optimized as possible and it's up to you to actually implement that. Another thing is optimize the list, optimizing the list, because we are talking about lists. Another problem I've seen is the list, when you create a list that you don't really bother about optimizing, you're more concerned about making it work properly, but you can actually optimize the list. For example, whenever you are downloading images from the list, you might use a thread to do that so that you lazily load the image. But using a thread, make sure, for example, you're flicking a list in a very fast, you're doing a fast flick of the list. You don't have to load images for each of the list items. What happens is I have, I'll take an example to Twitter again, I flick the list very fast. So probably I would have skipped 100 items in a second, but I would have started 100 threads also to load 100 icons. Why do you need that? Because I'm not gonna see that icons. So what you can do is you can listen to the scrolling, scroll listener, and then only when the list stops, just load those items. Don't load the images and stuff for each of the list item that has been scrolling. So if I scroll 100 items in a second, I'm not gonna load 100 threads and crack the system. And again, using the threads, be very careful. There are a lot of documentation about this on the internet, how to optimize threads on a list. Because once you start a thread, you don't really have much of a control how to stop it or how, where it goes, it just runs in the background. So you start 20, 30 threads, because they have dynamic number of items. So you scroll down and up, you're starting threads here and there. So if you scroll down and up, you're actually starting through two threads for the same image. Because they don't have happened, just think about it and you will find that you can actually optimize these kind of scenarios.  It will only load that much items, it will only call that much views, it will only create that much views, it will cache the views, it'll do a lot of things. And if you want to know more about that, just go to the Android source code of the list view. It's very beautifully written. And don't try to over optimize it or counter optimize it. And then in the closing, I just want to say that the Dalvik machine and the Java machine are not the same. The heat size and all those things are different. So don't, even if you're a seasoned Java programmer, you might be committing mistakes. Try to watch the Google videos. They're very, very important because they actually throw up a lot of new light to the way you actually look into an Android program. And don't just try to check out the densities of the application when you create an XML, as he told in the previous session. And you can also check the Android source code. People think that Android source code is really hard to understand. It's a big, big, big goal and it's a rocket sign. It's very simple. Anybody can understand, it's heavily documented. And whenever I try to create a custom control, I actually go to the Android source code and see how they have done a similar control and I start from there. It's very simple. And you can use portal like stack out from Google. I know all of you know that. And one more important thing is, try, if when you're in doubt, you can actually call up these guys. You can actually ping these guys in Twitter or in Google Plus. If you have really have some problem, like my list is not working properly, this is what happens to me. You can contact Ritome, Romain, go there and Romain, they actually respond to your queries. We are really issues and they'll give you answers. So that's what I will say. And I would like to thank my colleagues who tried to help me create this presentation. If you have any questions, you can ask me. Hello, everyone. Due to time constraints, we'll have to end this session here. We'll thank Mr. Narayan for the quiet interactive session. Please give me a big round of applause.


Hey guys, welcome back to my YouTube channel. This is Daniel Rosel here bringing you today's video from my home office in Jerusalem same location a couple of new touches you guys might see the on-air sign there in the background I've actually had it for a few months now, but just got around to putting it up I want to talk today about something a little bit slightly off-topic even within the realm of the Techno technical stuff I talked about on this YouTube Which tends to be clustered around a couple of very unique subjects like home networking and Back up and disaster recovery. That's something related to cyber security actually and cyber security is a field I've been interested in for a number of years through the work that I do or slightly different work nowadays, but for the past five six seven years in Israel been working as As a marketer with technology companies and I've had a number of cyber sec clients. It's a very hot space I also had and this is I'm going to talk about air gapping in just a little bit because that's where I first came across the term Air gapping was my first job here in Israel was working at a industrial IOT company And what we were doing the company was manufacturing these gateways that would connect into IOT industrial IOT devices So what's an industrial IOT device just as you have? You know smart fridges and smart toaster ovens and smart air conditioners in the industrial setting when people are trying to create smart cities They push they connect sensors like chlorine sensors and electricity sensors and power quality sensors and They would deploy those in their water networks and smart grids and stuff like that now This is a whole area of technology that a lot of people haven't heard about called OT or operational technology everyone's heard about IT informational technology the stuff that's revolutionized our lives, but there's also something called OT and Very closely related to the world of OT is something called skater Now skater and it's actually been so long since I was working with this company that I've forgotten what it actually stands for Here we go supervisory control and data acquisition is a computer-based system for gathering and analyzing real-time data to monitor and control Equipment that deals with critical and time-sensitive materials for events. Let me try explain that in more simple terms If you have a smart city with a smart water network all these sensors integrate into some if you imagine Homer Simpson in in the Simpsons and You remember he was in that nuclear power control room. That was like a skater room. It's a control technology software in which all these real-time inputs are integrated and Commonly these systems are air-gapped now. What is air-gapping? So If you take your average home network, right? I am recording this video into a desktop computer Here in my room the room. I'm always doing these videos in my wife Might be sitting in a different room have her laptop and we could actually create an internet That we have some kind of a chat program and we talk to one another and we might have a writer But we may not have a modem let's say and that means there's no way any computer on this network can do anything except for Communicate and exchange files between other clients on the network. There's a physical disconnection between the hardware we need to get to use the internet and the network right so to use the internet we need a modem and To just send packets across the local network all we need is a router and maybe switches as well So again in the terms of sort of computer networking This is what's called the me and another computer on the network is what's called a LAN Local area network and the internet is the wide area network or the one so who uses air-gapping? Well typically very secure stuff So I mentioned skater systems for this reason think about what would happen if a city went smart and deployed a smart water Network and deployed a smart electric smart grid and everything was everything had IOT Sensors and it was all wired into these skater systems, right if someone were to hack into my computer here they might Get a few files. They might be able to extract my passport from my computer and stuff like that What would happen if an adversary were to hack the smart grid and by running a command on that computer? They could take down the power for the whole city, right? And perhaps there might be patients in hospital hooks up to dialysis machines who God forbid well, they probably have generators But you know the point I'm trying to make is it's much much more potentially dangerous hence These type of secure networks tend to be air-gapped for that reason these secure networks, so That's a little bit about air-gapping and how I got interested in a little bit about cyber sec and air-gapping now I remember reading in the news a number of years ago some article About this these crazy experiments in Israel now. I live in Israel for those who weren't aware I remember reading about you know these wild experiments where like some guy was able to Transmit data off an air-gap network by turning on and off the LEDs on a rider They basically kind of like Morse code, right and they had the writer They injected malware into the air-gap network So typically the only way is commonly assumed that you can hack an air-gap network Hacking anything connected to the internet most clients are connected are protected by firewalls that you know Web application firewalls or WAFs and their job is kind of to you know say well This is legitimate traffic. This traffic looks illegitimate. We're gonna block down access for this traffic But what if the server is not connected to the internet at all, right? So in that case is really not much you can do as a potential hacker So the vulnerability of these networks tends to be some much more Code and dagger stuff, you know Some guy comes in disguised as a cleaner if you watched fouda or a Tehran think more along these lines, right? and sticks the USB into the air-gap network USB stick in order to inject malware and compromise that network now Once a network is compromised people might want to get out data But what happens if you only get access you only get to put in that USB stick in five seconds. You got to run So there's something called data exfiltration and I sent these this page to a few of my geekier more computer oriented friends and They loved it but trying to explain it to people less interested in tech I think when people hear air-gapped and exfiltration they stopped listening so exfiltration means getting data out So if you were for whatever reason determined to hack and extract Ultrasensitive data from an air-gap network, you'd have to figure out a way to not only Compromise the system you'd have to figure out some way if you wanted to maintain that capability of Constantly getting out info of exfiltrating data while that air while that network remains air-gapped So this is what these are the wild cyber security exploits demonstrated here So I was browsing YouTube this morning and hadn't thought about these this article I read number years ago couldn't remember the University couldn't remember the academics name And it was recommended as a video. I should watch and I was like wow So here it is. I'm gonna just jump over to my screen if I can figure out how to do that. It's called Let me just put the URL up here my old school notepad way for a second. It's called Cyber coders comm. It's not actually a standalone website. It's actually just a like forwarding URL and it'll forward you to this page It's and the domain that you can see because it's cut off in my screen is cyber.bgu.ac.il It's Ben Gurion University in Israel, which is one of the universities here in Israel located in the desert the negative deserts You know not not maybe the place where you might expect the greatest minds of Israeli technology to be working on some pretty wacky Projects, but there you go. And the guy running this is a man called Mordechai Gore computer scientist at this university He's you know, this is a kind of a classic computer scientist website. They always put out these old school HTML and CSS bait sites I love it. It's called the advanced cyber security research lab And I just want to wanted to show for those interested a couple of cool things So this is where they list out all their experiments. So now that I've given the context I hope this might be a bit more understandable if you just click into this network for This video for some weird reason, right? These are all the Exploits they've figured out and they give links here to YouTube videos and their YouTube channel, which I will get to presently I already had it. Whoops Don't know don't get a copyright thing for for grabbing their video. This is it truly truly incredible Starting with this one seita seita is the the data cable is connecting One of them anyway connecting hard drives to the motherboard on a computer. So in this attack I'll just go into the video and these are all different Vulnerabilities or methodologies they've proven are viable for exfiltrating data from air gott systems to this one for instance seita and air gap exfiltration attack via radio signals from seita cable. So this stuff is wild I mean, I use that I use that advisedly. They basically inject malware They find a way to turn the seita cable into an antenna Transmitting data from the air gap computer and then all they need is some kind of a monitor Somewhere someone off-site that they can pick up those encrypted ones now That's not that's far from the coolest one But if you want to go to through this website, they list as well not just the videos. They also list papers like some of these I'm just gonna Show a few of my favorite ones just give you a feel for the material here power supply Leaking data from air gap systems by turning the power supplies into speakers. That's wild Power supplies or ps use what power computer is and they find some way. There's other Hacks that use acoustic properties. One of them is actually using the physical vibrations from a hard drive a HDD The point the video is I just wanted to explain a little bit about context of what this is Here's the one I was fast another one. I fascinating covert data exfiltration via router LEDs so, you know, you probably Have a writer in your home that looks a little bit like this TP link writer and it's got these LED lights Well, what if the malware could control those LED lights on the router and that was conveying an encrypted signal a coded signal and Someone sitting outside the building again was able to had the cipher and could decrypt decrypt The encoded messages transmitted as LED combinations this so it's it's like I would describe so you can see Those aren't regular lighting patterns. You see on a writer. This is actually an encoded message That's about it so This stuff is so Advanced that it is really I can't believe this is really a thing stuff It's almost like kind of science fiction, but this is real life You know real life can be more interesting than these Hollywood movies about espionage now I don't know for sure that these were used in Stuxnet or Those attacks, but it's safe to say that if this is the capability of Computer scientists that's in the public domain That's this already a 2017 video. I'm the writer LED one so five years later Who knows what kind of incredible technology exists for a day in the hands of intelligence agencies and signals intelligence agencies For exfiltrating data from these supposedly secure air gap networks I guess the take-home message of this video and I've seen some Thought this a few times from some of the amazing cyber security answers on quora is if you think there's no way That you've I smarted the people watching you if you're doing something very malicious like running a Elicit nuclear weapons program if you think you've outsmarted the guys following you they have all sorts of ways to To win the game so really interesting stuff if you're interested in air gapping and cyber security I'll pop a link in this video description to Cyber coders and one going directly to this YouTube channel because it's really worth looking at these different experiments Thank you guys for watching. I hope this Quick detour into cyber security was interesting more videos along these lines coming soon to my YouTube channel Thank you for watching


Okay guys, today we are starting something brand new, but before we start everybody eyes on the whiteboard We're going to go back a little bit in time on your whiteboard. Can you write? 654,000 289 ones in standard form standard form 654,000 289 ones in standard form when you think you have it compare with your neighbor if it's different figure out why and Thumbs up to me when you and your partner both have it Luke you okay? I want it in standard form sweetie. So morella help your partner. Does he have it in standard form? That's unit form put it in standard form Morella does he have it Luke does morella have it? Excellent. Okay, don't erase it. You should have 654,000 289 now Can you write? 245,000 164 ones in standard form don't erase Don't erase add a new number when you think you have it check with your neighbor. Do you need a marker? 245,000 164 thumbs up if you and your partner both have it good Now can you add oops? Can you add both numbers using the standard algorithm? Can you add them both up using the standard algorithm when you think you have the answer check in with your partner? If it's different figure out why if you need to erase something and realign your numbers up. That's fine Standard algorithm go ahead and add them check in with somebody when you think you have it Talk to each other Jack. Do you and Richie both have it? And you don't have to whisper boys you could talk So do you guys have the same thing? So what are you gonna do well, so you got to talk it out and figure out who's what's up? Look at them carefully and see if you can figure out where that somebody's wrong. Oh, I think I put 255 here Yep Guys match thumbs up. I see lots of thumbs up so far great. Okay, erase your boards


Welcome everyone to Google season of docs office hours for the Jenkins project. Let's look at the agenda. Here's what I've got for today. And Mark, he said that he will join us a little later. He's running a little late in a meeting. So I had pull request to review cloud providers. We had some notes from previous. AWS account. A timeline concluding season of docs that I have not done yet. We don't need that topic. What's next after Google season of docs and anything else that any of you would like to add to the agenda. All right there. Let's, let's go ahead. So with regard to the pull request, I don't remember if I provided any feedback within 24 hours like I was supposed to. I doubt it, given my poor performance lately. Nope, I did not. Sorry, Zenab. So we've, we've got this one open still. So that holds merge or adapt. Okay. Anything else you wanted to discuss on the pull request, Zenab. If there are other things you'd like me to add to documentation or other things you'd like me to do it's fine. Great. All right. Wonderful. Okay. Good. Okay. Now are there other pull requests pending. I think from you this is the last pull request for the season of docs in the season of socks docs timeline is that correct. Oh no, we've got okay we've still got one more open, and it's been open for a very long time. I need to get that one reviewed as well. This was sample data files in the Jenkins.io repository. For that one, where is this really where we want to host the files. But let's take a look at that conversation because I thought that the. Yeah, this Oleg's only concern was that we needed to refer his key concern was that it needs to refer to the Jenkins info repository and not to Zenab's fork. Yeah, so, so I think I think he'd be okay with that. But what I think his concern was that in this case what you see is Zenab is referring to her own copy of the repository. To the copy on Jenkins.io or on Jenkins CI to Jenkins.io. So I think that would need to be changed but that's a change I could do or Zenab you could do whatever you prefer. I didn't put the links to the main repositories because the files are not there. So if anyone is trying to review it, if you just need to an empty page. That was why I didn't, but if you want me to change that now. Yeah, I think I think we'll have to change it because now okay, if we don't do that. Yeah, it was just for the purpose of review. So if the files are okay then we could. Because if I put links to Jenkins.io it might be difficult to access the files or see what they actually look like since it's going to be leading to a dead end. But if it's fine then I can change it now to the main repository. Great, yeah so change the destination links to point to master branch on the official repository. Yeah, excellent. Anything else on pull request topics. Okay next topic cloud providers as you know you had had requested I think an AWS account. Have you been able to log into it. Could you share with what's your big experience. Yes, I've been able to log in and I was able to create an easy to instance and I was able to install Jenkins normally on it. I want to now expand there's a lot of content I don't know if you want to have all the content on Jenkins.io because we have creating virtual private cloud creating EKS cluster adding close to scalar and all that before finally creating Jenkins. I don't know if you would like to have all this information on Jenkins.io or just provide links to references or to documentations where you could do this and just provide content only for Jenkins for installing Jenkins. I don't know short considering all the processes that you would have to do before I even have installation. Yeah, so we've we've had, we currently have one tutorial from a cloud vendor. On Jenkins.io and I'm not sure it's it's terribly well suited. It's from IBM cloud. Most tutorials from cloud vendors for cloud vendors are on the cloud vendor site. I have an opinion there my thought was to say, let's not put a detailed AWS cloud tutorial but I guess it wouldn't harm us. And, and if we have it go in as a tutorial maybe it's the right thing to do. Would it make more sense to have it as a blog post, like the one for IBM cloud that way it's consistent. Oh was the IBM cloud when a blog post I thought we had a tutorial for them as well let me look. Yeah, I thought that we had a tutorial here. Yes, there it is. So we had, but, but look, this is an excuse to say if we said we wanted to take Zenob's notes for Jenkins on AWS, why not. Yeah, I think I think we should it doesn't hurt to me it's like it doesn't hurt to have the action information I would just not put it like in this getting started guy I would put it in a separate like it's like this like the IBM cloud. That was my thoughts. Exactly. The content was much and looking at documentation for Jenkins that I just felt putting it in where there's going to make it feel out of place, because there's a lot of content on AWS and all that so putting it under systems administration or managing Jenkins is, there's going to have a lot of content that is out of context. So, that was my talk, but I think since we have something like this it makes sense to just add another tutorial on data section for Jenkins on AWS. Yeah, I think. Okay, that, and that seems sensible to me I like that if if the two of you are also okay with it that sounds great to me. It felt felt a little weird to me when I initially approved this one because it was the only one of its kind it would be nice to have an additional one. Okay, and especially if there's little tips and tricks for getting started on certain cloud like you know this particular like Amazon cloud these are some helpful settings it's helpful to have that specific things called out. Yeah, I like that I think that sounds very reasonable. Great. So, so Zina, does that address your question. Yes. Okay, now, now long term. I'm not sure how long cloudbies is willing to continue donating and reimbursing me for AWS usage. Do you have a plan, do you intend to continue using that AWS account for the long term. What's what's your, your plan longer term. Well, for now I think it's just for Jenkins. I've probably talked about long term if I'm going to still maintain the account but for now it's just for Jenkins development. Okay, good. All right. So how about if we put a limit on it let's say we'll continue for a month, then discuss further. That all right that way, that way you and I are regularly checking so that my credit card isn't getting billed too badly and I'm sure that my employer is still willing to continue donating. All right. Hey, so next topic was Google season of docs timeline. So today is scheduled as the conclusion of the writing and now the next part do one week from today, I think it's one week from today is that correct. Drive. The oh no it's this Saturday. Okay, so this coming Saturday is completion of the project report. Xenob I confess I'm not sure what. How does a project report look. I've never done this before so what's the format for me I think it's going to be a blog posts probably doesn't contain a full summary of everything we're able to achieve. I like that. Okay, that makes sense. Yeah, that's okay that's very good that it's public. It's very visible it helps the project. Yeah, okay. All right, so we'll see that we'll see that this week then. Yes. We're ready to meet the deadline. So do you think you could show that I'm, I get it reviewed in time could you do you think have it ready before the end of the day December 4. So that we can be sure it's okay. Yes. Hello, I apologize for being tardy meeting or work meeting ran over. Thanks for being here. Markey thanks very much. Okay, so, do you know if you've got. If the end of day December 4 and then Kristen, Markey and me we need to review it so that it's done by end of day December 5 viewed and merged by end of day. Saturday December 5. Excellent. Okay, super. And the next thing is an evaluation of success and the experience and I'm not sure should we just do that begin that in next week's office hours. I think likewise, Markey and Kristen for you for for all three of us. Same thing. Do we also want something is our own assemble our own Google assemble a Google Doc that we use to, to just to collaborate. Yeah. All right, and then the following week we agreed we do an office hours in the office hours will do a retrospective still okay with everybody. Yes. Great. Okay. Anything else on timeline before we go to the next topic. Okay, conclusion. Last time we met we proposed a Jenkins online meetup, December 9 to have Zenab. And I think it would be Zenab present and Kristen and Markey and I act as backup vocalists or as you know as as contributing and helping or encouraging or commenting would that be okay with you Zenab. Yes. So we use the usual web webinar format.  Let me put this as an action item from using up. Mark, when you send that abstract. Are you also going to link just to the steps that need to be taken for presenting the abstract and where to do it and how to do it. Oh, good suggestion you know I hadn't thought of that so that's, I'm not sure I've got a good list of those things. Good. I will draft up a I'll draft up a list and I will shoot it in an email or whichever form you'd like it to be sent. Great. So this is like a checklist of successful meetup items. Yeah, there's a jet somewhere out there that explains how to do it but I can't remember off the top of my head what it is. Excellent. Okay. Yeah, that's super thanks Markey. Okay, great. All right and Z nob is December 9 still okay for you. Yes. Okay, so it's just what are we just under two weeks away so it's a little over a week away now for a little crunch for time but I think better to do it then then shifted out one more week. Anything else on the concluding web on the concluding online meetup. Next topic what's next. Anything that you need to share their Z nob or any topics we need to refine there. This actually, and this has the Thursday time slot has been approved and agreed on Oleg was previously hosting one at a time that was three months earlier than this time but we were getting no attendance. So that change has already been made on the Jenkins calendar. Google season of docs office hours will be Thursday. At, I think it is 1700 UTC, and I'll have to look up the exact time. This meeting will be will be Kent will end December 17 and we won't do more Monday meetings will only do the Thursday meeting. Everyone okay with that plan. Plus one. Okay. That is done. Okay, any other topics we need to discuss today. Nothing for me. Everything looks good. All right. Thanks everyone. Thank you. Thank you. A number of action items. Looking forward to those. I'll conclude the meeting post the recording later today. Thank you very, very much to everyone. Cheers all. Bye.


All cats deserve the best of care, but senior cats are in particular need of special attention for their health issues. As cats age, their health requirements change and they need our help to develop life habits that take these changes into consideration. The term senior has been chosen to describe the aging slash older cat. According to the ASPCA, most cats are considered seniors when they are between 12 and 14 years old. Your veterinarian may use a slightly different timeline. There are a number of things we can do to introduce healthy lifestyle habits to our cats, and it's never too late to start taking these steps. Pet health organizations like the American Association of Feline Practitioners have already developed some great, healthy guidelines for senior cats, and I have my own tips to offer. According to the IVMA, as a result of improved veterinary care and dietary habits, pets are living longer now than they ever have before. One consequence of this is that pets, along with their guardians and veterinarians, are faced with a whole new set of age-related conditions. Like people, aging cats are often faced with a wide variety of age-related, life changes and basic healthy habits become even more important with passing time. Take a look at these healthy habits that lead to healthier cats. The effects of aging. With increasing age, there are many changes to a cat's physiology, behavior and vulnerability to particular illnesses. Physiological changes include reduced ability to smell and taste food, reduced ability to digest fat and protein, reduced hearing, immune function, skin elasticity and stress tolerance. Behavioral changes. As cats age, their behavior alters too, often as a direct result of the physiological changes taking place. The elderly cat adapts gradually to these changes and may not be apparent unless you are specifically looking for signs of aging. Older cats hunt less, spend less time outside, are generally less active and sleep for longer periods. They can have a reduced or fussy appetite, be less keen to play or groom and be more vocal. They also tend to become more insecure and therefore potentially more dependent on you. Other behavioral changes can be seen as a direct result of disease, for example, increased thirst or appetite or aggression associated with pain. Keep your senior cat inside. One of the most important habits you can practice to help your senior cat stay healthy is to be sure that she is not allowed outdoors without supervision. Cats kept exclusively indoors live longer, healthier lives than outdoor cats, according to the ASPCA. Even older cats can learn to be happy indoors if you provide them with enriched environments and give them opportunities to be alone. Pay close attention to your senior cat's nutritional needs. You can hardly pick up a magazine without seeing an article urging you to live a healthier lifestyle. Sadly, the importance of your cat's weight is not always realized. Recent data, available from the Association for Pet Obesity Prevention, shows that 58% of cats were reported to be overweight or obese. Obesity is an extremely common problem in pets and, as with humans, can be detrimental to the health of a cat. Overweight cats have many added stresses on the body and are at an increased risk of diabetes, liver problems and joint pain, just to name a few of the possible consequences. One very basic, healthy habit to develop is to feed your cat a balanced diet and amounts appropriate to maintaining a good body weight. Hello. This video is sponsored by Beemix Pets. Are you looking for high quality cat collars at an affordable cost? Check out BeemixPets.com. Use coupon code KittenLife to get 20% off. Regular Veterinary Visits One very important habit to develop is regular veterinary care. Only about 14% of senior animals undergo regular health screening, as recommended by their veterinarians one. The American Association of Feline Practitioners recommends that healthy, older cats be examined by a veterinarian every six months. Regular testing is crucial, says ah, as baseline blood work can let your veterinarian know when something is abnormal. Cats are masters at hiding disease and may appear well, despite underlying problems. Examining cats more often as they age will help detect problems earlier, often resulting in easier disease management and a better quality of life. Your cat's veterinarian is trained to evaluate your cat's health and well-being and make recommendations to keep her healthy and active. Having a senior cat necessitates a greater focus on early detection and prevention of health problems, like, Weight and body condition problems. Skin and coat quality problems. Oral health problems, mouth, gums and teeth. Eye and ear problems. Thyroid gland problems. Heart and lungs problems. Gastrointestinal, pancreatic or kidney problems. Joint and muscle problems. Any changes in condition from previous visits. Practice good grooming and hygiene. Dental cleaning and maintenance of gum health requires regular veterinary care, but can be helped by you getting into the habit of brushing your cat's teeth, and perhaps with special diets. Asked your veterinarian how you can enhance dental care between professional cleanings. Older cats may also have special grooming needs, particularly long-haired cats. Get into the habit of brushing this hair frequently for a happy, healthy cat. Keep your senior cat active, moving and comfortable. Osteoarthritis is a condition most frequently recognized in a geriatric cat, but it may occur in any cat's suffering from joint abnormality or injury. Exercise and limited use of non-steroidal anti-inflammatory drugs, NSAIDs, can be a great help in reducing discomfort. A number of agents other than NSAIDs may also improve the comfort and mobility of your cat, including oral, nutritional supplements. Use only products recommended by your veterinarian, exactly as prescribed, people medications are not safe for cats and even some combinations of prescribed medications can be dangerous. You can maintain mobility and activity by getting into the habit of exercises or therapeutic intervention with your cat, such as massage and other complementary treatments. It may take coaxing to keep older cats active. But it is well worth the effort to. Drinking. Elderly cats are more vulnerable to becoming dehydrated, especially if suffering from medical conditions such as chronic kidney disease, so always make sure that a variety of water bowls are available in the home and accessible areas away from the normal places where food is eaten. You may need to experiment with the type of container, for example, ceramic bowl, glass or drinking fountain and even the type of water, such as tap water, boiled water, filtered, spring etc. It may even be helpful to add a small amount of water to your elderly cat's wet food. Water bowls, like food bowls, may be more comfortably used by the older cat if you raise it off the ground. Elderly cat-friendly home. All the recommendations for a cat-friendly home will work as well for the elderly with a little modification. There is rarely the need to make drastic changes to the home to accommodate your cat as it gets older but small adaptations to the existing cat resources can make a significant difference to the quality of life. If your cat is finding stairs difficult to negotiate, for example, then it may be spending prolonged periods on one level, either up or downstairs. Ensuring that all your cat's needs are met on that one level will avoid any risk of being unable to access important resources. In order to make activity and movement in general easier for your older cat, it is important that it feels comfortable walking. Lemonade, tiled or wooden flooring can be slippery and old cats can become unstable on slippery surfaces making them less inclined to be active. If you enjoyed this video, kindly press the like button. Also don't forget to subscribe with notifications on so that you don't miss out on videos like this. Thank you for watching.


American Horror Story Delicate Part 2 has continued with episode 7 entitled Ave Hestia and I've got a lot of thoughts about all of the revelations that came with it. But before we begin, I want to remind you guys to give this video a like because it would really help my chances getting recommended to new viewers and if you're not subscribed already consider doing so for all of the latest on your favorite horror properties. So this episode of AHS Delicate is made up entirely of flashbacks and it even contains what is now the earliest event in the timeline of the American Horror Story universe taking place in 42AD. Obviously we've got some immortal witches at play in this season and the more and more they come into the forefront in these episodes, the more that I'm into this stylish yet nefarious coven. That being said, this season has now officially gone completely off script from the novel that it is based on, Delicate Condition, by Danielle Valentine. But if you want to see me go into great detail about all of the differences between the book and the show then consider becoming a member to get my book to show comparisons for both episode 6 and 7. My opinions on the changes from the book that the show is making are actually positive like I like the changes that the show has made because although I really love the direction that the book went with its ending, it was clear to me that American Horror Story would need to add a few extra elements to elevate the material to the level of previous seasons, especially to the level of previous seasons of American Horror Story that contain witches. And I'm also enjoying being in completely uncharted territory having read the book. I have no idea where the show is going with these last couple of episodes. But there is one thing that was brought up in this episode that has me starting to worry that this may be another season of American Horror Story that is all leading up to the birth of another American Horror Story super baby. So what do I mean by an American Horror Story super baby? Well at this point in the series there have been a lot of seasons that result in the birth of a child that is usually gifted with some sort of supernatural abilities. Season 1's Murder House of course was the first instance of that which culminated in the birth of the Antichrist Michael Langton who would later return in season 8's apocalypse where the end of that culminated in the birth of another Antichrist who has yet to be seen again in the AHS universe. And then there's the quote unquote perfect alien human hybrid that is born at the end of Death Valley. There's a line in this episode of Delicate that gave me very bad Death Valley flashbacks where Ivy says that Anna will carry the most perfect creature or something along those lines. And while it's still not 100% certain what these creatures are, they definitely do not seem human at this point in time. So if this season does culminate in Anna birthing the perfect version of this creature and if it ends in a similarly open-ended way as Murder House Apocalypse in Death Valley did then I'm going to be left with a serious case of deja vu. The only logical explanation of why AHS has continuously gone down this path of a supernatural baby cliffhanger is that they must be setting up some sort of AHS baby Avengers. If you throw in Kit and Alma's kids from Asylum, The Gardener Baby from Red Tide, Bet and Dot and Jimmy's Kid from Freak Show, I mean the season just writes itself. Anyways back to reality and back to the episode. Since this episode is entirely flashbacks about what happened to Adeline there is no Anna in this episode which was definitely a shock after we've seen so many episodes featuring her and some of those episodes feature Anna in nearly every scene. That being said having Anna be the focus for so much of the season leaves a lot of characters fading into the background so I did enjoy getting to see some other characters bask in the spotlight. However it seems that even with Anna and Siobhan out of the mix the show still can't give the character of Theo anything to do. They get a couple of lines in this episode but it is not enough for us to actually get to know this character who as of now just seems like an afterthought in the writer's room. I also am missing Dennis O'Hare as Dr. Hill as well as Tabby Gevinson as Cora but based on the promo for next week it seems that we will be getting both of those characters in their long overdue returns. One thing that this episode did do a great job of doing is that it revealed a lot of information but it still leaves enough on the table for us to to be intrigued about these final two episodes. Episode 7 finally makes it clear that Anna is being targeted by an ancient coven of witches with the intentions of creating well we're not entirely sure but we can only assume it's some sort of sinister creature. We also discover that this ancient coven is taking part in the very satanic rituals that Virginia sued Dex senior over but we still don't know why Anna was chosen and we don't know for certain if Siobhan is the supreme of this coven and we also do not know how all of this ties into Anna's awards campaign. If this episode had reverted back to the pacing of episodes one through five and kept all of the things taking place all inside of Anna's head where anything can be interpreted as an hallucination then those final two episodes would be completely set up to be unsatisfying and rushed just like the last season that was split into two parts but with this episode giving us so much information I do have hope that Delicate may be able to avoid the rushed finale epidemic that has plagued so many other seasons of AHS. Annabelle Dexter Jones leads this episode in the dual role of Adeline Harding and Sonia Shawcross and she was nothing short of great in the episode. It was definitely refreshing to have her as a pseudo protagonist in this episode and she gave a really grounded and emotional performance in an episode that featured some performances that were a little off the walls. Cara Delevingne is that loose cannon to Annabelle's steady anchor but in American Horror Story that is definitely not a bad thing. I mean what other show can you be this unhinged and still come across as a threatening villain? Her performance was genuinely creepy at times but I would be lying if I didn't say that it bordered on being unintentionally silly but at this point in the season who am I to determine what is silly by intention and what isn't? Juliana Canfield as Talia is definitely getting better and better with each episode and she's made a really strong impression between episode 6 and 7 and I can't wait to see more from her. Mikayla J Rodriguez too is getting better and better with each episode as she's getting loads more to do. In this episode she's finally been fully unleashed as a villain and although it manifest in just a couple scenes it made me even more excited for what may come next from the character of Nicolette. Another strong point in this episode for me was the music. This season's score is done by longtime AHS composer Mac Quayle who has done some of my favorite television scores of all time but to be honest delicate score has has been a lot more understated than his work tends to be but in this episode there is a scene where the covens chanting becomes singing and we can hear a choir singing their chants and for me that was a really effective addition to that particular scene. It is also a bit reminiscent of the 2018 remake of Suspiria as are the movements that the witches make as they cast their spells. In Suspiria 2018 dancing and spellcasting are intertwined to an even greater extent and the score does have a very similar choral element and conveys a similar tone. I also wanted to note how similar this move by Ivy was to a move done by Fiona Good all the way back in Coven. Another similarity I felt in this episode was Adeline and Sonia's relationship which felt similar to the relationship between Winter and Kai Anderson in Cult. Both pairs of characters are siblings and one of these siblings is in deep with a cult-esque group and the other one's loyalty waivers and they both have some sort of game that they play with each other that seems tied to the cult. Winter and Kai have their pinky game and Adeline and Sonia have their knife game. Overall I think this episode along with last weeks did exactly what it needed to do in order to set up for an ending that has a great load of potential to be satisfying.  So with just a few lingering questions and a quickly escalating conflict, episodes 8 and 9 could turn out to break the rushed ending curse that we are all so familiar with. I really enjoyed this episode, it is taking a lot of risks and treading its own path in the lore of the series and I'm looking forward to seeing how these next couple of episodes wrap things up. Again if you want to see my book to show comparisons for this episode as well as last weeks consider becoming a member where you'll get exclusive uploads like that along with another new members exclusive video where I essentially pull random things out of a hat in order to create a fully randomized season of American Horror Story. Alright with that being said thank you guys so much for watching and I will see you next week.


Why wait? Why are you saying show the back? Okay, maybe I couldn't get it Okay, it was too small Like most people wearing this aren't as big as I am up top, you know what I'm saying I couldn't get a blonde wig Yeah, I'm gonna be honest. I'm just gonna if I go to the bathroom.  Hey Cypher did that yesterday already, so I'm good post a picture on Twitter chat. Should I post a picture on Twitter? Post it. I'll need it for later. Okay. Wait for what later? How did you fit the dragon in that suit? I had to take two trips That's why it took me so long to get Hey, some people like to call me ST peach at home. Okay, I'll post a picture Okay, okay, I'm tweeting it first time Metroid Prime Play through ST peach at home cosplay. I cannot believe I did this. Okay. I tweeted it Yeah, guys, why is everybody yachting me? I try to tag. I try to take But I think he does tags off. It's like what you see. I Actually tried to ask Emmy for a wake, but she's asleep.  What's going on in America is this was going on we all ran out of content You know my parents actually watch my stream sometimes There's like what you see. Hey, I'm gonna be honest. I don't know how they made a suit in my size Thank you It's not even that it's not zipped up like literally I can't zip it up like it won't go Okay guys today. We're gonna start by playing Metroid Prime. Let's do this Gonna love this game. I've never played Metroid Prime before. It's my first time ever playing this.  The YouTube vid about animal sex. What? Why is that recommended off of my tweet? Are you doing a kick stream later?  Thank you for the four months. Demin does thing for the five months 8 of 55 months Thank You Danny green three months fatties thing of the 18 months gujou viper thing for the seven months eat Thank you for the 36 months Hot love streamers are seething right now. Thank you Asian guy with a dog. Thank you for the 300 bits How do you fit that way in the suit? Like I said, I took two trips. Thank you out of flow dethrone the lion three dollars It's staring at me. No, it's not wait. How am I gonna play the game with this on? Check relax on the cake. Okay, it's too many calories. I will never view you the same way after this stream This is your first message in Waiter for dessert. I would like your thickest slice of Persian cake No, no cockham What has happened burning crusade and vanilla are gone. That's what happened Hey, y'all, I don't I don't do this for free y'all Make sure y'all subscribe. It's only five dollars. I know y'all got a twitch prime I know y'all have an Amazon Prime account Alright, yo, I don't I Don't do this for free y'all Thank you, dude, this is actually you claiming it's the suit. What is this? Might have been my first message before but won't be the last if you keep this Thank you, thank you the five dollars dude. What is this? Yes, I do I'm sorry. It's it It's the pleats It's actually an optical illusion. It's the pattern. It's the pattern on the pants. They It's not flat flattering in the it's the pattern It's it's literally it's the pattern. It's like that's what they do. That's how they that's how they sell it Chat please sliding in my DMs. I hear the notifications going off. You remind me of Christmas when I see your bells jingle Okay, relax guys. It's not that kind of channel. Okay. Is that suit comfortable to wear physically or emotionally? What are you coming to Turkey? Unbelievable if you move that leg on accident, we're all gonna regret it. Hey, you know what? I think you're right What did I join into smash? No, this is Metroid Prime not smash Yeah, I keep sliding out of my chair because this the the material on this pants


All right. Well, thank you all for coming today. I know it's getting towards the end of the very last day of the summit, so I appreciate you coming and spending time here. I am Kendall Nelson. I'm a senior upstream developer advocate at the Open Infra Foundation, so I wear a lot of hats, and I do a lot of different things. But one of my favorite things is maintaining the relationships that we have with various universities, which yields a variety of students being involved in our Open Infra projects. So today I'm going to go over the current university partnerships that we have, how to get in contact with me and build out potentially new relationships with universities, and if you are just a student, how you can try to bring that about or other opportunities that you can seize to get involved in our Open Infra projects. So, getting started. First, we have Boston University, who are an associate member of the Open Infra Foundation. So what our programs look like? There are two different programs that are run regularly at Boston University that we have participated in. So the one that happens most often is their Fundamentals of Cloud Computing course. This runs September through December for a single semester, and we've actually had the privilege of having both OpenStack and Cota Containers participate, and what that looks like is, so we have community members propose a project to the professors, and the professors put it in front of the students, and they get a variety of proposals put in front of them, and students are like, I want to work on this one or that one or whatever, and four to five students get paired with a project. We just had a round finish up in December, so that was, well, geez, that was almost six months ago now already, time flies, doesn't it? So they worked on both Cota Containers and OpenStack this last round. I do hope for all of these projects to get more of our, or all of these courses and universities to get our other OpenInfo projects involved, but OpenStack is a very established community. When it comes to mentorship, they're very familiar with how to do that, so that is usually how we get involved first, and then Cota Containers and hopefully Stranglienk someday and Zool as well. So that is kind of the background of that. We've also participated in a senior design course, which was awesome, because it actually ran for an entire year. So we had the same students working on OpenStack Manila and the OpenStack SDK for an entire year. So they were really able to dig in, get involved, learn all of what it takes to work upstream and land a lot of patches. And I think actually one of them ended up getting hired by Red Hat at the end, so it was really awesome to keep that talent around. And that's a goal that I have had particularly this year, making sure that we retain that talent that we're investing in as a community and all of the mentors time obviously as well. So that senior design course was just participated in by OpenStack, and that was actually because the proposal that they had submitted for the fundamentals of cloud computing didn't get picked by a whole lot of students, but then they're like, oh, we have this other opportunity if you're interested in, and Manila was like, heck yeah, let's do it. So that was really awesome, and I would like to see more of that. Our next university, Oregon State University, is also an associate member, and they are a little bit different in terms of how they're involved in the community. So that varies a lot because what Oregon State University provides is an open source lab. And in their open source lab, they hire a number of students throughout. The durations are different. A lot of them, the students will be around until they graduate. So we work with Lance Albertson, who actually is the OpenStack Chef PTL, who you might know, who is also a professor at that university, and he runs the open source lab there. So he will assign interns to work on OpenStack upstream. And so right now we have an intern, Antonia, working on the OpenStack SDK and the OpenStack CLI with Stephen Finukin and Artem Gontrov. And we tend to funnel students into those projects from this university because it gives them a little bit more focus on operations of OpenStack, given that they're working in the lab and managing the cloud there. And it also gives them experience working upstream in the community. So it's a really good like DevOps sort of situation for them. But yeah, we've had one or two students working on that at a time. The Open Infra Foundation used to help fund the money that that intern actually got paid. But in more recent years, we have seen enough support from Oregon State University that we haven't needed to do that, which has been great. We've still been getting that student to work upstream without having to donate monetarily to them. Our third university, unfortunately, all of these universities are only based in the US. But I would really love to broaden out into the rest of the world, as there are universities all over the place. And I know that the US is not the only place that has OpenStack in labs and OpenStack on the mind in various computer science programs and engineering programs. So North Dakota State University is our third university in the list. They are also an associate member. And we've actually been working with them since I think it was 2017 when we first got started. And every year from January to May, they offer this capstone class. And it is very, very similar to the fundamentals of cloud computing course at Boston University, where they focus on a single project for the entire duration of the semester. More recently, it's evolved a little bit more into like defined roles where one student will be a project manager one week, and then they'll be in a different role the next week to get them more exposure to the different roles that they could have out in the rural world. But what's really fun for us with regards to this course is that we're one of the only open source projects that get proposed. And so we're really popular. The rest of the proposals usually come from companies local to North Dakota, which you can imagine are a lot of like, you know, really agriculture focused engineering sort of companies. There are some other businesses, but we're we're the final ones because we're open source. And it's actually entertaining because the way the most recent professor has been addressing this is like, oh, but like, don't you don't you need the students to sign an NDA? Like, no, no, we don't we like, they're going to sign a CLA. But that just means that they don't own their code. But they can still talk about it. And they should talk about it. They should talk about their involvement in open source. And so we try to get them to be involved in writing articles for our super user blog or open stack blog. And this last year, we also had Cota containers participate in this one as well. So we had them write content for the Cota blog. Those articles are not published yet. But I will hopefully get to that soon after this event. Focus was a little bit, you know, on the summit, as you can imagine. So it's awesome to have them participating for as long as they have been. And we hope to continue growing this list and hopefully include Starling X someday. The last university I'm going to talk about today is Carnegie Mellon. And this is actually a really new relationship. Right after KubeCon EU this year, which was in Amsterdam in mid April ish, I was contacted by a former Open Infra Foundation employee who had a contact at Microsoft, who is he's like a part time professor at Carnegie Mellon. And he was like, so I have this summer program, and it's going to be 20 to 30 students. And I need five to six open stack projects for them to work on. And you have two weeks to do it. And I was like, okay, all right, well, I'll see what I can do. I'm confident that we have enough people in the community that are willing to mentor because OpenStack is really focused on bringing new people in. We need help. And we're willing to support them. So I was like, yeah, yeah, we can do this. We can totally do this. It was a little bit touch and go towards the end. I was at like four project proposals. And I had like two days to go. And then it all came in. It all worked out. It was really great. So this is a like summer program that they have running from the middle of May to the middle of August. And I don't know if they usually focus entirely on one open source project or if this is just a new thing. But I was more than happy to have all of these projects represented in this program. And it like, it seems to be going really well. So I am very pleased that it's all worked out. I'm getting positive feedback from the professor. And I look forward to connecting students from this program to member companies as well. More recently, I have been working a lot with Bloomberg. And they are a member company of the Open Infra Foundation. Thank you, Bloomberg. Also, super user winners, as you may have seen during keynotes earlier this week. We are trying to get a representative from that company and hopefully other companies as well to talk to these students working on OpenStack so that we can keep them in the community. Because that is definitely a thing that we have struggled with. We're participating in a lot of these mentoring opportunities. But keeping these people, these wonderful students that add so much energy and insight and new perspective in our communities. So that's something that I'm really, really trying to do as well. So hopefully, if you have suggestions on that, I am more than willing to receive all of those. And so some of the numbers that I've collected. This is like historic data. So throughout the last seven years of my working with various universities, this is how many students we've had go through these projects for both OpenStack and Kata. And it just occurs to me now that the OpenStack is blue at the top and red in the slide. This is why more people should review your slides before you do them live. So obviously, OpenStack should be red and Kata is orange. And someday, Starling X and Zool as well will be purple and blue. But obviously, I haven't mentioned Outreachy yet. And that is a completely separate program not hosted by any particular university, which I will talk about in a little bit. But taking a moment to look at the data is really cool that we've had 15 students from North Dakota State University over the six-ish years. And that doesn't include the very first year we did it. I actually couldn't find how many students we had working on it. I think it was four. But that was before I owned all of these programs and managed them. So it was hard finding that data. Oregon State University, obviously the kind of special one that a student will stick around until they graduate. So they might do it for 18 months or even two years that they're working upstream before they graduate and move on to something else. But we've had five students from there working on OpenStack, 12 from Boston University, working on OpenStack, and five working on Kata. And we're at about 20 from Carnegie Mellon, from what I understand. I need to get the exact details from the professor, but they all got started only a couple weeks ago. So I'm really excited to see how that goes. In Outreachy, we've been participating in at least twice a year for the last decade, I believe. And the number of students in Outreachy varies a lot as well based on the amount of funding that we are able to provide as a foundation and also get from the Software Freedom Conservancy who organized the Outreachy program. And there's another variable too that I am struggling to remember right now. But yeah, it varies a lot. But Outreachy has definitely been the biggest influx of students into our community. And we've actually managed to retain some of those as well. People like Victoria Martinez, De La Cruz, or Ashley Rodriguez, they work on different projects within OpenStack. And we have benefited from the Outreachy project and getting them are like to stick around. So how do you get involved in these programs? Well, if you are a student at a university, you can advocate internally for us to participate and work with each other. So if there are courses like the other universities that I talked about, you know, the course is about working on a project for the entire semester, or maybe it's just a summer program, we can work with that. And we are working with that. So we are definitely able to build a relationship with the professor of that particular course. Please put me in contact with them. And maybe we can get them involved in OpenStack or CADA or one of our other projects as well. If there are specific professors I should talk to, please connect us. There is my email. It will be on another slide at the very end. I have business cards to give out to whomever wants them. The other thing I would suggest is if there isn't a course like one of the ones I outlined, maybe an independent study is something that your university does. Usually you need a professor to work with you on that and advocate for that so that you make sure to get university credit. But it's another thing that we can work together with to get you involved in OpenStack or any of our other open info projects. So advocate. Our other programs that you could participate in if you can't do an independent study or you can't get it going at your university are Outreachy, one of the ones I already mentioned, hosted by the Software Freedom Conservancy. They have both summer and winter North America, but also it would just be the opposite of Northern Hemisphere, but it would be the opposite if you were in the Southern Hemisphere. So it's still summer and winter. And those are shorter term internships. But we have OpenStack involved in that currently and we have future plans for getting Starling X involved. The Google Summer of Code is another option. We have not historically been regular participants of that because it's very difficult to get a project accepted because they have such a huge influx of project applications. But if it's something that you're interested in, we can definitely work with you in proposing a project to that and maybe it'll work out. Historically, we've only had OpenStack participate in that, but maybe Kata containers would have better luck or Starling X or whatever you are most interested in. There are also open info days that happen globally. So those are local events and there are talks there. They're usually trainings, networking. If there's something in particular you want to learn about, let the local meetup organizers know and I'm sure they can reach out to our network and find people willing to provide that training or that knowledge that you're looking for. Lots and lots and lots of variation in ways to get involved.  Like you don't need anybody else. You can just go dig into the documentation. So OpenStack has a lot of documentation. Kata containers has been working on updating theirs. Starling X is also working on an update. And Zul has really great developer resources as well. So you don't really need somebody else, but if you want the like more involved community experience, we do have other programs. So depending on what your comfort level is, what you're interested in doing, do it yourself. We'll be here for you. Questions? If I think we have a mic that you can ask questions at, if you have them, otherwise, you can keep them to yourself and then contact me one of these four ways. And I would really love to hear from all of you, in particular, students and professors or mentors. People interested in mentoring, too, would be really great. But yeah, thank you so much for paying attention and hanging out. We're like, we got like 10 minutes for questions if anybody has them. Sure. Okay, yep. What's the time of getting something ready for the full semester? Say like, I have a seminar in advanced software and I can easily substitute it. Is that doable? Yeah, I definitely think so. So the question to restate for recording and whatnot, what is like the necessary amount of time to get a project proposal for a university course? So you have a course running, it starts in the fall, so you would want it by August. So it starts then. Like I said, for the Carnegie Mellon thing, I got proposals together, six of them together in two weeks. Do I want to do that to myself again? No, not really. But we have all of July and I definitely think we could get you one or two if you want one from OpenStack and one from Kata, we can definitely figure that out. Yeah. Great, thank you. For sure. Yay, more questions. Yay, I love questions. It's more interactive than me just talking at you. A bit like Google Summer of Code, these are kind of student write-ups like at the end of instance of the project planner, typically in this case. So usually we haven't had students involved in the application process to get accepted in Google Summer of Code? No, no, sorry. I was meaning more like the end of the project write-ups like Google Summer of Code. Like what they learned? So we've done that for a couple of the university programs like Boston University and North Dakota State University. We've done that for, I hope to do it for Carnegie Mellon as well. But the Google Summer of Code round, though like one that we were accepted for was before me. So I don't have that information, but I can definitely try to find it for you. Yeah, Stephen? Just to add a point on that, not quite the question you asked, but in my experience, mentoring students have good view of the lecturers. This has been part of the actual course itself is the expectation that they will keep a diary of what they're doing, they'll keep like meeting notes and stuff. And they'll report, generate a report at the end, like describe what they did, kind of the problems they face, how they overcame them, this kind of stuff. So we like I've never been mandated from you guys to get the students to do this, is usually come from the university itself. This has been part of the course itself. I think outreach also requires that that like every week or something, the student does a blog post, because that's like a 40 hours a week internship, basically. So they need to show that they're actively working on the project for 40 hours a week. So that's required for that one. But yeah, that's a good point. That's a good question. Passing it around. Is there any training material that you already prepared that can be shared by the university and use inside the course to prepare a common basis to afford this project? So we usually provide the like contributor guide for OpenStack or for CADA as like a first step. And alongside the, we provide that alongside the project proposal, so that they have like a baseline of the things that they're going to need to get set up. In addition to that though, I can't think of anything off the top of my head. Stephen has done a talk before about mentoring. I was literally going to say that we talked on this in Berlin last year that should be up on YouTube. I know that the Manila guys have done this as well. They, like we usually in SDK and OpenStack client produce a document, a getting started guide that we give to the students that will encourage them to go and give them directions on deploying DevStack, you know, setting up their laptops, the, like a high level goal, and then the more minute breakdown of what we're expecting from them in both work and kind of meetings and stuff. Again, that's mostly done by the mentors themselves as part of the actual mentorship. I mean, we could move it up, but we do it ourselves. As the foundation can support, let's say, a virtual environment that is already available and ready to be used by the students, because the difficulties that usually we find is that we spend lots of time to arrive to a point that the system is right. At that point, the course is almost at the end, and it's sometimes difficult to start with the project. But if you don't do this, they don't understand how OpenStack is structured and how to manage it. So sometimes it's a bit difficult to do both things. Yeah. So we have, like, a variety of things that we've done related to that issue. So we have gotten donations from some of our public cloud companies that are members of the foundation, like Vexhost and Chlora, to donate resources to students and stuff like that. So we're able to make use of their OpenStack clouds. So they're actually working with the production environment. This last time for Carnegie Mellon because the co-professor is a Microsoft employee or contractor. I'm not sure. I think he's an employee. He was able to get us some Microsoft Azure credits so that we could run on top of that. The other thing that we have done to address this issue back when we did an upstream training before the summits called Upstream Institute, we maintained a VM image that had everything you needed for DevStack and the basic tools that you use so that we had everybody starting from the same point when we got into that training. The only issue there is that they needed a laptop that could run VirtualBox and be able to use that image. But some universities like Oregon State University, they have their own lab. North Dakota State University also does and are able to donate resources. But we've approached it a number of different ways. Stick. Oh, Siang Siu, you have a question first. I was just going to say, we have a developer cloud in Iceland which was donated and we get free hosting and free energy in return for hosting open source project development. Woo, we need to be friends, Stig. It does training courses and it does a lot of our upstream development and testing activities. But we'd be very happy to host. Yes. The other piece of this is that there is also a summer project which we will be getting an intern of our own to do which will be to make a sort of a multi-note open stack deployment as a like a click appliance in Asmath. So very cool. It should be interesting towards, you know, the end of the summer that we may have this kind of resource. Awesome. Yeah, we'll talk about that more. I'll buy you a beer. Always. Siang Siu? Yeah. Who and how did the university you mentioned learn that program? Profession or project members? Because some of the university involved in a very specific project such as an OpenStack SDK. Yeah. Then how did they learn that program? So usually I'm in contact with those universities. So like Ildiko, for example, went to an event and she met a professor from UC Santa Clara and she put me in contact with them and I'm talking to them and we'll hopefully have something set up. So it's a lot of really like organic connections with the professors but I'm the one that like manages all of the university partnerships and from there I work with our community managers like Triva Williams from Coddick Containers or Jeremy Stanley from Zool to get them to work with their communities to create the project proposals for these universities. So hopefully that answers the question. Yes? Yeah. Cool. Awesome. We got two more minutes. Yeah. So this is less of a question and more of a comment. Sure. So you can obviously we're doing this at the moment for universities but it will take Oregon State University user that they've got the lab environments and it's an intern that's working doing sysadmin stuff. Yep. There's no reason that a similar model to this can't be used for companies that are you know have a vested interest in OpenStack. Definitely. So we'll say if you have a load of people there it's different for you guys because you're something specific and you've people that would be able to mentor but if you have you know mostly sysadmin guys that don't generally work upstream but you have things that you actually want to get done there'd be no reason that they couldn't reach out those companies couldn't reach out to you and say well we have definitely at an intern that's willing to work on this can you give us something to work on give them something to work on they learn loads they get a mentor they get paid by the company the host company this kind of stuff so everybody profits exactly exactly that's another model yeah good addition anybody else one more minute for questions please come find me if you know of a professor I should talk to I am friendly but thank you so much for coming end of the day on the last day of the summit I really appreciate your attention so thank you