You do need a lot of dependencies, and it's not just Ruby either, one specifically for all NAT people using NVIDIA chipsets here, you actually need the NVIDIA development driver and tool kit as well as Ruby 1.9 and JV 1.6. So I wonder if we're doing it now so we can relax when you get started a little simpler. So before we really kind of dive into it, I want to just challenge everybody. Now when it comes to concurrency, when it comes to things like multi-threading and scaling and Ruby, I swim vehemently against the current. And there's a lot of main asset pros on, you know, preventive architectures and shared nothing architectures. I'm not dismissing that, but personally I think that we are essentially amputating our computers by refusing to deal with threats at a level. There are a lot of complications that can come up, you do have to deal with sharing and everything like that. However, we also have a great tool that helps us deal with threat scheduling and sharing things, it's called the operating system. So the operating system provides a lot of space for us, and there are some things you have to learn about concurrency. And I know that there's going to be, I think so much to use for you as well that are saying to the opposite. So, I think that's good. Okay, so I want to talk about a synthetic example, but I think it's good to have at least some sort of use case. So let's find the area of a tree grain. Once you're in a circle, give a raise. Progress grant, okay, good, everybody's in the recursion. So, now what if in a really old tree, we're developing some sort of tree grain simulator or something like that. And we want to find the area of every tree grain simultaneously. Well, okay, so let's just justify the result of what we're going to do is correctly the area of a light blue circle inside that's higher squared as the entire area. But if you wanted to find the area of just a single ring, say this dark area, the dark blue ring, you can say higher squared, give a raise, five, and then subtract the area of the previous ring, right? And then you get a further ring. So we could have, personally, we could do a separate function. It's essentially the same operation just with different radius every time, so there's a lot of ways to do this. And we're interested in finding the area of every very old tree as fast as possible. So our first attempt, which is very simple, we have our basic formula. Right there, we find a simple function that given the radius and we return the area of just that single ring. This is not recursive, it's just the floating point arithmetic and it returns a raw float value that we deal. Now it's a forwarded given number of rings, doesn't really matter, just put that in a simple for loop and print it to the console and we're done. So that's something to deal with, we don't need any special libraries that are going to be by itself. But we have a lot of additional system resources and maybe we're trying to have this whole database of trees and no one's just going to sort of serialize everything. So we might be saying at any time, this is multi-framing. And so this one is essentially the same thing, we have this deaf ring area at the top of the radius, that function remains unchanged, but instead of the simple for loop, we just have a few more lines. Want us to create a thread, this thread.new right there and then essentially just for say four threads, you chunk the amount of work. So if you have four threads, you calculate 25% of the number of rings for the thread and we'll have the operating system figure out on CPU to run all of these threads on. So there you have some big performance speed up. Then of course we wanted to make an even lower level of times, you could maybe third or fourth attempt using a cross seed, which is almost as fast as you can get without getting insane or any assembler or machine code manually. And this is all in the project and I'm really going to go through this in detail once. Suffice to say it's the same thing just in seeds but it's a little bit ugly. There's this particular file's a single C file and provides both a single threaded implementation as well as a multi-threaded implementation using key threads, which are kind of the POSIX standards. So for all the map users on Linux users here, which comes as all computing, right? So here we go. One knows I'm not a person to ask for it. But it's a little more complicated and you can certainly see that the entirety of the code and you can't get on a slide. So there's clearly some more things to consider. But at the end of the day, when we're talking about, again, Ruby Java, you can't just print anything down about the gem install of Fubar. It's going to usually fall in one of these first four categories. One is pure Ruby, great, hopefully no major dependencies on this one. Secondly, pure Ruby, multi-threaded, so friend-safe, not a lot of gems, unfortunately, thread-safe. And actually, most of the time, when you are looking at a given gem, you won't even save this thread-safe. Please don't do that. De-specify if a gem is thread-safe or not. Third, we have a lot of native, or Ruby gems with native components, data-based drivers, that's, you know, for example, data-based access, you want that to be super, super fast. So a lot of the times, my SQL or SQL life, most of the best drivers, will have some sort of either single-threaded or multi-threaded implementation, three or four are right there, which will generally give us a bit of speed up. And then five, which isn't really code, but this general paradigm of dividing conquer. So, okay, we've optimized our library or function as much as possible, but it's still not fast enough to be able to just steal out horizontally, use clouds, use super computers, do something, and just get it to turn out with input. So let's go to some code now. So I want to run a few of these examples. Now, the first two are gonna be in this first example. This is using a Ruby 1.9.2 Ruby interpreter. So just print your hands, who thinks that the first implementation, the single-threaded one is gonna be the fastest? No way, okay. So who thinks the second implementation, the multi-threaded, runs about the exact same amount of time is gonna be faster? Also, no way. What? Okay, so I'm not sure exactly how to do that. Okay, so, but it's a question. So let's just forget optimization. Let's just actually run this, make sure I'm using the right Ruby. 1.9.2, hurry up, yeah, good job, thank you. Woo-hoo! We'll run this, so it's getting a little bit, so it's running a serial calculation on the CPU with about 16 million tree rings, pretty old tree. Took about seven seconds, or 7.6 seconds, running a multi-threaded calculation using four CPU threads, my system has four lot of CPU cores, and it took 7.7 seconds. It took slightly longer to run a multi-threaded implementation of the Ruby 1.9 than it did the single thread. Let's skip over, I wanna show you, we're gonna run the exact same script in JRuby. Single-threaded using the CPU, five seconds, parallel calculation using four CPU threads, five seconds. So this does vary slightly depending on what else is going on in your system, but the multi-threaded implementation on JRuby took significantly less time than the Ruby, the Ruby 1.9 version, despite the fact that both supported the operating system threads. Okay, so let's skip a little bit of why that is. So first of all, if you think about your CPU and just the kind of way we all write applications on a regular basis, I'm guessing at least nine out of 10 people here if not like 98 or higher percent of you have a system of multiple CPU cores in a single die. That's just standard of these cities, especially for development machines, it's unlikely unless you just only want to spend like $200 of price on electronics on a laptop and probably have multiple core CPUs. Ruby 1.9 just might have to be able to run the whole threads natively because of the global interpreter lock and only use one of these cores at a time. I don't wanna get into the arguments on why that's a good thing or a bad thing, but it's nice to say that for a given reprocess, you're only gonna want to use one CPU core. Where JRuby is capable of using all cores simultaneously because it doesn't have that same limitation. Of course, there are some potential implications and the issues of the long run. But if we go back to our code here and look at the Ruby 1.9 example, this time I'm gonna open Activity Monitor and this is very small, but just keeping a look at the top item. I have 100% CPU usage. And that sounds good, but it's actually bad because it should be 400% because I have four CPUs. You don't have any multi-threaded version. We skip over here. The JRuby implementation just to prove ourselves is doing what we think it's doing. Our CPU, when we're running the parallel ones, let's see if there's a second error, 200% or 256%, 358%. So we're actually, you can see I got a really graphic, but we're getting a big CPU spike. So really out of the box, we're getting some big performance information here. Okay, so the common number of CPUs is usually some of the arguments we can make if not supporting running threads in multiple cores. One is in the block performance. It's kind of nice to have this shared, I think, single-threaded architectures because you don't even have to worry about blocks a little much of the time. We don't have any insane numbers of threads for hosts. For example, if we want to figure out, we're gonna spin off 16 million threads on our operating system, it'll laugh at you and say, no, I'm not gonna do that. That's just way too many threads. We're just in the process. They'll probably topple over. I'm gonna swap in, testing multi-threaded applications is extremely problematic. Everything that you know about TDDBDD starts to break down when you're testing applications that execute in a non-deterministic manner. Unfortunately, there aren't any frameworks in Ruby that I know of that deal with that problem this year. Or this today. So what we're gonna do, and here's a key question, can we just execute every instruction 16 million of them rather than a blue thread or a single thread or whatever, but can we upgrade every single one at the same time just with a different data plane? So instead of running our output of 16 million times, can we run it once? On a CPU, the answer is no. You can't. That's just not what it was designed for. In the paradigm, as we call it, multiple instruction, multiple data, or NIND, and so that's not really plausible in the way that we commonly think of our computers unless you use a GPU. Our GPU looks very similar to the CPU in that a physical die, usually on the video card of your computer, has multiple cores. That's called a core, so on the video terms, it's streaming multiple processors. However, unlike a CPU, where a given core can only run one thread at a time, or it actually can do. Given streaming multi-processors can run entire blocks of threads at the same time, which is very powerful in this particular case. And not only that, but not multiple threads, not hundreds of threads, but essentially thousands of threads, concurrently, this is only using hardware that most of you actually have computers right now that probably aren't ready for it. So using a GPU for a calculation like this, the answer can be yes. Now, for 16 million times, that's a bit of a stretch, but if you wanted to do this a thousand times in parallel, there are some pieces of hardware that can do this on the box. I'll show you some statistics as well, and how hard you can figure out how many threads that your GPU could possibly do. I'm gonna give it a time. I'm gonna say the history stuff. You can grab the slides if you're interested. These are just some examples, and I think they've never worked open the machine before. I'm sure you guys have. This particular one is interesting. It looks like a video card. This is an NVIDIA Tesla. I'm not sure exactly the model it is. It kind of looks like a C1060, but this one has a video board. It's, most of these specialized GPU cards that piece extremely high performance GPUs, they have, you access them with the same drivers that you can use on your mobile machine. However, some of these don't have video cards, so it's like a video card without the video card. So that's an NVIDIA Tesla. You can load these into servers multiple at a time, so you can, many of these streamable processors are system. Here's a, here's a chip from ETI, and their stream architecture, which is similar. Here's a standard video card. Common off the, excuse me, a common off the shelf chip set, chip with every Mac here, probably if you haven't NVIDIA chip in a Mac any fashion in the last few years, and you're not even still ever, you actually have OpenCL, one point open capability of rock, some of the chips with the driver goes into it. You don't have the in the SDK tools, everything, so you need to download all the tools, but you have the hardware and support for it. I appreciate that. So in GPU pros, the SINP architecture ability to execute a single instruction and multiple data points simultaneously you can have potential with thousands of threads, but currently sometimes synchronization which user is lined up, sometimes not, depends exactly on the type of calculation you're trying to do. Much of the time we have more floating point operations than the OCPU despite a different clock rate. And again, at the same point on the bottom, okay. So I'm gonna jump to some Java code here very quickly. Don't sweat the Java code, but I do want to show what happens for the information that comes out of the driver and the system. I don't even realize this is too small. Okay, so I have two compute devices on my machine, one of which is the GPU up here on top. The other is my CPU on the bottom. We look at the CPU to start with. Intel Core 7, i7-CPU, OpenCL 1.0, probably compute units are only quarters down on my machine, that's four, I'll skip the dimensions. Clock 3, but it's 0.8 gigahertz, this is 64-bit architecture, I can out. Well, I'm not exactly familiar with that on these, but I can out somewhere at least 1.5 gigabytes at a time. And then there's another interesting one, the default work group size, the number of threads at each core can execute at times one. And that's per compute there. Where's the GPU up here, and this is standard MacBook Pro, a GeForce GT, did the mic go off? Oh, there we go. Okay, GeForce GT330M, Nvidia OpenCL 1.0 again, it's a GPU type and a CPU type, the number of compute units is six, the number of threads per thread block that can execute all those concurrently is 512. Now, granted, the clock frequency, the clock rate, the rate at which the raw instructions execute on the chip is significantly slower, it's only 1.1 gigahertz, and it's a 32-bit chip also. So even though my CPU is 64-bit, the GPU is 32-bit, and I believe pretty much if not all the popular personal super computer GPU cards as you can grab these still today are 32-bit. It sometimes is a problem, sometimes it's not, but you just have to be cognizant of that fact. The Alec size, I mean how much memory you can consume at a given point in time is significantly lower. And on my video card, on my machine right now, I can only do 128 megabyte on Alec in theory, for some reason it doesn't seem to allow you to go up to that, but I think I can do 64, and it's like a side issue or something, I'm not sure. So those are the two compute devices that I have in my machine, I just went ahead and, and then fortunately, I didn't want to vlog a giant desktop machine on an airplane with me, so I didn't bring a Tesla C1060 with me in a machine, but this is the output capture from that. The next compute device, it's highlighted in bold, so it's a small, but it's 30, the number of threads per group size is 512, that's thousands of threads. The clock rate is a little bit higher, 1.3 gigahertz, still a 32-bit architecture, and the Alec size was a gig, gig-ish at a time. So the difference in throughput between what you have in your laptop and what you can get in all these partial cards or even $500,000 would be huge, and I wish I could have all those here with me today. Okay, so let's, I wanna get to some code. How do we actually start approaching this? So how do we use this interesting chip that we don't have on our machines? So what you probably want to do to get started is rather than, well, you're gonna need some of the native SDKs, so if you have a video machine, you're gonna need the Nvidia toolkit, but you're probably going to want to write to the abstraction layer on top of that rather than writing to the Nvidia SDK directly or writing to the ATI SDKs directly as well. And what you do that is an OpenCL. OpenCL stands for Open Computing Language. It's an abstraction on top of some sort of processing compute unit OpenCL device, device being the term, is it can be either EGQ or CQ because as long as it supports the interface, as long as the interface can be implemented on top of it, you can treat both of those as computing units. And that's why in my simple job at the query my system, it was actually doing an OpenCL query for compute devices in between two, the CPU and the GPU. You get a multiple GPUs per system, you get a multiple CPUs per system as well. Before you jump directly into the code, there's three terms that you should be aware of in OpenCL. The first one is kernel. In OpenCL, a kernel is the code that runs on the compute unit. It's just a function that would run on the GPU. This has nothing to do with your operating system kernel. It's a very poorly chosen word that we should have chosen something else. When I'm saying kernel, I'm really just referring to functions that are compiling and running on the GPU directly. A device, something that computes such as a GPU chip, not all systems are going to support OpenCL for the CPU. So if you do an OpenCL on device query on your machine, you may see a GPU, might see a CPU, might see nothing, might see everything. It's hard to say exactly. And then OpenCL, I'm not currently on our machines, but in the future it is spec'd out to support these network, these clusters of devices. And so while today we're really fairly limited in terms of what OpenCL supports and in terms of distributing to other nodes on the network, in the future we're going to be able to apparently have devices that are not necessarily vocal. So that should allow us to more easily distribute some of these large computational jobs. And then there are device specific terms, and it sometimes gets a little confusing when you're reading the literature because ATI and NVIDIA use slightly different terms and then OpenCL uses slightly different terms as well, so there are some confusing points once in a while. All right, so let's dive into some code. And we've got these nine cases. We've already been through four of them. One and two, which are Ruby 1.9, single-threaded, multi-threaded, and oddly enough, single-threaded is faster for some reason. We haven't done an OpenCL implementation. We did J3B single-threaded, which is four. We also did five. Can we do J3B with OpenCL? The answer right now is no-ish because under J3B, you can't use a lot of the native extensions. It'll complain about stuff. I'm not exactly sure why you can't do that. With J3B, you could load a Java library to connect to OpenCL directly, but if you're trying to load a Ruby library to do it, it's probably not gonna work. I try it. I can get it to work with a Ruby library. However, I can't get it to work with a Java library. So let's address number three, and then we talked a little bit about our C implementation. We haven't actually run it yet. This is what you don't want to do. And this is a Java implementation. Actually, this isn't even the code that executes an algorithm. This is just a setup work for setting up a Chrome 2 execute in a Java app using the Jocl library, J-O-C-L. If you're familiar with Java, it might kind of strike you as odd if you didn't read it. One, there's pointers everywhere. That's kind of strange. We're maligning things. We're setting kernel arcs. We're enqueuing and derange kernel, whatever that means. We're enqueuing read buffers. We're releasing memory. We're creating command queues. It's more of a loop. So this is the J-O-C-L binding in Java to access the Open-C L implementation on your operating system. But obviously, there's a learning curve for this. There isn't really a pre-library, which is just kind of a ruby way where you don't have to get into the details of what. Unfortunately, we do have a few options. I'll talk about the negatives as well. But I want to talk about the pre-way first. So if you have the code, you can bust that out on whatever tool you have. That's too small. So the first one we'll look at is the TreeRings underscore YARDS on the VIN directory. Yeah, I'm going to uncomment a method which is going to run a GPU implementation. The actual code for that. This doesn't have to be gems or anything, by the way. I just did it for this presentation. I was going to make some issues to try to pull the gem out of there. Okay, so the GPU implementation is surprisingly simple. It's relative to the Java version because we have this nice little required barracuda. Barracuda is a binding library for the NVIDIA Cuda drivers and then we can see all. Create a new program that's going to run a GPU. We find a C function. So it's just, I mean, if you've done native drivers before, and I know we have a talk later this morning about running native C code. It looks just like a C function. There are some extensions to it. For example, we have this kernel declaration here which defines to the, when it's compiled, that it's actually going to run an open CL device. It's not just a function for the CPU directly. There's a few other special flags and when we're writing kernels, there are also some special API calls we can make. This particular one here, get global ID is the open CL function to get your unique thread ID for the job. So if you were running this 512 times, this would return, or it would execute simultaneously across all threads, it would return a different value, returning a unique value for each of those threads. We have the same implementation here just in C instead. And then we have an output buffer which is actually going to need to be transferred back to CPU memory. The GPU and the CPU operate in different memory spaces. There are two completely physically different processors connected together with bus. And so when we think of computing normally and running high performance algorithms like this, most of the time we're just going to make implicitly in Ruby, but we're going to allocate some amount of system RAM. And we're going to run all our code on the CPU. The GPU has its own memory space. It has its own chip wide global space for data to be accessed and delivered to. There are also some more specific areas of memory since we have some powerful thread concepts. Each thread block of threads has its own global memory space that it can rank to as well. So you have a few more options. But it's complicated, right? Because now we have separate memory areas. Now it's not just system RAM, now we have GPU memory. But all in all, when this kernel runs, the function output is put into this output buffer and the bearer-cuda library specifically will automatically take care of copying that data from the GPU around to system memory and it giving you a nice array in Ruby. So it's really super simple. The entirety of the GPU implementation is this. And that's it. So, five minutes. So we have a receipt function and then we have, I don't like this. So since I'm a little short on time, I'm going to comment that out. And I also have this native C implementation as well. Unfortunately, you can't, if you want to try it, you're not going to be able to run it without the NVIDIA tools installed because NVIDIA has a specific compiler. All right, let's run the Ruby 1.9 version one more time. Again, this is a synthetic example, right? And I stacked it down. So I know what's going to happen on my specific machine. But the point I'll make is that despite the fact that this is just a common off-the-shelf laptop, the performance speed up for an algorithm like this can be fairly dramatic. And especially for a chip that I don't even, you don't even use on a regular basis. There's a lot of algorithms you can provide. Now, the C implementation, and this is also an interesting example. I'm going to compile this and run it right after the other. It enter. Oops. Just kidding. Rare. Recursors. Yeah. Yeah, comment it on the top. Or delete it, actually. Never declare it. There's a lot of it. So much information. No, I can't even fail. Okay, I'm going to come out the direct GPU version just to, but the point I want to make here is that even with the GPU, the native C implementation is too fast to measure. It's well, it's either too fast to measure or there's some sort of bug or it's not actually doing anything. The first time I ran this I thought, this doesn't do anything. There's some sort of, there's some sort of issue. And so I put in some print lines, just a little thing just down. We're putting in sleeves, but no, this is, this is just way faster. So sometimes, you know, sometimes we shouldn't be immediately dismissive of the C extensions. It's nice to have things in Ruby, but especially in retailing in Ruby 1.9. It's not the language. The language is great. I love the language. I think we all love the language, that's why we're here. But the interpreter out of the box is a bit on the slugger side. I don't think this is a big debate point. So all in all, I just want to post the question, you know, perhaps there's some additional tools in front of us that we're going to use. In fact, I have a few questions. The question is why is the Ruby GPU version slower than the same implementation? Right, so there are some operations that I may not have time to go over to get to these slides, but there are some operations that happen that are not free. For example, when you have to copy large amounts of memory back, and I think it was probably at least 60 days of RAM of data, of result data that has been copied back from the GPU to post memory, that has to go across a copper wire, and that's not a free operation. So if you have output that is four bytes, that's going to look like a split, but if you're copying gigabytes and gigabytes of information back and forth across the copper wire, it's going to start slowing down. The question is if you're going to really scale this out, build a massive hardware farm, is there a particular part that gives you a lot of pain for the buck? I'm familiar mostly with NVIDIA, because I have a C1060 card as a player that I'm not very familiar with, the ATIs string. In general, I've been happy with the NVIDIA cards. They are very, very fast. It's kind of cool too, because if you have a lot of of the hardware and other systems where you can run an open-ceil, you can prototype everything locally, and then just push it to the server farm and execute just so much faster on that. So I would check out the NVIDIA Tesla series, specifically, as a starting point. Made for more. The question is, had I played with the Amazon's GPU, so I think it was like a few months ago, or late last year, Amazon, they have images now where they actually have GPU hardware and that you can access via the image. I haven't heard a lot of hype about developers actually using it. The direct answer is no, I haven't played with it, mainly because the pricing is free, and when you're talking about leaving these systems up for a certain amount of time, I'm not sure I want to spend 200, I don't know exactly how much it is, but it's not the micro-image, for sure. The question is, since we probably don't care about tree arrays, what do you actually use this for? Personally, this came out of a research paper that submitted elsewhere, and it was modified to do Ruby because I'm personally very interested in GPU computing. In terms of web apps, since I think it's probably a lot of rails, so I'll appreciate this. It's probably not something you'd be directly interested in. Really, anytime you have some sort of mathematical calculation that you're doing in parallel with just different data points, that's when it's extremely valuable because the CPU is still your friend, however it just wasn't designed to literally run the same instructions simultaneously, even if it's multi-threaded and synchronized blocks or whatever, it's not literally simultaneous on a physical hardware. So the appropriate use case for something like this is usually some sort of small curl, some sort of small function, usually some sort of simple math, however, that you can run in mass and then return a simple set of data. In practice, one of the other examples that we did in Java space was complete state of integration. So given a node and edge network, where you have, say, 30 nodes, compute the probability of having any given state of all the nodes in the system, it turns out to be computationally difficult because it's two to the 30th states that you have to do. That is a great example of what these GPUs, because you can execute thousands of these probability calculations simultaneously using a GPU card. Thank you. Thank you.


All married too, also talked up. One is something, I mean said, a group. One is something, I work about now, walking walk, opening bank accounts, work about now, time to go to Salibin and marry man want him, also go want him. But inside time, when I was making this law, when I was helping, when I was challenging, I was saying, yume ulmerito yume ga desa strong of law making something, changed the family through the community and go outside again. We would like the women folks to be empowered so women folks are equal partners, equal partners in development and equal partners in change and enabling and empowering women in the vanilla value chain will make a lot of difference.


So now we're going to hear from Winifred, about that fabulous solar car that's outside, so to you, Winifred. Hello everybody, welcome to the Ivy Technic Show and welcome to the last cornerstone presentation. My name is Winifred and I'm a civil engineer, 23 years old and part of the new solar team. I'd like to tell you a little bit more about the new solar team later on, it's important that we first establish what all of us have in common here and I think that it's been somebody telling us that what you're trying to do, maybe it's a PhD, maybe it's a starter or some other difficult study that you're trying to do, it's impossible and you shouldn't be doing it. Well that's what they told us, what we said that we were going to build a solar car and still we did it and we actually became really successful at it and I'd like to show you how we became successful at it and what kind of technologies we use to do that. But I first like to introduce you to the new solar team. So we're nine students from the Delta University of Technology from the Netherlands and all of us have different backgrounds. So there's aerospace engineers, electrical engineers, I myself am a civil engineer, applied physicist, mechanical engineers and so on. And that maybe was the house's challenging part this year that all of us had a different background. But in the end, all those different backgrounds was actually what made us so successful and made sure that we had such a vibrant knowledge. So that's what we are, but what do we do? Well, we build a solar car and we call it a solar car unit. And as you can see, she doesn't really look like a normal car at all. And that's because we took aerodynamics in account a lot. And this is a very interesting picture because there's a lot going on and this picture explains very well what our project is about. So as you can see, there's all these little kids in the background watching what we are doing. And that's good because we're trying to show the world how important it is to keep developing new technologies and also what you can already do with great energy. Because our solar arena, she runs solely on solar energy and she drove actually about 3,000 miles or just under 5,000 kilometers only using the power of the sun. So why do we drive her? Well, there's two locations that we do drive her and all the years, that's in Australia and in the even years, that's in South Africa. So this picture was taken last October when we were racing there. We were racing to about 17 other solar car teams from all over the world and our biggest competitors are Japan, Tokyo. Are there any people from the planet here? Cobble, yes, I see one. They were our strongest competitors and we really had a hard time meeting them because they were pushing technologies as well and they also developed a lot of new things. And we were also racing against a team from Hungary and they were really good at structural mechanics actually. So we learned a lot from them this year, hopefully we're going to put that into practice next year. So what else do you see? You see the kids that we're trying to inspire and teach what we can do with technology but you can also see the team and they all know their place. Every single one of them knows exactly what they're doing and when they should be doing it. So once more I'd like to show you that teamwork is really important if you'd like to accomplish something. And then there's now, of course, all technology and I'd like to tell you a little bit more about those technologies now. So I'm going to take you through all of the nine subjects that are shown here because all of them except for one are in our car and I'd like to start with 3D printing. So what you can see here and I'd like to tell you about 3D printing first because it's one of the first subjects that we gave across this year. It's actually something that we're testing. So this is not in our car, we just use it for testing. And the see-through shell, as you see, it's 3D printed by a working ASM and it was very, very important for it to be see-through because what we needed to do was actually, we put some airflow in it, smoke and I saw how it was moving to determine if we were able to improve our aerodynamics with the shape. We did, actually, it was successful. So we made it out of a firm fire and put that exact shape on our car. We use a lot of carbon fibre, our complete car is made out of carbon fibre and it only weighs about 330 pounds or 150 kilograms. So we're able to lift the car with just four people and move it around if we want to. So this is one of the 3D printing things that we use but it's not in our car and then I'm going to show you what is 3D printed at the inner car and it's a Runaas cowl film. So before we had this, we, the end of the Runaas made of carbon fibre just like the rest of the body. And we really were struggling to make it as thin as possible and still have the rear lighting because you needed to see them and you know, carbon fibre is not see-through so it always was quite thick still. And then we discovered the 3D printing and we were able to put the led lights on like we always had them and then have the 3D printed strip as thin as we wanted to to make sure that all the air flows off nicely and we actually, with those two things that you just saw we were able to prove Runaas aerodynamic performance by about 8%. So that really is a lot and that in just under two years time. So next up, and I think this is the most easy one for a solar car of course, it's energy harvesting. And we do that in two ways with our solar parts. And the first one is regenerative raking which is really handy with all the hills in South Africa so we use that in all the world. And of course, there's the second, the easy one and that's the solar airing. The cells for you serve just normal silicon cells. You can buy them in Super, you have minimum one cells and one of you can buy them. They're just on the consumer market. So that's not special. The thing that is special however is the rest of our solar area. So the leavened. And it took us about four years of research and development to be able to make it and this year we finally pulled it off. We were able to put our own handmade solar panel on our solar arm. So here you can see that they're still testing stuff and so on it's not finished at all. And how does it work? Well, it works when the sun comes in. It goes through the top sheet. Some of it gets in the cell and some of it is bounced back. But because the top sheet is like a prison shade some of it reflects back. And that was what's new. And it actually made sure that our solar area was 1% more efficient than the last one. And some companies even call it the best solar panel in the world so we're really proud of that and it really made sure that we won this time again. So here you can see the R&D process. And here you can see a picture of the final product that you can see. She's shining. So this was actually our first test day in Cyprus. And it was completely working and all the results came out good. Well, amazing. You can develop something yourself and it's actually working. So now you know how the energy comes in. But where is it stored? Well, just like most electric vehicles, it has a battery pack and we make these ourselves too. And it's 20 kilograms of lithium-ion so very small compared to the Tesla for around 500 kilograms, for instance. But it still has a range of 500 kilometers. That's a lot, right? And this picture is very interesting as well because what you can see here is that we opened up our battery pack for the first time to our teams and all the teams were running in and we were trying to figure out what we did so there's the Japanese team, the Hungarian team, the South African team. All of them were trying to make pictures and figuring out what we were doing. Then this one. And you might not really expect this in an electric vehicle. But where do you use the wearables? Why aren't they handy? Well, I'll tell you. You can see the picture over here and these were in their glass. And it's actually in all of the Google Glass. And what we did is that we used the Raspberry Pi so that's where the things comes in and we put it in our car to measure the G-forces on the side of the car. So now we could figure out what speed our car should be taking circuit borders on the circuit. And that came in really handy because before this year we really, really sucked at doing doing circuits. We always, when we had to do that a qualification race we always came in like 13 or 18 or even worse and we still managed to become first in the complete race but just that part of the race we weren't good at it at all. Until this year when we figured this out because our driver could see like he had this Google Glass moment and he'd have a bar there showing red, green, or orange at the time that he was driving so he knew that, oh, how I keep going a little faster. And you know what? He managed to come in second this time. So it was not even it was a personal record but we also brought the track record of that sort of track. So I'm really happy of course the record got broken straight away but still we were very happy with it. So we managed to start second so this was one of our major developments this year. But there's another variable that we use and it's from our sponsor Tontal. It's a smart watch and we can see the speed on it when we're driving so it's a backup for when anything goes wrong you can always see your speed but it's also like you can keep track of if your driver is still doing fine. So that's one of the other variables that we used. Well, electric vehicles this one is all used a bit. But also I'd like to point out the part about sensors and PCBs because we used them too but I don't really have a good picture of them. So if sensors of course are anywhere we use them for instance for our braking discs to keep track of how hot they get and we used to be in these fees they're usually custom made some of them are custom made by word electronics they're on this IE TechX show as well and they're for instance in the steering wheel. So we use them in a lot of parts in Nuna. But I'd like to talk a little bit more about electric vehicles because of course this is an electric vehicle and as you can see it's driving on public roads. It's overtaking trucks. It's driving about 80 miles an hour. It has the performance of a normal car. Oh, we think that's pretty amazing. But even though it's performing like this we don't really think it's ready yet to be on the roads like the cars that you can buy at your local car lot. Why not? Well, we think that you should compare Nuna to a Formula 1 cars and your cars really buy a box for stoppers car at their local car lot, can you? This car we're pushing technologies. We're not making it comfortable. We don't care about that. We just want it to be fast and we just want to try new technologies in it. So that's what we're doing and we strongly believe that those new technologies can be found on the consumer market in a couple of years. Maybe don't use those school glasses Formula 1 racing in a couple of years. We don't know. Maybe for practicing and maybe you'll have that solar panel. Maybe you can have it on your rooftop. Well, we're just saying we think pushing your technologies is more important than bringing this car on the road. But then again I'd also like to make a comparison about mobile phones. So the first enabling mobile phone technologies were introduced in 1941 and it took over 40 years 40 years to have them on the consumer market. And look at us now. Everybody's got a mobile phone. So maybe, I mean, we're a second valley in the land of Tesla. We can bring this car to the market in a couple of years. It's just going to take some time. That's all. So I'd like to take you to the last slide already. And this is a picture of what's really in South Africa. So after 3,000 miles across the finish line we became world champion in solar car racing for the eight time. We were really happy of course. But that's not really where it ends. Because there are startups generated from this. There's a new car already being built in the Netherlands. And that wouldn't be possible if we didn't have our sponsors. Because you can see it on my t-shirt but we have a lot more. We have a brand new from really big to really small. We even have one that breaks fresh fruit every week. And they are just as important as our main sponsor. So it's an open invite to all of you. Like if you're interested to becoming part of this to maybe become world champion for the nine time event. Because we're always open for another sponsor. So I think I'd like to finish up with that about the presentation. But I'd also like to introduce you to the rest of my team. Because maybe you've seen it already. They're the orange t-shirt. And they've been walking around all day yesterday as well. And you can ask them questions whenever you like. But I'd like to ask them to stage and introduce them to you. Come over. They are the faces about these technologies I've just told you about. And they're just students of the Delta University of Technology and they did an amazing job. So this is Crystal. And she did actually she did all the maths this year. So she was figuring out during the race what speed should we be driving to make sure that the battery pack is exactly at the time we finish the finish line. So then there's Siba. Well I told you how important sponsors were and marketing. And he took care of that. Then there's David our electrical engineer and he was the guy that made the solar panel. He did it all by hand. He's our mechanical engineer and he was the one that took care of all the 3D printing this year. So if you have any questions about that and then last but not least there's Beau Salette. These are technical managers and he made sure that all of us didn't get out of control and we didn't get overworked and only did like one research and development project at a time. So if you have any questions come find us at T29 and hope you enjoy the rest of the show.


A warm hello to our guests and the viewers today. Thank you for joining us on SuperJet TV. Can you please introduce yourselves before we begin? Sure. My name is Ryan Walner. I work for Athena Health on the DevOps engineering team, on the private cloud team. And I'm Kevin Chinaman. I'm also with Athena Health on the DevOps team building a private cloud. Great. So we're here to talk about a really interesting topic which is open stack on containers. So could you share some insights as to why you chose to go that direction with your open stack cloud? Yeah, I'll take a stab at that one. So we initially started at Athena by deploying open stack using Miranta's fuel. And we found some limitations around how the network was deployed. And so when we start looking at other options for deploying open stack, COLA came up as being an interesting option because it was basically network agnostic. You could deploy your own network in any way you want and you just put the containers on top, to run the application or to run open stack. Yeah, and I would kind of second that in the sense that we as a company at Athena Health are really moving towards containerizing a lot of things actually, not just infrastructure, but applications as well. And so we kind of have this grand vision for everything being a container and even running open stack on top of other container times and orchestration systems. Great, so those people that are watching, if someone wants to follow in your footsteps, how did you get there? So could you walk us through maybe the high level architecture and some of the steps that you took to get to a containerized deployment with COLA images? Yeah, sure, I mean, so I'll talk about kind of the logical entities of the containers themselves. So we started off really with experimenting with COLA. We were both new to the project, so we really wanted to get a sense of how it's being used to deploy, what the containers look like, what the Docker images are like, seeing how we want to modify it.  So we have automation around deploying those servers and we use Ansible extensively already just for getting those servers kind of ready for open stack themselves. So Ansible was a really good fit when we chose COLA. So after kind of testing with COLA for a bunch, we switched to deploying it on bare metal. And I don't know, we had a few different network architectures that we used. I think that was already there by the time I joined Athena Health. So I don't know, maybe you could talk to a little bit about that. About the network architecture? Yeah, yeah. Yeah, first we started with just plain old Layer 2 VLAN networking and that were great to start with. And then when we want to scale that up, we need to go to more of a spine and leaf fabric. And so most of the stock to players just don't support a spine and leaf network and run it through the host. So that's where we're working on using containers to do that with. Yeah, COLA gave us a lot of flexibility. So it's pretty much bare metal and containers running open stack and all our workloads for developers running on open stack. That's great. So it sounds like networking was a big part of the decision to go this route. What are some of the challenges? They could be operational, they could be just learning curve. Like what are the growing pains to moving towards the direction you moved in? Yeah, so I mean, I could talk a little bit about some of the challenges. I think those are some of the more interesting stories. We moved from a flat VLAN network to the spine and leaf architecture, as Kevin said, actually in the last few months. And we wanted to move all the routing to the host, so that's putting the fabric addresses on the loopback interfaces. And so COLA gave us a lot of flexibility there, but it also was opinionated in ways, meaning the way Ansible reads and gets IP addresses from Ansible Facts are opinionated in the sense that they didn't necessarily work with the way we put IP addresses on the loopback. And so there's a bunch of instrumental ways and challenges around just getting the fabric to work and having it on the deployment in a container. But then with COLA it was another challenge to say, let's make COLA work with this deployment. And it was actually, I think once we found out how it worked, it was kind of nice that COLA was nice and flexible. Yeah, I would kind of echo that too. We had the technical side, but then we also had the process side. So we had coming from a very siloed company, we even still have a whole networking team dedicated to the network. And so helping and bringing them on board to make sure that their vision and our vision is realized within the network as well for the infrastructure, that's been really helpful. And also a challenge to you because they're doing things in a different way than how we would do it. But we learned from each other, hopefully we can grow and become one infrastructure body. So you obviously threw a lot of technology, technological details about how you're moving in the direction you're moving. When you're starting, what were some of the ways you learned? Like could you share, did you use documents or how did you enhance your knowledge around what you're consuming? I was curious. Yeah, so the way that we kind of consumed and learned about these technologies, we did have some background in OpenSec, background in Docker. And I think in terms of using the community really helped we jumped on IRC to get in touch with the COLA community to really learn about simple questions to also harder questions to learn about how the containers were doing a certain thing where all of it being open source helps but then having people who have done this in the community already helped a lot. So those resources at least personally helped me a lot in the journey, I guess. Yeah, and the documentation. I mean, just the sheer amount of documentation that there is around the COLA project, that helped a lot. Because I mean, if you guys are digging into the code to try to figure out how to do all that stuff, it would have taken us much longer than what the documentation provided. And there's been a number of instances where we kind of come up against an issue where we can contribute back to say COLA or maybe there's an opportunity where we wanted to fork because we hit an issue where we want to do that. But I think being part of the community gives us that sense of, no, let's definitely not do that. So let's contribute back whenever we can. And we've really kind of appreciated that sense as well to give back to the community. Yeah, totally agree on that one. Awesome, so in closing, what's next? Yeah, what's next? That's a big question. I think so our OpenStack deployments have been expanding a lot at Athena Health. So we're really in that initial deployment, kind of making sure things can scale, making sure we're going to have a good upgrade plan and day two operations for OpenStack. And we fully, I think, realize that COLA is the way forward. We really like working with it. It's been really helpful to kind of expand single compute nodes, single seph nodes, sender nodes. It's been really nice to work with that. So expansion number one, and I'd say, in the future, we have container orchestration platforms like DCOS where the COLA community has already been working towards deploying OpenStack on Kubernetes. Really a very similar thing for DCOS. Right. Yeah, and then top of that, on top of the container orchestration, is just applying DevOps and CI CD process to our infrastructure. We talked about that a lot, and that's definitely on a roadmap in the next very soon. We want to get into testing, doing infrastructure as code to make sure we're writing the code rights and it's doing the right things and testing all that. Deployments and upgrades and all that good stuff. And going multi-region too in multiple data centers rather than just scanning one data center. Great, well, thank you so much. You're welcome, thanks for having us.


I applied for Harvard for 10 times rejected. When KFC came to China company, I said, 24 people went for the job, 23 people accepted. I was the only one guy. One of the secret sauce for Alibaba success is that we have a lot of women. 47% of our company of women. If you want to win in 21st century, empower others, making sure the other people better than you are, then you will be successful. So I find the women they think about the others more than they think about themselves. China today is the second largest economy in the world. China should pay attention to the quality of the economy.  I think China is moving to that direction. When you have 1 billion dollars, that's not your money. That's the trust society give on you. So many people I talked to at that time for Alipay, they say, this is the stupidest idea you have ever got. But I say, I don't wear the stupid club as long as people use it. Now we have 800 million people using this Alipay. Tai Chi is about how you balance, how you work, like a competition. People say when I compete with eBay, they say, you hate eBay. No, no, no, I don't hate eBay. It's a great company.  Tai Chi is like, you fight here, I go over there. You put it on the top, I go down. It's a balance. Many years ago, I want to change the world. Now I think if we want to change the world, we change ourselves. Change ourselves is more important and easier than change the world. And second is that I want to improve the world. Because to change the world may be Obama's job. Yes sir, my job is to making sure that my team are happy. Because my team are happy, they can make my customers happy. I remember one of the senior management of Walmart. Guys came to Hamzo five years ago. I said, maybe in 10 years we'll be bigger than Walmart. You say, young man, you have a good hope. If you want to have 10,000 new customers, you have to build a new warehouse and this and that. For me, two servers.


Gender discourse are gender discursive. From this module onwards, we are entering very closely in the study of relationship between language and gender. In this module and the following modules, we will talk about what is gender discourse, what is ideology, what is power, what is hegemony. For all these concepts are core concepts of discourse and we need to discuss them and understand them very well. So let's start from discourse and then discourses and then gender discourses. Our place that is also technically known as habitus, this term was used by French sociologist Berdu, habitus. Habitus means our place in society, our position in society in which class of society we belong to, that is our habitus or which race we belong to. This is habitus. So when we have different places in society, we live among people who are like us. We learn their ways of talking. We learn their language styles. We learn their values. We learn their skills, etc. These are called discourses. Discourse is a meaningful social activity. Now any social activity that is meaningful, that has some meaning, that can be in form of talk, that can be in form of them physical or visual form, it is called discourse. But usually here in our case, we are talking about that discourse, which is linked with language, which is linked with our talk. Over the period of time, our talk repeats something and when there something is repeated over a period of time, it gradually turns into ideas and that talk which carries these ideas is known as discourse. So if we want to understand what is discourse, we actually are trying to know what is the history of talk that is behind this discourse, because to know the history of talk means to know the history of idea that was created by talk and that ultimately became discourse. This was the approach of a famous critical discourse analyst, who is known as Ruth Vorder. As people of different social habitus, social positions and locations and geography, they have different talks, they will have different ideas, different talks means different ideas, different ideas means different discourses. So we move from discourse to discourses and these were the views of Badu, how he defines what is discourse. If so, if we follow him, when people of different habitus will have different ideas about gender, if we apply it to gender, so their talks carry gender views, their ideas about gender, how they think about gender. So this becomes gender discourses. If discourses are ideas about word, what is good and bad, what is knowledge, what is power, if we call discourse as ideas, they are like ideology, because what is ideology? Ideology is also a set of ideas about certain things, about truth as we have defined it in some previous module. What is ideology? Our beliefs about truth, our belief about knowledge, true knowledge, that is our ideology. And what is discourse? A set of ideas that is carried by talk over a period of time. So both are almost the same. This was the view of Foucault, another French philosopher, to understand that how discourse is ideology, you will think over a task. I want to involve you in this reflective process. You know, the incident of 9-11, after 9-11 there has been much talk about terrorism. Is this just a talk, our discourse? What is difference between talk and discourse? We have talked about it. Talk is just talk and when you add ideas with talk, it becomes discourse. So you will decide whether it is just a talk or a discourse. Does it based on habitus, is it related with certain positions, certain place or with certain country or countries? Discuss with evidence from media, from books, which are related with the period of 9-11 incident.


Think Tech Hawaii. Civil engagement lives here. Aloha. I am not Mina and I am not Jay. And I'm not Marco. Mina and Jay are somewhere in the great wide world doing things they needed to do. But I have the pleasure as Ted Peck, which I have been for my whole life, to be here with Marco who he has been for his whole life, to share a little time with you and talk about renewable energy and stuff that's happening. Marco? Well I gotta say, Ted, that you look marvelous. You look marvelous. I love your shirt. You're well-quaffed and to be on the show with my twin brother of a different mother to talk about energy. It's Ted and me in energy. So it's so appreciated that and I'm grateful that you were able to be our host today. So thank you so much for coming into the studio and having fun with me today. It's always fun to chat with you. And now that's a literation, not unamonipia, right? It's a literation. That was good. That was a really good, what did you say? It was Ted and me and energy. Ted and me and energy, yes. Not Ted and me, but Ted and me and energy. Yes, very cool. Well let's let's take the dive in this precious time that we have together. So you come with quite the pedigree.  You spent some time deep under the water in some of America's submarines. You are now working, have been working in Hawaii in renewable energy for a number of years, and you were Linda Langell's energy chief if I'm not mistaken under administration for a time in Tibet. So how did you come to see the good side of the force in terms of renewable energy? I'd be really curious to hear your path, how you came to Hawaii and how you ended up doing what you're doing now. Well first of all, saying I have a good pedigree sounds like I'm a purebred dog, which I feel honored that you would call me a purebred because nobody's ever called me a purebred because I'm a mutt, right? But how I came into renewable energy, when I was working for Booz Allen, I was with Booz Allen here in town for 12 years. We started exploring what was happening in renewable energy, and renewable energy just has a lot of upside. From an environmental perspective, from a financial perspective, from an energy independence perspective, there's just a lot of reasons. So when I had the opportunity to go work at the state, I know a lot of folks associate with Linda Langell and I don't have a problem with that, but I do remind people that I was a civil servant, came into the civil servant force via the normal civil servant process, and I left the state not because the Langell administration came to an end, but because I had something that I had to go do. So yeah, so that's kind of how I got into renewable energy. And yeah, I was part of state government for the first three years of the Y Clean Energy Initiative, and it was an exciting and heady time. Well, we're some of you, and before I forget, and I apologize for not not introducing you with your current title, which is that you are CEO of Holu Energy, and how about sharing with me and with us what Holu does and what Holu has been doing in terms of accomplishments over the past year or two? Yeah, so Holu Energy has been around for about two and a half years. We mostly do microgrid development for commercial and industrial clients, helping people figure out what is their best net present value of savings for commercial facilities. That's the approach that we take. We help businesses look at their energy situation and figure out how to stabilize and reduce their costs while at value. And that value often comes from energy storage, doing some things for them that just a pure PV couldn't do or what grid electricity is limited in being able to do. So that's our focus. We're involved in an offshore wind farm development. I've been involved with progression wind since 2012. That's an ongoing process, but most of our focus is on microgrid development in the commercial space. How would you describe where the market is at right now in terms of what Holu is offering? Are we just kind of in the infancy of what we hope to be a growing trend and a growing market? Or do you feel things are well underway? Where do you see the evolution of where we're at? That's a great question. At one point I just saw a Dunkirk in the darkest hour and I've always, the speeches that Churchill gave were really powerful in that time. And one of the things he said, I think it was after the Africa campaign, he said, we're not at the end. We're not at the beginning of the end. We're more like at the end of the beginning. And I think when I think about the area of the build out of a set of distributed energy systems in a particular grid, you kind of look at what the capacity is and capacity is a measure of basically rooftops, the amount of rooftops or the amount of land that you could fill. Also limited by the amount of load that you have. We had an era that has come to an end where that second measure is really by how many kilowatt hours over a 24 hour, actually over an annual cycle, are available to build generation to fill up. That was when the net energy metering process ended, when the NEM process ended in October of 2015. That was really the beginning of the end of that session because that was when they stopped taking applications. But now most of those applications have been built out most, not almost all, not all of them. And so now we're in either a restricted export where like a customer grid supply where you receive some compensation, either customer grid supply or which is CGS or CGS Plus, which is just starting, you know, CGS with some amount of compensation. CGS Plus has a lower amount of compensation. So we're really moving into the era, the kind of the second wave, which is a non-exporting era when rather than treating the grid like a battery that is perfect, you don't have to pay for it. Now you have to pay for it. CGS is analogous to you paying for the grid to store your energy, CGS and CGS Plus. Now you can actually store your energy. And as, you know, that is still kind of coming in this beginning of this era of people self-supplying their power, where they generate the power and any power that they can't consume at that time, they store it and then use it at another time. So it's kind of like the beginning of everybody having a refrigerator for their energy rather than having to go buy food every day. So I think we're kind of at the beginning of that phase, maybe a little bit past, you know, maybe the end of the beginning. That's my Churchill quote. I like that, Twist. I appreciate you quoting Winston. He's quite a towering figure for so many years. He's very pissy, you know. Very pissy. I think you mentioned the Hawaii Clean Energy Initiative early on. I thought when I was taking, we're going on about 10 years now, since that was announced. How would you judge the progress that the state has made towards the goals stated and agreed to in terms of the kind of poll star, which various stakeholders agreed to try to aspire to reaching? What kind of progress or how would you judge the progress that the state has made over the past 10 years? Well, we're on track to hit our targets, right? The next target is in 2020, where 30% of the amount of energy sold by the utility 30% of that comes from renewable energy. And that's even kind of a misnomer of the way I say it, that 30% of that number is the amount of energy that has to be on the grid. Right now, from the RPS report for the HECL companies, they're at just short of 27%, which is about 17% that they're buying from independent power producers and selling to their customers. And about 10% of that is people in the community self-generating. If you look at the graphic that shows the trends over the last 10, 11 years, it's kind of breathtaking how rooftop solar has really moved to be won away the largest single source of energy of all these different renewable resources. I think to be pointed about your question, there's some interesting data. Wind actually has kind of moved up, but here in the last year, it came down a little bit. There were less kilowatt-hour generated in 2017 from wind than there were in 2016. I'm not certain if that's what that's due to. It may be due to curtailment, where there just isn't load on the grid, and so that wind gets kind of curbed back. Or if it just wasn't as windy, I mean, that's very much a possibility. So I don't have an answer. We added a boiler for H-Power, and yet the amount of energy we're getting out of H-Power has not gone up significantly. That's a little perplexing. I think just as biodiesel, the Pacific biodiesel has done leadership, yeoman work, in taking ready feedstocks, waste oil, and refining that into biodiesel. But that's a limited feedstock too. We only have so much trash. We only have so much waste oil. So we really haven't made significant progress in actually growing crops that we're converting into energy. Pacific biodiesel, Robert and Kelly King, they're definitely leaders in that. They're growing sunflowers on Maui and looking to see if that's going to be a crop that pencils. One of the things that came out of not just the Hawaii Clean Energy Initiative, the Hawaii Clean Energy Initiative was started in 2008. 2008 is when we had the big economic collapse that led to the stimulus bill that led to millions, hundreds of millions of dollars, actually billions of dollars that went into new development of energy. And one of the areas that was very promising at the time was algae to energy. Taking algae and being able to process it cost effectively and make oil, and actually not just oil, but oil-based products that are what they term drop in fuels. Basically being able to make gasoline and diesel from algae products that you can put into any kind of transportation vehicle that would need to be adjusted on the hardware side. They were able to do that, but they weren't able to do that cost effectively. And then when the price of oil dropped, that kind of killed those initiatives. So a lot of the folks in the algae world have gone into food and into pharmaceuticals. That technology is there, but it's not yet cost effective. And that was a disappointment. We're about to go into a break, Marco. So why don't we come back and I could finish answering that question after the break and we can further explore where HCI is today. Great. Thank you. Okay. Great. We'll be right back. Hey, Aloha. Stanley Energyman here on Think Tech Hawaii where community matters. This is the place to come to think about all things energy. We talk about energy for the grid, energy for vehicles, energy and transportation, energy and maritime energy and aviation. We have all kinds of things on our show, but we always focus on hydrogen here in Hawaii. Because it's my favorite thing. That's what I like to do. But we talk about things that make a difference here in Hawaii, things that should be a big changer for Hawaii. And we hope that you'll join us every Friday at noon on Stanley Energyman and take a look with us at new technologies and new thoughts on how we can get clean and green in Hawaii. Aloha. Aloha and Richard Concepcion, the host of Hispanic Hawaii. You can watch my show every other Tuesday at 2 p.m. We will bring you entertainment, educational and also we'll tell you what is happening right here within our community. Think Tech Hawaii. Aloha. Okay, we're back. Deep breath. We're back and we're live and it's Ted and me and energy. And again, I'm so pleased to have Ted. I sometimes call him Theodore because it reminds me of Theodore Cleaver and leave it to Beaver. And that was that was a staple back when I was a kid. So once again, great to have you here. Ted, you mentioned earlier on the the word microgrid. I wonder if you could explain to us what what does a microgrid mean and why why should we care? Yes, it's interesting question because people throw around microgrid without really defining it much as Henry Curse would say we talk about renewable without really defining it. The way that I've seen microgrid, I've seen some pretty heavy duty definition of microgrid, but I think it's actually much simpler than people make it. A microgrid is simply co located load and generation with the ability to dispatch, meaning the ability for that generation to meet the load as the load varies a generation can go and meet that load. Now, microgrid is not necessarily islanded islanded meaning disconnected from a broader regional geographic grid. But it can, you can have a microgrid that can islands or you can have a microgrid that doesn't island and where the grid, it works in conjunction with the larger grid to meet load. But but the core idea of a microgrid is co located generation and load with the ability to dispatch and that ability to dispatch means effectively storage energy storage. You could store energy and deliver it as load requires it. I gotta say, Ted, you hit that one out of the park. If somebody had asked me that question, I would be fumbling a heck of a lot more than you did. So now you don't have to mark up. Very simple. If I have questions, I know who I can always fall back to Ted to to provide clarity into the darkness, dark recesses of my limited information. So great answer. So why should we care? What differences are going to make to to ratepayers writ large and to our utility companies in terms of I'm assuming that you hope to and want to see a growing proliferation of microgrids across across our islands. Would that be a fair statement? I think that's a fair statement. I think now I love history as you could probably gather. You know, over 100 years ago, really now about 120 years ago, 125, almost every actually we'll go back to maybe 130 years ago, the world started electricity started as a microgrid phenomenon.  And what happened over that first 30 years of the age of electricity is that industry found that it was more cost effective to have a larger central station generator that would feed power to multiple buildings and be able to cross level load.  And so all of all, you could drive down the cost of energy and then in the beginning of the century, it was industry that went and said, Hey, I think that it's going to be best for everybody. If we are regulated by the states, because that does two things. Primarily, it drives down their cost of money, because delivering electricity is a very capital intensive business. So it requires debt. And so we could drive down our cost of money, we could both drive down the cost of delivered energy, and we could drive up our profit margin as well and be more survivable. You know, profit margin, unlike some, I think I don't think as a bad word, I think profit margin is just, Hey, we did good, and we're getting returned for being good. And what we get for being good means that if we go through a bad turn, we're not going to die because we've got some resources to go. So we're certainly not seeing micro grids just in the state of Hawaii. I mean, it's on the US mainland as well. See, Marco, he's getting ahead of me here. Let me finish. And then we'll come back to that. The bottom line, though, is that central station in a fossil based grid is typically was at the beginning the most cost effective, but renewable, especially solar is by nature, a distributed resource. The sun falls on everybody's property. And so taking that energy from the sun by necessity takes distributed generation and to have distributed generation that is stable, because we're still going to have a grid, you need micro grid where you have the ability to store. And so, you know, rather than, you know, for the first era, the NEM era, PV was a net negative on grid stability. Micro grids turn PV into a net positive because the battery that's associated with that acts as a buffer or a sponge. A grid becomes more spongy, rather than once an electron goes on the grid, it's got to be consumed immediately. With storage, you have a way station that energy can go into either from the grid or from renewable generation, distributed generation, it can go into a battery and then it can be made available when the load needs it. And so it makes the grid more resilient, more spongy. In fact, holu, holu is the word that comes from what the tarot leaf does in the wind and the rain, how it bounces and is resilient. So holu in Hawaiian really means resilient and replies resiliency. I'm very, very appreciative that you explained that because I did not know that was the meaning of the Hawaiian word holu. So appreciate that. So you're making a case for micro grids being in the best interest of pretty much all concerned ratepayers, grid operators, utility companies, what's in your experience here in Hawaii so far in terms of the degree to which you perceive the Hawaiian electric companies being supportive and, and desirous of wanting to see micro grid proliferate? Well, I, I, I do not even deign to speak for the eco companies. I will say that there is a recognition and a value proposition that the commission is seen for distributed services, you know, grid services being made available on the grid so that the grid operator has the ability to reach out to other resources that are likely going to be more cost effective than the central station resources that just bring some of that frequency management, that voltage management, especially on a circuit level.  And well, storage, whether it's in a micro grid or just standalone storage delivers value to the grid, both on a system wide basis, and on a circuit basis. In fact, there's a Kevala analytics is doing a project where they're looking at what really is the value for on a circuit level for distributed assets. Not just, you know, HECO is taking a good step forward, but their approach to date is really on a system level. And I think that that's probably for the utility, the right answer at this point. But once they have kind of done a test drive on a system level, I think the next step would be to look at how do we provide circuit level grid services and value those on a circuit level. What's happening is that the grid is becoming a very complex animal. How how the grid operates with not just central station generation, kind of in a in a spider pattern, all just going out to all the ends of those circuits, but central station combined with distributed generation with storage and grid services coming from not just central station, but from all over the grid.  You know, when I was at the state, we would say, change hurts. Transformation hurts all over. So we are, we're kind of used to it to a degree. But we still have some some stormy weather head and making those changes happen. In the little bit of time we have left, let me ask you kind of a cut to the chase question about storage. So right now, there is a Senate bill 2100 that is going to be heard on Wednesday and the Senate Ways and Means Committee also known as the Money Committee. Do you support the state of Hawaii coming up with a separate tax credit for energy storage similar to, to what would be the ITC would allow for as long as the storage is, let's say, 75 or more percent charged by renewable energy stores? Do you believe that it's a reasonable expenditure of, of, of general fund dollars for the state to be involved in supporting essentially the retrofit of both more commercial sized storage to existing PV and then what I do, which is residential storage to existing rooftop solar. What's your position on the state getting involved in terms of a state, separate state tax credit for storage? So that's a real inside baseball question. So with a minute that we have remaining, let me see if I can avoid answering it well. You stinker. I think that, first of all, the IRS, the federal government, and the state have said that the existing credits that are in place allow for storage as part of renewable energy system. Okay, I'm not going to go into detail because of limited time, but the federal government has provided some, some granularity about what that looks like. The state has basically said it's part of the system and the states protected from over spending money to date because of the credit is capped on a per system basis. The credit is capped. So the real question, 2100 does two things in its current instantiation. One is it starts a decrease of the credit, which is already been happening because the cost per PV per watt has been going down. So that decrease has been happening. The standalone storage has a value proposition. If the state wants to incent it, that makes sense to me. It has a policy strength that at a policy objective that standalone storage is meeting. And so I think it does make sense for the state to incent it by doing a credit for standalone storage. I do question though, you know, a ramp down, you know, we're really less than a third of the way towards our 100% goal. So finishing, so for kind of closing out incentives, which really are there to help us meet our objective, that doesn't make a lot of sense to me. I don't know if I didn't answer that question adequately or not, but there you go, Marco. You did. You did. That's great. And we'll know more in the weeks to come. And I think it's going to come down to a conference committee in early May to see whether something like this gets to the governor's desk. So more, more interesting news to come. It's always fun to get nerdy with you, Marco. I always enjoy that. Twin sons of different mothers. Thank you so much, Ted. It's been great to have you.  And we'll see Mina and Jay here with you next time, I assume. And I'll see you at a cold pancake next time you're on island. Yes, fresh coconut sauce and a little bit of maple on the side, please. There you go. Okay. Well, thank you viewers. I hope you enjoyed e-dropping on our chat. And you have a great week. Thanks again. You're rocked, Ted. Thank you so much for coming in. Bye-bye, Marco. Bye.


Hello everyone, I am Mrs. Meenakshi Shrigandhi from Valshan Institute of Technology, Shalapur. Welcome to the video lecture on analysis of first order system. Learning outcome, at the end of this session, students will be able to explain the analysis of first order system for impulse and RAM input. First order system, before we see first order system, let's understand what you mean by order of the system. Order of the system is the highest power of s in the denominator of a closed loop transfer function. Consider a simple first order system as shown in the figure, which consists of resistor and capacitor on the input side and capacitor on the output side of the circuit. Now the transfer function of any system is given as the Laplace transform of the output to the Laplace transform of the input. So here we are trying to find the transfer function of the first order system. To find the same, we need to find the Laplace transform of the output and the Laplace transform of the input. So from figure, after applying KVL to the input side, we get Vi of s equal to r into I of s plus 1 upon sc into I of s. This equation is marked as the first equation. Now applying KVL to the output side, we get V of s equal to 1 by sc into I of s. This equation is marked as the second equation. Using equation 1 and 2, the transfer function for the first order system is given as V of s by Vi of s equal to 1 upon 1 plus src. That is equal to 1 upon 1 plus ts, where t is equal to rc. Now let's see what is the unit impulse response of first order system is. Now consider a simple first order system. The main task is to find the output voltage when it is excited by the unit impulse input voltage that is Vi of t. Unit impulse mathematically is defined as Vi of t is equal to 1 for t equal to 0 and it is equal to 0 for t not equal to 0. Now the Laplace transform of unit impulse signal is given as Vi of s is equal to 1. As seen earlier, the transfer function of the first order system is given as V of s by Vi of s is equal to 1 upon 1 plus src, which is written as V of s is equal to Vi of s into 1 upon 1 plus src. Now substitute Vi of s in the above equation. In this case, Vi of s is the Laplace transform of the unit impulse response which is equal to 1. After substituting this in the output response, we get V of s is equal to 1 into 1 by 1 plus src. Now taking rc common from the denominator, this equation can be rewritten as V of s is equal to 1 by rc into s plus 1 by rc. Now replacing rc equal to t, the output response can be written as V of s is equal to 1 upon t into s plus 1 by t. Now the same equation can be rewritten as V of s equal to 1 upon t into 1 upon s plus 1 by t. Now taking the Laplace inverse of this, the output response in time domain is given as V of t is equal to 1 by t into e raise to minus t by t. Now here, e raise to minus t by t is a Laplace inverse of 1 upon s plus 1 by t. Now this is the response of the first order system when a unit impulse response is applied to it. Now if we try to plot the signal for different time instant, then we get the response in this way. Where it can be seen that c of t is an exponential decaying signal for positive values of t and it is 0 for negative values of t. Try to think and answer what will be the response of first order system for a unit RAM signal. Pause the video for some time and note down the answer in your book. Let's see the response of first order system for a unit RAM signal. Now again consider the first order system. Now here for the first order system we are giving the input as unit RAM signal. Now unit RAM signal mathematically is defined as r of t is equal to t for t greater than 0 and r of t is equal to 0 for t less than 0. Now if you find the Laplace transform of this signal then the Laplace transform is given as v i of s equal to 1 by s square. Now as seen earlier the transfer function of the first order system is given as v o of s by v i of s is equal to 1 upon 1 plus s r c. Now taking v i of s on the right side this equation is written as v o of s equal to v i of s into 1 upon 1 plus s r c. Now substitute v i of s in this case for RAM signal v i of s is equal to 1 by s square.  Now using partial fraction method this equation can be written as a by s square plus b by s plus c by 1 plus s r c. After finding the fractions we get a equal to 1, b equal to minus t and c equal to t square.  Now taking r c common from the denominator this equation can be written as 1 by s square minus t by s plus t square by t into s plus 1 by t. Here t is equal to r c. After this if we cancel t from the numerator and denominator this equation can be rewritten as 1 upon s square minus t by s plus t by s plus 1 by t. Now applying the inverse Laplace transform to the output response we get the output response in time domain which is given as v o of t is equal to t minus t plus t into e raise to minus t by t. Here t is the Laplace inverse of 1 by s square and 1 is the Laplace inverse of 1 by s and e raise to minus t by t is the Laplace inverse of 1 by s plus 1 by t. Now this is the overall response of the first order system when a unit RAM signal is applied. From this equation you can see that t minus t represent the steady state response and t into e raise to minus t by t represent the transient response. Now after separating the steady state response and the transient state response the steady state term in the unit response can be given as c s s of t is equal to t minus t and the transient term in the unit RAM signal is given as c t of t is equal to t into e raise to minus t by t. Now after plotting the overall response for different time instances then we get the response in this way where it can be seen that the unit RAM response c of t follows the unit RAM input signal for all positive values of t but there is a deviation of t units from the input signal. From this response you can see that this is the actual RAM signal and this is the response which we have got for the first order system after applying the unit RAM signal. So there is a deviation of t units from the input signal. Trying to think an answer for which type of input that is whether it is impulse or RAM does the first order system is stable. Pause the video for some time and note down the answer in your book. Response of first order system. The first order system is stable for impulse input as these responses have bounded output. Whereas the first order system is unstable for RAM input as these responses go on increasing even at infinite amount of time. These are my references. Thank you.