I'm going to try and go through this concept, which is really kind of near and dear to me as I was learning about this interesting thing called free, which I think we've already had a little bit of exposure to if you were at an earlier talk today, the one right before me. I want to think of this talk as an advanced talk in the advanced track, perhaps what I also want to think of it kind of as an FP 102 thing of that I think this is a learning experience that people run into, they bump into free monads and they want to understand what do they mean. And so what I'm going to try and talk about in this talk is sort of one pathway that I kind of took to understand free in an increasingly general space of things and how that kind of intuition was helpful for applying it both in the very practical, how do we use free monads and also what does it mean when we see the word free being thrown around so freely. So without any further ado, let me dive in, oh, one more thing. I'm trying to manage time on this, there's a lot I want to cover but I only have half an hour but also if I go too quickly, feel free to ask questions, I love questions so, yeah, let's get started. So like I said, the thing that I want to talk about, the main thing I want to talk about is ways of seeing freedom. A lot of times we bump into freedom first as a noun, a very particular noun which is written in a monotype font, free, free monads. We can actually take that several steps to make it more and more abstract and hopefully by making it more and more abstract we're going to get a greater understanding of what even that very initial single free monad noun that we started with actually means and why it's so important. So I'm going to walk through three ways of seeing free. Ultimately what I really want to kind of get to is this final one though, seeing it as a verb, seeing it as a process and so if we spend the most time talking about that one I think that's an ideal place to land. And then finally I'm going to be using not real category theory that's like just beneath the surface, I'm going to maybe say some category theoretic words, at least one of them, but a lot of this is not necessarily actually category theory and if anyone is going to take it from a category theoretic perspective, just sorry, but the intuition that you can get by looking from it by using the terminology of category theory, using the like inside of category theory can help you to understand things and so hopefully that's what I kind of want to demonstrate a little bit is how this intuition, language and mechanism can be used to understand things that we play with in programming languages. So first up is free as a noun, which is exactly what we just talked about in the previous talk and what I think a lot of people have bumped into, it's a pretty common pattern just for programming very, it's a tool that people love to use in Haskell and Scala and other functional programming languages. And so what you usually see is you see something like this, free, F-A, return, free, what is this thing? It's a data type that doesn't necessarily speak monad to you except in that it says return maybe. It's not entirely clear how this relates to something that you would think of as monads as you're beginning to build intuition about like maybe or either or IO or something like that. As we talked about just in the previous talk, you can kind of see if you're used to looking at things in pattern functors and recursive functors that it's this gluing together of the identity and the fixed point. Again, it's not entirely clear why this should give you a monad, but it does somehow. In particular, yeah, I don't know, something kind of like identity and fixed put together. So the question I had when I first found this thing, I first started reading like the free package. I started seeing all these people really talking about how exciting free was. I was like, what is this thing? Why does it work? Why is there any real meaning to it? And so we want to look at things more than just the types. The types are a good place to start, but ultimately the operations are where the real work is done. And so if you look in like the free package of the Haskell free package or anything, you'll see a bunch of these different operations. And I want to focus on just these two. The secret is that these two are pretty much the key operations that you need to understand free. You'll have used the first one, lift. Lift is when you take, as we probably should say this explicitly, what you use with free, the free monad is you take a functor, a pattern functor, which may describe different operations that you want to do. And you lift it up and create a monad with it. And then you can use all of the monad structure. And it will be based on whatever the functor that you passed into it was. So the first thing that you use is this lift. It takes your functor argument, whatever your functor is, and it injects it into this free type. And the second one, called fold-free, I'm calling it fold-free, says that if you look at the last half here, the last part that I parenthesized, it's a way of interpreting a free monad, free of some f of a, turning into some m of a, which we know is a monad. And so what I want to begin to shape your intuition about is that if you have functors, you're going to be lifting elements of the functors into the free structure. And then you're going to be folding or interpreting that down into monads. And so free itself exists in between functors and monads by allowing you to take this circuitous path. So before I get too abstract in this, I've given you a little bit of impression. Let's go ahead and run through a really quick example of using this in a more practical sense. I'm defining this functor at the top here called teletype f. It's a pattern functor. It gives me two patterns. It gives me the put-string line pattern, which, if I give it a string and an extra slot, a recursive slot, then that's all of the information we need in order to execute a printing command. And git line is packaged along with a function that if you know what to do with a string, git line will provide that string to the function, the continuation, and you'll be able to move on to the recursive argument. So hopefully, people have at least seen this before. I don't want to spend too much time on this particular example, but if there are any questions about how this is working, feel free to ask. We take this pattern functor, we hit it with free, and we create this thing that's teletype, and it turns out now because of the structure of free teletype is a monad. So ultimately, we'll be able to write using do notation or any kind of monadic structure that we want. We'll be able to write little monadic fragments like this. This is a echo teletype function. It's just going to forever git a line and print it back out at you. And so it looks very much like a normal monad, but we constructed it interestingly just by using this pattern functor and then smashing free against it. Now, the other thing to note here is that I use these two smart constructors. I guess you could call them to build the data types that I'm using over here, the git line teletype and put string line teletype. And these are where we're applying this lift for the first time. So put string line of some line in the unit. If we lift that argument of teletype f. So if this is our regular functor and this is the argument of the functor, when we lift it, that ends up in the free teletype f of that argument. So we use lift to construct elements of our free monad from elements of our functor. So that's kind of the trick that we're using here. The functor is pretty simple. We don't have to worry about what that's doing too much. It just holds some things for us. And then we use this magic free thing to lift the functor up into the monad. Once it's in the monad, we can go ahead and treat it as a monad. We can use do notation. We can use any other thing that operates on monads normally. And the final thing we want to do is we want to build an interpreter. And so if you look at the bottom here, the echo IO function I have, it's an IO monad. And a computation, which is occurring in IO. And we built it directly from the echo TT, which was a monad in teletype. And so we've been able to take this teletype monad and inject it directly into IO, interpreting it as IO. And to do that, we use this fold. Sorry, I made a mistake here. This is what I was calling fold free back on this slide. So fold free applied to this interp thing, applied to echo TT, interprets echo TT as IO. And so the interesting thing we need to think about is what is interp. Interp is simply taking any layer of our functor, a single element of the functor, teletype F, and treating and being able to interpret it as IO. And so if you think of free as being able to take your very simple functor pieces and injecting them into a monad, interp is saying if you can tell me what the meaning of any one of those very simple functor pieces is, I can extend that meaning to your entire monad and allow you to interpret in this case the teletype monad into IO. And so we can see in interp here, all I'm doing is examining the functor. If it's the put string line functor, I have a line that needs to be putted. So I go ahead and apply the IO operation to put a line and then I return the thing inside of the functor. And if it's the get line, then I have this next, which if we remember is a continuation from string to A in this case. So I need to use IO to get a line from the environment, pass it to that continuation and then go ahead and return the A that pops out. There's a little bit of mystery here around what that A is. In particular, it's if you remember, if you, anyone who is in the previous talk, we noticed that we often use the final, the functor argument of types like this recursively and that's what we're gonna end up doing here as well. So what's important about interp is that while it has to play with the values of the type A, it can't examine the values of the type A. It's transparent to interpret. Interp has to be invariant to whatever A is. And indeed, if we look into libraries and look into this interface of free functor or free monads that we've been introduced to, we noticed that we have a for all there which prevents us from actually examining whatever the argument is. So that's going pretty quickly. Hopefully I'm not completely losing anybody who's interested in what's going on with free monads but what I wanna really harp on is the idea that these two functions right here, lift and fold free are kind of giving us all the basis of operations that we need to construct our elements of the monad and then interpret the elements of the monad however we need to. And so we have this path again. We go from some simple place. We lift things up into our free structure and then we drop it down into whatever that free structure like this is the free monad, right? So if we drop it down into monads that's the kind of pattern that we're gonna be looking at. So that's free monad, that's free as a free monad, the noun. One thing I really quickly wanna talk about is I was saying earlier that we're getting very nice embedded DSLs for less. Sometimes I think the pun goes too far and people start to think that free here means that you're just getting all of this monad stuff without paying for it. It's a really good pun but I think there's more to this and that's kind of where I wanna go to next is what does free mean as an adjective. So any questions so far is the stuff that is reasonably well covered by this group. Great. So now I wanna talk about free as an adjective. We've were previously saying free is this data type, this constructor there is the thing of the free monad and it's all these very particular things but you can also say that monads are a type of thing, a class of thing, a kind of behavior that we use a lot in functional programming and the free monad is just the free one of those things and so really free is modifying monad and trying to talk about certain kinds of properties that you can have when you free a monad. So we can talk about free making free monads, the data type free makes free monads and as long as we're talking about an adjective we can try applying it to other nouns that we're used to so free monads, monads if people are familiar with are just things that have a neutral elements, a zero and that you can smash two, if you have a monad, if you have two monads you can smash them together to get another of that same kind of monad and indeed we have a notion of free monads. So if we go and look up, look into a library and ask someone what a free monad is and they'll tell you with caveat, they'll tell you that the free monad is a list and indeed if you look at this kind of, these operations that you have, you can see that they have a similar shape to what we were looking at before. Pure takes any value and lifts it up into, this is not a monad anymore but instead lists a monoid and then fold map, which it comes from the foldable type class, takes a function which converts values into monoids and extends that function over your whole list. So if I'll scroll back really quickly to the previous slides here, if you squint a little bit and you erase some of these extraneous type parameters that we get on functors and monads, then the lift and fold free functions right here are more or less the same as what's going on with pure and fold map and that's the kind of intuition that I want to keep everyone's eyes on. So, oh I did it there too. So free makes free monads. At this point when I was learning things I was ready to accept, great. So lists are free monoids because they have the same kind of structure, the same kind of shape. You lift things into them and you interpret them back down as monoids and so lists must be free monoids. You can also look into libraries and find that you can make free applicatives. You can look into libraries and find free things of all sorts of different kinds. Pretty much any type class you can think of, you can go and find somebody who's made a free construction of it and probably that really is the free construction sometimes or not. And so you get this really strong impression that you can just go ahead and take whatever properties you want and find the free thing of it and then you're done. You have this free thing, you can inject things into the free thing, you can interpret it back down and you get all of these nice separations of representation and interpretation. You can go crazy and talk about interpreters existing all the way throughout your language in all these different circumstances and not be totally wrong. Like you're using the same kind of pattern. You're using interpreters and the representations of languages and it's a really cool powerful trick to find. And I think Haskell does a pretty good job of exposing that to you. Another thing you'll probably learn when you start to examine free as an adjective is that people start to talk about free things as being the largest things or the simplest things. And there's a lot of merit to that. In particular, what I'd like to say is that you can kind of read that out of looking at these two things by themselves because fold free at the end here allows us to convert a free, let's look at this one, fold map here allows us to convert a list of As into any monoid that we want because we have that very, very nice property. In some sense, we must have more information with a list than we have with any other monoid. And so if we wanna make the sum of a list integers under addition form a monoid with zero as the identity element in addition as the smashing together element. And so if we wanna sum a list, then we're just taking all the numbers in the list and smashing them together with addition. And so this list has gotten the largest structure of the monoid because concatenation of lists doesn't delete any data. But when we interpret that as a sum, we no longer can find what were the original constituents anymore, but we still have interpreted that list of elements into a monoid and then gotten the result. And so this is where the intuition kind of comes from where you get largest monoid, simplest monoid, largest monads, simplest monads. And for a while, this is a pretty good intuition that helps you to understand why interpreters work so nicely the way that they do and why the lifting function is enabling you to take any functor and stick it up into the largest monoid or the largest monad. In particular, what kind of forms a problem though, this intuition, it's not wrong. It's absolutely the correct way of doing it. But when it's stated like this, and this is the way that I experienced it when I was first asking the question, what is free, is it's not necessarily completely consistent with everything else you might ask. In particular, when I was first learning about free, or one question you might have is, if I'm looking for the largest monad, well, what is free teletype, the largest monad, and free of any other functor, the largest monad? Are they both the same? They're clearly not both the same if you examine free teletype and free list. The free list is a rosetree and free teletype is that interpreted AST that I worked with earlier. They're not the same thing, but we want the common knowledge you would kind of want you to believe that they're both the largest monad. And at this point, people start saying, oh, the largest monad over a functor, over that teletype thing. And it just began to ask a lot of questions about what largest might really mean. Another thing when I was first learning about free monas is around the same time that the free package in Haskell was being actively developed a lot and built up. And there's another one by a Heimrich Atfumus, maybe I'm butchering his name, I apologize, called operational. And at the same time, both people were claiming operational is the free monad and free is the free monad. And again, if you examine the types, they're not the same. They're clearly not the same. They don't behave the same way. And so there's a question. Like, are they both free monads? Are they both the largest free monad over a particular functor? In this case, both free and operational can take the same functor. So it's even more confusing. What exactly is going on here? Yeah. So at this point, I was personally a little bit confused and I was personally unsure of how exactly one should interpret free monads. What is the meaning behind them? So I wanna get moving and try and finish this up pretty quickly now. The last thing, the place where I really wanna leave us with is this idea that freedom isn't a noun, it isn't an adjective, but instead it's a process. And the way I want you to examine this is if we take a look at the kind of free, GHCI will pop out this and tell you that it takes star to star to star to star. Which is a little bit uninformative, I think. Because really what we wanna be looking at when we think about this is it's taking star to star of functors to star to star of monads.  We have arrows now, so there's processes going on. And we've seen this before if you examine the code straightforwardly. The instance declaration states that we're taking functors and we're turning them into monads and when we turn them into monads, we don't have to have anything else there, we're just doing it for free, right? So now that we have an arrow, it's time to start talking about category theory because category theory almost always helps you when you're thinking of arrows. And so we can examine other kinds of free constructions that we were working with earlier. The free monad takes functors and turns them into monads. The free monoid in this case called list takes anything in Haskell and turns it into a monoid. The free functor, which I'm not gonna go into too much detail here, is taking anything in Haskell which has the type, or the kind, star to star, even if it's not a functor, like really a pathological things like pred A if that's A to William. I hope you can work and convince yourself that you can't make a Haskell functor out of this one, but if you use this type, which you can look up called coionata, you can turn even pred into a functor. And this process is repeatedly going on. There's a source, whatever the basic kind of thing you have is, and then there's a target, the thing with extra free structure. And so whenever you're examining arrows, one thing that you might want to ask is, is there a way to look at other arrows relating to it, in particular, one that goes from the target back to the source? And the thing that I wanna really emphasize is there's a lot of usefulness you can get out of looking at it in this particular way. In particular, if we call the arrow that goes from the smaller thing, the thing with less properties to the larger thing free, which is what we have been doing, then the arrow that goes from the larger thing from monads and turns them back into functors is something that's forgetting certain properties, so we might as well call it forget. Yeah, so the question you might have or the question I had is, forgetting is kind of a clear property, I think. If you've got a monad, we already know that all monads are functors, and so if you just forget about all the operations on monads, you're no longer allowed to return, you're no longer allowed to bind, but you still have the F map that you can derive from those, then you've just forgotten some things, and it's a fairly simple thing to grasp, at least I found when I was learning this. And then that makes you ask the question that if you're forgetting from the monad back to functor is what free doing, simply somehow remembering that structure. And so what you might ask then is if you have some monad and you forget the monad out of it, and then you have a functor now and you free a monad back into it, do you end up with the same structure? And it turns out that that doesn't actually hold, it doesn't hold the other direction either if you have a functor and you free the functor and then you forget it back down, you end up with a slightly different structure as well. And so instead, and this is also perhaps not a really great property to have because it would mean that there's a very strong, like isomorphic connection between functors and monads which you wouldn't expect because they clearly have different kinds of behavior. So instead what we're gonna look at is we're gonna say, let's say we have a monad which is already a free monad of some functor. We don't necessarily know what it is. In this case, it turns out that if we forget it and then free it back, we end up in the exact same place we started. We can do that on the opposite side as well. And this kind of operation where you can free and then forget and then free or forget and then free and then forget and you end up with a free again. There's an item potency here. This is not exactly the definition of adjunction but it's pretty close. It's a property that you might expect of adjunctions. So adjunctions are the category theoretic term that I am gonna very lightly introduce because it is the proper relationship between free and forget. And this kind of operation can give us a lot of insight into what everything else is going on with free. Adjunctions are kind of a scary property of category theory in that people will say things like all concepts in category theory are adjunctions and that means that they're extremely general and difficult to handle. But what I'm gonna do is here's enough category theory to say what adjunctions are but I'm gonna convert that pretty quickly into Haskell because at least we can use this stuff. And so what I'm gonna introduce forget, a forgetful functor in this case or forget is gonna transform monads into functors. And because all of that stuff is ambient, all we're gonna do is we're just gonna pretend if I put forget in front of a monad then after that point we're no longer allowed to use binary return they're gone. And I'm also gonna introduce this type of natural transformations because they're really useful they showed up earlier and they'll help us to talk about this. So natural transformations between a functor F or a type constructor F and a type constructor G at the very least is going to be an arrow, a Haskell arrow where the argument to each one of those things is undetermined like we encountered earlier with the interpreter. And so adjunction in this case the junction that I wrote back here where free is left adjoint to forget is effectively gonna translate into the property that natural transformations from free to any monad from free F to any monad can be converted into natural transformations from F to the forgotten monad. So the monad just as another functor. And we can go the other direction as well. Any natural transformation from functors F to functors forgotten of a monad M can be converted into a natural transformation from the free monad over F into normal monads. So that's kind of scary as well. Hopefully it's a little bit less scary than this one. I don't wanna break those apart into too much detail. I wanna instead just start using them because the claim I wanna make is that forget and free being an adjunction gives you all of the structure that you need in order to understand free monads. And so if this is all the structure that we get from adjunction, I'm gonna use it to construct what we need. So here's just expanding out that type synonym. And then if we take a little bit of notice of the types between backward here and fold free which was what we used to build our interpreters we can notice that they're actually the exact same thing. Fold free is just saying that if we know how to interpret any their functor into a monad then we can extend that interpretation into the entire free structure. And so fold free is exactly the same as this backward conversion from our natural transformations. On the opposite side, if we introduce ID free which is just a specialization of the ID function and pass it into our forward what we're gonna be constraining is we're gonna be turning M into free of F. We end up with our lift function. It just takes any functor and injects it directly into free F. So by seeing this adjunction by seeing that there's a relationship between freeing and forgetting and by seeing that they kind of begin to invert one another but they don't entirely you have to have this whole roundabout free for get free in order to get back to free. We can realize that that's all the structure that we need in order to use free monads. So what is an adjunction bias? Everything. And then the final thing I'm running pretty much over time on my half hour talk here. So sorry if I'm going really quickly but the final thing I wanted to add was there's a really really clever way of representing free structures in Haskell which occurs if we take that backward thing that we were looking at a moment ago and we just flip it. The flip of backward has, it's the same function, right? It's just taking free of a free monad. We're passing the natural transformation as the second argument and then we get any monad back. One of the properties that we can use a lot in functional programming however is that the meaning of something is exactly how you use it. And so what I've kind of indicated earlier is that this fold function is the most general way to use free monads. And so what we're talking about here is we're converting if we were to wrap parentheses around the last two bits of this type signature. We're converting our free monad directly into the way that we use it. And so we can actually define free in this way. I've just taken the latter half of this type signature and wrapped it up in a new type. I have to universally quantify the M because if I wrap up that whole M I don't have any M parameter left so I have to bind it with the universal quantifier. And we get this type here. And it turns out, or we get this type here which can be shown to be a monad, can be shown to be the free monad, can be shown to produce exactly the same structure that we get from the original, the return and the wrap constructor that you might see when you see it in the free package. And in fact, we can do something really interesting and we can now, since monad only exists inside of this type in one place, if we use constraint kinds we can generalize over the constraint and create free constructions of any kind. You can have the free monad plus, the free applicative, all of those kinds of things are suddenly available just by seeing that the adjunction gives you this elimination structure. One of the, the only thing we have to note is that this is a higher order thing because functors and monads take one type parameter. If we want to do it more simply with lists then all of the same process I did before I just replaced the natural transformation with a regular function and you get this free construction again over any kind of thing. So if you replace the C constraint with monoid then this is the free monoid. The real free monoid, not the one that everyone complains about how list isn't really, really the free monoid. This is the real free monoid. And that, that's construction works for any constraint that we want. So there's an example of using it and that's about all I had to say. So hopefully that was at least somewhat illuminating. Hopefully I haven't been able to talk about how we can talk about freedom as being a noun and adjective and then a process and how we can use the property of forgetting to understand a little bit more about free and actually generate a lot of the uses that we have for freedom and even see it in more general light. So thanks everyone.


Hello, my name is Elaine Rauschen, I'm one of the original developers of interactive tools way before they were called that. The new version is really hugely improved and we're so happy to share it with you. So we're going to cover a little bit about what interactive tools are and how you can use them to do interactive analyses in Galaxy. Okay, over in newsgalaxy.edu properly, there's a section down at the bottom called interactive tools and there you'll find all of these different interactive tools that you might want to use. In that section, we have a lot of different options, all of the same ones on live.usegalaxy.edu. But let's get started and let's look for it first at the Jupyter notebook. So the Jupyter notebook will let you import data directly into your environments. Once you start working in Jupyter, you'll have access to all of that data. Here, I've loaded in a CSV file that we'll be working with and some data on sleep of different organisms. You'll note that when the interactive tool launches, you get this blue box at the top. It says, oh, hey, there's an interactive tool starting. If you'd like to wait for it to be active, you can do that from here. And you can also always access them from the user menu. So under the user menu, you'll find them under active interactive tools or you can wait for them to become active in this view. You'll get a link once it's running. The interactive tool view looks like this. Here, it says stop. It's not actually stopped. It's starting. And we can refresh that occasionally to see if it starts. Oh, it's turned blue. It's running. It's ready to go. Let's open it in a new tab. Here, we can see the Jupyter interface load. We have access to a lot of different kernels that we can use if you'd like to use the Python 3 kernel to analyze your data or even an ARC kernel. All of that's available. Okay. In your home here, you have access to a default notebook. Let's go ahead and open that now. You'll note this little introduction at the top. You can use that to access all of the data in your Galaxy history.  You can use the get function that's automatically loaded. To process that or to download it from Galaxy. Let's try that down. So here, this get1 statement actually downloads a copy of that data to the notebook's temporary file system. And then you have access to it here. And you can rerun it. And it'll even use the cache version. And it's a comma-separated dataset. And we can access all of the data. It's fantastic. This makes a lot of this sort of interactive programming a lot simpler. Let's add a new cell. And you can even do things like plotting. So if you have some matplot lib or some numpy plots that you want to make, these are easier to do in the notebooks as well. Things that you just can't really do in Galaxy because you don't have access to all configuration parameters. But here in the notebooks, however, you can do whatever you'd like to in Python. I believe we can call plot.save and give it a name. Here it'll save the figure as out.png. And then you can use the put command to share that back to the Galaxy history. So I'll go ahead and run out.png. Of course, you should get the better filenames always. But if we go back to Galaxy, we'll see that that PNG file is getting uploaded to Galaxy. So this is what really makes these analyses reproducible. This is always the goal of Galaxy, right? Reproducible analyses. But unfortunately, when you move into the notebook world, a lot of that could be lost. So we've added a lot of features to the notebook to make it easy to make them a lot more reproducible. If you want to save the notebook, you can do that as well to make it further more reproducible just by saving the Python file. I'm going to go ahead and save the Python file inside the interactive tool. And then I'll run put, which will upload it also to Galaxy. When those are done, we'll be able to see them directly in our Galaxy history. Okay, now that our file is done, you can see the output and image stored right back in our Galaxy. We also have access to the notebook as well. We can see a preview of that notebook. And if we want, we can also run a new notebook, new Jupyter notebook using that existing notebook as a starting point. So here we can select load previous notebook instead and it will load in all of the code that we were running before. One of the amazing new things about interactive tools, as opposed to your older version, one of the things that makes them so much better for researchers, is that you can use interactive tools inside a workflow as well. So if you have a workflow, here we'll create a simple workflow from what we're doing right now. I'm going to call this testing IT workflow. You can add the notebook to your workflow. And then when you run the workflow, you'll notice that it has included data and it also has outputs of a notebook. So when you run a simple workflow, when you want to process your data as a final step for that, you can have it, you can send all of that data directly to the interactive notebook. Here I'll run it with the CSV file that I was using earlier. And whenever that workflow is done, it will let me know that there is a notebook running and then I can go look at that notebook and look at any of the analysis that's happening in there and, you know, change any visualization. So I said, summary step for your workloads, fantastic way to open up your tools to or open up your data to new visualizations. But Jupyter is not the only kind of notebook. Under interactive tools, there is also RStudio, another extremely popular notebook. RStudio works exactly the same way as the Jupyter notebook, except it does not come, it does not let you select data ahead of time. So once you launch the RStudio notebook, you'll be able to load data the same way that we did with Jupyter. When it's ready, again, you'll see click here to display and we can access RStudio. RStudio comes with a lot of most common packages that you'll need pre-installed. So things like ggplot2 and tidyR, dplyr, all of these come ahead of installed ahead of time, which makes it easy to get started with your analysis. As usual with RStudio, it's just like the desktop RStudio, you have access to all of your normal functions. But now you have access to a new gxget function which can be used to fetch data sets from your history in just the same way as the Jupyter notebook. So here we'll read the gxget1 into a data object and this is based on the first element in our Galaxy history. It'll go fetch all of that data from Galaxy and we'll be able to preview it, seeing all the same data that we saw in Galaxy. You can do your plotting as well when you're when you produce some data that you're happy with. Say you pull out one column and you maybe write that out to a file, just as an example. We'll save out a csv file and then we can use the gxput, just like Jupyter's put command, to save back the csv file when we're done. We can also use the gxsave command in RStudio to automatically save the R history of the commands we run and then all of the R data, any of the data objects we've loaded. And then we go back to use galaxy.eu. You'll see that you have access to all of those uploaded files as well once they finish processing. Here was the csv file we loaded and then here are the RStudio data sets. So with RStudio you can also install packages. If you're missing anything just use the install packages or you can use mamba if they need dependencies as well. But we hope you like it and give it a try. If you're looking for training on interactive tools there's a lot on the Galaxy Training Network just like for interactive tools. There's a couple on development and administration which may not be so interesting but if you want to see lots of examples look for everything type interactive tools. Here you'll see primaries. So how do you use RStudio in Galaxy? You're visualizing climate data. You can learn a lot from there. The Galaxy Training Network has also made a lot of R and Python data science tutorials easily available from within these notebooks. So here you'll find this data science survival kit. Foundations of data science. And a lot of these are tagged things like a Jupyter notebook or scroll down a little bit. R Markdown notebook. And if we look at any of these we'll see the section at the top which talks about how to access those files from within a notebook. And if you have an RStudio or an R Markdown document they'll give instructions on launching RStudio and then copying this code into the RStudio environment where you can then run the notebook or see the training materials directly in Galaxy. Here I can demonstrate that quickly. Under my RStudio active environment interactive environment I can paste in these two lines. It'll download this R Markdown and CSS file if it's needed. And here I can see a preview of the training materials. This training this is completely interactive as well. So all of these cells here can be run. So the same as the R Markdown documents are the Jupyter notebooks. So here for instance SQL with Python. You have a Jupyter notebook available. Actually I have two versions. I have one version with solutions and one version with that solutions. If you're teaching this of course. But simply running this command in your Jupyter lab terminal. You're the launcher you can find a terminal. And then I'll just paste in this. Download this notebook. And I'm not trying in right. Oh I am. It's just not showing up here yet. Then you can open up these notebooks directly inside Jupyter notebook. All of these are Galaxy training materials up to you know the normal Galaxy training material standards and you can play around with the code. You can follow the tutorial in full directly from within a notebook with interactive code rather than from within the training materials. Or you might have to copy and paste back and forth all of this code. So it makes it for a really nice experience. Really loving integration of training materials and notebooks inside Galaxy. We think this is a fantastic system. So we'd love for you to try them out. Please let us know if you have any issues.


This study demonstrated the feasibility of using focused ultrasound to modulate motor signals in a non-invasive way. It also showed that ultrasound can be used to treat tremors safely. This could lead to new treatment options for patients suffering from motor-related disorders. This article was authored by Yevgeny Kim, Jun-Joon Kim, and Hyung-Min Kim.


What's going on everyone? Sam here with late in sports cards, ripping one box of 23 at Bowman Chrome University football breakers to late hobby for Kyle Pete. It's a good luck here. Kyle, let's do it buddy. Yeah, I want to see the McLean ahead. All right, starting off with a Jackson Arnold, early risers for Oklahoma. Yeah, these will all be sleeved and top loaded. Kyle, we've got Jam Griffin first, Noah Whittington, Blake Shapen, Shaz Preston first, Corey Foreman first, or in shock, Emmanuel Henderson to 25 for Alabama. Nice one there, Kyle. We've got Monterey Baldwin to 299. Oh, Bradley, nice. Jared Verst to 399 for FSU. Tori Horton to 399, True Purple for Colorado State. KJ Jefferson, that is going to be base first, or not first, but base auto for Arkansas. Nice one there. And CJ Donaldson Jr. to 299, True Green for West Virginia. Nice one there. That will do it for your Boxster. Kyle, thanks again for the sport buddy. Get him right out to a moment.


A vegan diet is not suitable for human consumption. Point blank. You saw it. You felt it. Tell it how it is. All right, guys. Welcome back to the channel. If you're new, my name is Bobby. Guys, today we're going to react to John Viennese latest video, health changes after eating meat and animal foods. Wow. Didn't see that one coming. Let's have a look. Hey, everyone. John Viennese here. Welcome back to another video. So today I want to go a little bit more in-depth into the health benefits that I personally experienced since adding animal products. Frank, is that you? What is up, fairy boys? Since adding animal products, animal foods, meat back into my diet. I like that he used the term animal foods because that's what it truly is. Animal foods are food. Vegan foods are not foods but products. And before getting into it, I want you guys to understand this very important point that the health changes that I've experienced have been experienced by people adopting many different types of diets and lifestyles like the carnivore diet, a ketogenic diet, a low-carb diet, a whole-food plant-based diet, a raw vegan diet. There are many people who have- The difference being obviously in terms of vegan, raw vegan diets, you do experience certain benefits, but they are short-term. On the other hand, eating animal foods is sustainable and a long-term solution. We see this all around the world. We see that veganism is not sustainable because people drop out after a while. You include it. I've experienced similar health benefits to what I've experienced recently doing many different things. So let's remember that it's not an all-or-nothing approach. It's not a one-size-fits-all. And the best we can do is try to figure these things out for ourselves, try to get help from professionals, get blood work done, test your microbiome. Trust the experts. I really don't understand why you keep a liberal open-minded approach if you experienced it on your own body. Now you see it. Now you know what works and what doesn't. Why do you think people have been eating meat forever? Why do you think there hasn't been one vegan civilization? It is simple. It does not work and you felt it. Stop trying to cater to everybody and spread the message of healthy eating, which is obviously including meat. Check for gut bacteria. All these things is going to be helpful to pinpoint what the root cause of your health issues is going to be. I'm not going to try to go into diagnostics or symptoms too much. I'm just going to go through my personal experience, what I've experienced, but just know that everyone is different. Yeah, everybody is different, but how different? How different is a cow from the other? How different is a dog from the other? Of course, we have specific needs because we are humans. However, biologically speaking, we are humans and that's pretty much all you need to know. Therefore, there is a species specific diet for the human. Very, very simple. You cannot reinvent the wheel and try to feed the human species something that is not suited for, aka plants. We'll say was the biggest shift was my cramps. So I talked a little bit about this before, but my body cramps were off the charts, unusual. And no matter how many minerals I was adding in, how many whole foods with magnesium, potassium, adding in sodium, zinc, all these things, it didn't really help my cramps go away. In fact, it got worse and I couldn't even fold my arm up like this or stretch my neck up like this without getting a cramp. It is always an absorption issue. Vegans will tell you plants have protein too. It does not matter what they have. The question is, can you absorb it? In 99% of the cases, you cannot. Beta carotene. Beta carotene is beta carotene. If you can convert it into vitamin A, that is a totally different question. The same applies to the minerals just because you find certain minerals, certain forms of minerals in plants does not mean you will absorb it. My throat area or my bicep and forearm area, which is really debilitating because once you get that cramp, I'm not able to lift things. I'm not able to carry my kids. So in the beginning, when I got back to eating animal foods, I added in some oysters or mussels and some eggs and just a small amount. And essentially, a week later, my cramps were gone for the first time in a very long time, many years. And looking it up, trying to figure out different things, I couldn't pinpoint a reason to why that might be the case because I was getting all the minerals. I was supplementing with B12, all the things that you might potentially be getting less of. Yeah, but yet again, you've been supplementing. John, I've been supplementing. We've all been vegan. We've all been through the same rabbit hole. The point of the story is you're still lacking nutrients on a vegan diet. How about cholesterol? How about vitamin B12? How about vitamin D3? How about carnitin, et cetera, et cetera, et cetera? We find out now, science shows that we need a certain combination of minerals and vitamins in order to support healthy metabolic function. For example, it's not only enough to have calcium in order to have healthy bones. You need vitamin D3. You need vitamin K2. And you need everything balanced out in the right ratio at the same time. That is the point. This is why supplements will always be only an additive. They will never replace real foods. Real foods, on the other hand, come in the perfect ratio. You don't have to mix and match. Combine rice and beans. You don't have to do any of that. If you drink raw milk, for example, it's the whole package. It comes with all the vitamins, all the minerals, all the enzymes, everything you need to rebuild your body. It is absolutely beautiful.  A vegan diet is not suitable for human consumption. Point blank. You saw it. You felt it. Tell it how it is. I'm eating a whole-food, plant-based diet. And so still to this day, I cannot pinpoint exactly what it was that caused my muscles to cramp that bad and what it was in the oysters, the eggs that made the cramp go away all of a sudden for the first time in many years. The second extremely important thing was joint pain, especially around the connective tissues between my forearm and biceps and elbows as well. And so that was really disturbing because it was a constant pain and it was on both arms. And it didn't go away. It made lifting and carrying the kids really painful. So that was something that just got worse and worse progressively. When I started eating meat again, it got a little bit better, but it didn't go away completely. And that... Of course not. Your body already took damage. Period of eating meat only lasted a couple months before I went back to plant-based and after months and months, it progressively got worse. It spread to my wrist. My shoulder got really, really painful as well. And so... And that's why I always say, if you want to eat a vegan diet, eat a vegan diet, but you will suffer. It's very, very simple. In this world, there are laws. People do not want to adhere to them. People want to be their own gods. They want to make their own laws. And that is fine. You can and then you will suffer. He had all kinds of pains, all kinds of issues and then stopped veganism, saw a slight relief, but apparently did not suffer enough. So what did he do? Go back to veganism and prolonged his suffering. People have different pain thresholds.  This time around, when I added protein from animal sources and increased my animal food intake, I saw a lot of benefit to my joints. So in April this year, when I added a few eggs a week and these things to start experimenting with small amounts, I didn't really notice that much of a change, but more recently in the last month and a half or so, when I've added a lot more animal foods and protein, I have experienced a lot of benefits in reduction of inflammation in my joints, no pain whatsoever when lifting. I just got done with a gym session, lifting heavy weights, my shoulders with my wrists, all these things that I haven't been able to do for a very long time. And here you see it again. During veganism, nobody tells you how they feel. Everything is fine. Everything is perfect. When we had the talk with John Venus, I think it was on both podcasts, once on Primal Ed Shelf and once on my channel. John Venus told us that he doesn't feel a difference, that he always felt great on a vegan diet. The digestion was always perfect. He had no ailments. When we told him explicitly what kind of issues we had on the vegan diet, he said, Oh, well, guys, everybody is different. I didn't have any issues. Everything feels fine. But once they quit veganism, out of a sudden they realized, wow, everything was terrible. This is why I tell you, do not trust anybody on social media. Me included, just try it for yourself. Let no man teach you. Many different things that can contribute to joint pain and things like the onset of arthritis and all these things. And it's really hard to pinpoint, but essentially, most of the time, it's higher rates of inflammation. Now, I've had my blood work checked as a plant-based dieter or a vegan for a very long time. Every year I do a checkup. It's never been a problem of inflammation for me personally. So a lot of people, you know, try to mention oxalates or the lack of absorption of different minerals, et cetera. He is still stuck in that pseudo-scientific mind state where he tries to figure out the truth intellectually. I was there myself, believe me. I was super obsessed which mineral, which vitamin, what's the real reason behind it all? What's the meaning of life? The beauty of truth, on the other hand, is, truth is intuitive. It is written in your heart. You're not going to find it in your intellect. You don't have to have a science major in order to understand right from wrong. Once you felt it, once you experienced it, once you found the truth written in your heart, you will realize veganism is wrong. And then it does not matter anymore. You will have vegans shouting, show me the studies. And you will just chuckle because it's pointless. Everybody that is healthy and sane knows we need meat in order to be healthy. But there's so many variables and it's not an easy thing to pinpoint. And finally, the last most important health benefit was mental. And I felt amazing mentally as a plant-based person, vegan, whatever label you want to be. A plant-based person, a birthing person, person who has his or hers period.  Man, just say it. You've been a vegan for five, six years. You've been a vegan. You went to vegan festivals. You talked at those festivals. You were a vegan preacher. You were more vegan than 99.99999% of people watching you.  Wow. But once I started seeing things that didn't match what I thought was going to happen by eating this way and myself and other people that I know personally in life, you know, it changed many things. It was an identity crisis because I identified as a vegan person that was eating this way for ethical reasons. I'll rest my case. Why do you now cater again to the vegans and call yourself a plant-based person? Compassionate reasons.  But coming over to the other side of that was amazing. A lot of, you know, lessons learned about myself. And one of the biggest things that it made me was a more compassionate human being. I was always, you know, consider myself compassionate. But I'd say my compassion went to another level even though I understand that sounds very ironic or nonsensical considering that you're eating animals and so that would be considered unethical and not good by who. And I also understand how it is to, you know, be a meat eater who is making fun of vegans saying that vegans are unable to be healthy and unable to make gains and be fit and that kind of stuff. Which is true. I was there before going vegan in the first place like 10 years ago. So I feel like because of being in all these positions my compassion has grown a lot for humans in general and understanding that our opinions what we believe is just based on our own experience what we see out there what we study the sources the science that we trust that we take as truth all these things create our perception our belief systems our moral compass and so I understand how we can look at certain people's experiences viewpoints and instantly judge think it's wrong think it's bullshit all that kind of stuff I understand that so much more than ever before and so I think I understand the dilemma now it seems that John still believes that everything you see out there is subjective beliefs he doesn't seem to grasp the concept often universal truth a truth that always holds true no matter what the subjective position of any human being on this planet right now for example we find ourselves in the new normal and right now the majority of people believes that this new normal is normal however there is still an opposition what would happen if the whole opposition gets persecuted maybe that will happen and they die off so now you're left with a civilization the newworldly civilization one could say and let's assume that they all believe the same they believe that this new normal we have to run around with a mask we have to get a booster shot every couple of months this is indeed normal does that mean then that it truly is normal that is the question my answer is of course no just because the majority of people believe something doesn't make it right one of my favorite historical characters and the greatest samurai to ever live Miyamoto Musashi said truth is not what you want it to be it is what it is and you must bend to its power or live a lie do you see how powerful that is but that presupposes of course that there is an universal truth that you will have to bend to not your truth not your subjective truth not your personal opinion or belief but the truth the easiness of the current moment the what is status there is such a thing and once you realize that once you internalize that you will be able to tell right from wrong yet again not on an intellectual level oh this is right because the peer-reviewed study showed it this won't lead you anywhere if you're trapped in your intellectualism if you're trapped in subjectivism you will suffer yet again that's how it helped me mentally is just get a lot of acceptance for the human condition and how we perceive the world how we embrace different ideologies identities and how we carry them forward this is what I'm trying these are all the things that I've tried before and this is what is working at the moment and I am not claiming to be an all-knowing guru of any sort we're all so different you're not and there's so many dietary environmental emotional spiritual factors that play a role in our health outcomes so it's not as easy as a lot of people think it is yeah but actually it is it really is easy find your way to God when you find your way to God you find your way to truth once you found your way to truth that truth sheds a light on everything and you can clearly see what is right and what is wrong what is false and what is true I do understand that most people nowadays are so disconnected that this concept for them sounds totally far outman but it's not the truth is written in your heart and God can give you eyes to see it's really that simple it is so simple that it's mind blowing to me the simplicity is something that hits you right in the face once you encounter it and once you encounter the truth there is no denying it any longer and nothing can shake you yet again I have to refer to the current times no matter how much propaganda is thrown at you if you know what is true you know what is true no matter what the environment your family the media tells you every single day over and over again collectively being brainwashed essentially you still know right from wrong and this is the beauty of returning to God yet again because you see right and wrong everywhere not only in certain facets of your life but everywhere politically sexually nutrition wise etc etc it is absolutely beautiful all right but this is it for today's video long enough yet again as it is I always try to stay around 10 minutes but never succeed stop talking Bobby so therefore I believe I said enough if you like this video leave it a thumbs up if you haven't subscribed already guys please do so and if you want to support this channel all the links are in the description box below have a look check it out help a brother out all right but this is it as always may God bless you all much love and peace


Awful time, boss. Awful time. Ooh, that's a hot mug, guys! Hey guys, this is my review for the Green Mile. I've been on a little bit of a stretch the last little while with books, mainly e-books, and I've been listening to a lot of Stephen King horror novels, and obviously the man is known for his throwaway into thriller and horror, but he also has some very well-known non-har stories. Shawshank Redemption being a very big one, Heart of Atlantis are, in this case, the Green Mile. Now, the Green Mile isn't in my top 10 all-time best, maybe in my top 20, top 30, but I would say that the story itself is probably in my top 10. The Green Mile is one of the most quintessential late 90s movies of my generation, of my life. I can't tell you how many times I've watched this film on television. Any time it would pop up, my mom and my brother and I would usually always watch it to the end, and this movie is three hours long, so that whole process, depending on what channel we were watching on, would take four hours, four and a half hours, probably. But there's a reason to that, and it's because this is one of the best Stephen King-based films ever made. Now, some would say that right now the best Stephen King adapter from book to film is Mike Flanagan. In the 90s, and even a little bit into the early 2000s, most would say it's Frank Davenport. Frank Davenport, otherwise known as the guy who created The Walking Dead Show and then was immediately kicked off of it, had a fantastic run with his career in the 90s and a little bit into the 2000s. He also directed The Shawshank Redemption, which is heralded as the number one movie of all time on IMDB. The Green Mile is number 28, but it definitely deserves that number. This film follows Tom Hanks's character Paul, who is the head of E-Block, the execution wing where he oversees the care, the facility, and the eventual execution of Death Row inmates. The lime green refers to the green tiling of the corridor that the prisoners have to make their final walk to Old Sparky on the day of their execution. And in a nutshell, I would almost say that The Green Mile is a very simplistic story dragged out over three hours, but that's a massive disservice to what this film is. It questions the idea of capital punishment, but it doesn't give you an answer. It just gives you good pros and good cons, but it leaves it up to you to decide just on the whole basis of it. It's not really meant to give an affirmative action or an affirmative question to whether it's right or wrong. Basically, it makes you think and discuss the whole idea of it in general, because in a place where there is nothing but death, such joy and life is found there because of John Coffey and his contributions to The Green Mile, both with people that he meets, as well as the guards that he influences in this place. Everyone in this movie is huge 90s pedigree, including Tom Hanks, Barry Pepper, Michael Clark Duncan. Sam Rockwell is in this too. You're on 20 years before he would go on win an Oscar and the cast all do a fantastic portrayal of their characters. They're simple. There's nothing supernatural aside from John Coffey, but even then that's really toned down in terms of what we used to from Stephen King. It's really based on the characters, their emotions, their feelings on the whole actions of taking care of these men who are death row inmates, their murderers, their criminals. But in this space, they try to have a respectful relationship despite who they may be. They've already been given their sentence. No need to give them any more grief. No need to give them any more stress than what they already have on their shoulders. And then they get given a man who has the ability to heal people and who also might not be there under the right circumstances.  It's such a good movie. My mom would cry throughout this whole movie because of such great emotional moments. And I just showed it to my wife, who's never seen it before. And I was getting teary. Michael Clark Duncan's portrayal as John Coffey is so heartwarming and so emotionally retching. You feel for his pain in his actions and his movements and his emotions. He's a very simple person. He's a simple minded character. He has such presence, not just because of his size, but his display of emotion. And Tom Hanks has given it right back. But he was just given out bangers. He had done saving Private Ryan the previous year. So he just killing it. And there's nothing I can say that's negative about this film, the whole presentation from the set design, to the acting, to the dialogue, to the mannerisms, to the music, which was done by Thomas Newman. It was kind of interesting hearing the opening notes of the movie and thinking, wait, I recognize this. I recognize that balance that flow of the orchestra. And lo and behold, it's Thomas Newman. Thomas Newman is probably one of my favorite composers of all time who has never gotten the award recognition he deserves. Seriously. Look at how many times he's been nominated. I enjoy this movie immensely. It is a huge part of my film going love. I can watch this movie over and over and over again, from John Coffee walking into the building to the absolute disdain I have for Percy. He's one of my most hated characters in film, one of my most all time hated, because the actor just does a fantastic job of portraying this character, the emotion that you feel when you start to learn about John Coffee, and then the final 40 minutes just just tears and as well as Mr. James. This movie will make you care about a mouse, a mouse. Tom Hanks would then proceed to make you care about a volleyball the next year. But in the end, the Green Mile gets a seven out of seven from me. This is one of my all time favorite movies. It's in my top 30, if not top 20, for sure, fantastically well done, fantastically directed. Frank Davenport does a great job at adapting the book into the film. Actually, that is a pretty interesting topic to be had who has done it better. Frank Davenport hasn't touched Stephen King since the mist. And now it's been Mike Flanagan the last little while. So I'm kind of curious because Davenport does a really good job of being respectful and keeping a lot of the elements in the film and kind of keeping it the same way. Whereas Mike Flanagan has been able to turn and change things but still be respectful to the book in a way. So that's actually an interesting conversation piece might have a mark on for something like that. Anyways, guys, that's all for me. I hope you enjoyed the review. If you did leave a like and if you're interested in more subscribe otherwise, see you guys next time. And with any luck, we'll see you guys soon.


at the cutting edge, I'm Jay Fidel, this is Think Tech, and we're talking about the cutting edge here on renewables. We're talking about how the wheels go around with Marco Mangelstorf, who is, what do you want to call it? Energy guru, and that doesn't change. In fact, he becomes more of a guru all the time. Welcome, Marco. Thank you, Jay. The key is not to have that edge cut too finely because blood may be drawn, and the key is also to keep the wheels going around and around so they don't fall off. So with that, thanks so much for having me back on you and I go back a ways, and I won't get too gushy, but thank you. I remember the day I met you.  And sure enough, I was right. I was right about that. Anyway, let's go.  I've heard about you. I've heard about you. Say that to all the Marcos. OK, let's talk about renewables. And you did send me a piece from the Washington Post on this. Now, it all sounds right to me, and the proposition is renewable energy can avoid blackouts. And I have my reasons for thinking that, but what are your reasons for thinking that? Well, before I take a dive into that, I just want to remind everybody that in eight days count, in eight days from now, a really big shoe will be happening at the Public Utilities Commission with the long anticipated, long waited for evidentiary hearings on the fate, the fate of Juan Jujo Nuan, not too far from where I doth sit at right here. So that'll be Tuesday, Wednesday, Thursday, and Friday with all kinds of stirring and exciting witnesses and cross-examination. So those of us hardcore will do the best we can in the trenches reporting from afar, but we will have more to talk about in two weeks from now. So evidentiary hearings in eight days count them. Wow. And how long did you say this hearing was scheduled to last? Four days. More days. That should be more than ample. Yep. And you have any predictions or expectations? Oh, let's see. Not right now. I'm going to wait for the evidence to be presented in the evidentiary hearing and see how that all goes down. And I promise you, dear Jay, that in two weeks I will have more from which to opine. OK, fair enough. All right, let's go to our other issues here. And there are several of them. We probably won't get through all of them. But let's begin with the one that I think is really important, and that is how renewable energy has a benefit, a special advantage in avoiding blackouts, because we should be concerned about blackouts these days for any number of reasons. So I guess I would ask you first, why should we be concerned? And what can renewables do about that? Interesting that there were two really juicy pieces and press over the past handful of days. One was in the Wall Street Journal. And the other yesterday was in the Washington Post. The Wall Street Journal, essentially, the reporter Catherine Blunt, who is one of the better ones in the energy being as far as I'm concerned, she noted that our grids writ large are more fragile than we doth believe, more fragile than we'd like to believe. And whether it's cyber attack, possible cyber attack, whether it's inclement weather, whether it's extreme weather, we need to harken back no further than what happened last year about this time in Texas, which is a debacle for ERCOT, the main entity there that deals with power generation distribution across Texas. So interesting to see, again, the contrast between somewhat of any penny, it's gloomy in terms of grid stability, and we're living on borrowed time, and then this piece yesterday in the Washington Post that was very favorable in terms of looking at a report that came from Mark Jacobson, Professor Mark Jacobson, who is a professor of civil and environmental engineering at Stanford University, not too far from, in fact, where I was born in Palo Alto. So I don't think anybody could claim Stanford as a liberal hotbed of Alexandria Ocasio-Cortez or Bernie Sanders Green Deal-ish ideology. And I've seen lots of reports on reports over the decades, Jay, and I've kind of jaded in terms of, OK, what's next? What does this report say? But I thought this coming from Jacobson to Stanford did catch my attention. And the backdrop of this is that utilities across the country have been raising arguments, making arguments for a number of years now, that renewable energy has some, they don't call it fatal flaws, but has some significant weaknesses, principally in terms of their intermittent. And of course, who's going to deny that sun doesn't shine 24 hours a day, which it does, and nor does the wind blow? A lot of places 24 hours a day. So that's true. Renewable energy is often can be, at least as solar and wind, as described as intermittent. And they've used that as kind of a hammer. It's not a sledgehammer, it's a pound of renewables saying, this is not good enough. We can't rely on renewables. And then the canard, the false claims by a number of people on the right last year who said, well, it was the wind generator's fault that ERCOT went down. Well, that's just penly not true. It was much, much more to do than to the failure of conventional fuel sources, coal, NAC gas, and nuclear that caused ERCOT to collapse with a small role being played by wind because of the deep cold, the freezing cold, the subzero cold. You're saying you're talking about voices on the right, Marco. I think that has to include the oil and gas industry because they don't really want to see renewables. They're making a lot of money, getting a lot of government benefits. They don't want to lose. And so they will speak against renewables every chance they get. Well, and that gives me a chance to tell one of the stats that I've had in my head bouncing around for decades or for years at least, Jay, which is, if you do a comprehensive analysis of federal funds, federal support going towards energy sources over the past decades, 50, 60 or more years, and you look at the breakdown of which industries got the biggest chunks of money, let it be said from this day forward or remind people that renewable energy, under the rubric of renewable energies, which is non-nuclear, non-coal, non-gas, non-oil, has received maybe 10 or so percent of all federal subsidies. So the federal government has clearly over the decades made its priorities known and very tangibly in terms of supporting non-renewables over renewables. Is Joe Biden changing that? Well, Biden right now, we know the story of Build Back Better, which is a, it's dead for all intents and purposes. And with the likes of Senator Manchin and a Kirsten Sinema from Arizona, it's not likely to come back in anything resembling its form or form. So I think the best we can hope for is kind of piecemeal, piecemeal pieces from Build Back Better that will stand a chance of getting adequate votes in the Senate through reconciliation and then get it to the House and hopefully get it to the President's desk. So I mean, one thing that I'm tracking, my narrow parochial self-interest here for a solar is that there is a proposal to extend the investment tax credit, the solar tax credit, the federal tax credit for 10 years and also bump it up to 30% and have it stay at 30% for those 10 years. So right now, FYI, that tax credit is 26% and barring any new legislation and becoming in the law, it will go down to 22% in 2023. So that's the only one I'm really aware of because I have a strong interest in it. So again, the playing field, as I've said many, many times, say the playing, the energy playing field is not level, it's never been level, it's never gonna be level. I'm not a Pollyanna to believe that, you know, justice will be done in absent big muddied interest throwing their weight around. But let me go back to this study here. This couple of things that I just wanted to quote because what's so juicy about this study is that it really takes on this argument of fossil fuels. We have to rely on fossil fuels. We can't go completely renewable because we'll be at risk. The grid will be at risk. And amongst other things, according to Jacobson's team, a switch to renewable energy would lower energy requirements. In other words, lower overall consumption, apparently. Reduce consumer costs, who's gonna argue against that? Create millions of new jobs and improve people's health. I mean, that's almost kind of apple pie, chicken soup, two cars, two electric vehicles in the garage, right? So that almost sounds good to be true. But again, this is coming from a well-respected engineering professor at Stanford and his team. And then I also wanted to quote another professor Cornell who chimed in on this report in terms of responding to the reporters inquiry about, well, what do you think of this report? Robert Howard, this is named Robert Howard from Cornell. And he says, quote, this is an incredibly important study. The fossil fuel industries continue to argue that renewables are dangerous or a dangerous experiment. And that grid stability and reliability will continue to bend at least in part on fossil fuels. Here, Jacobson and his colleagues clearly show that it's not the case at all. So, it remains to be seen as that's gonna play out, of course, now going from the macro of what's possible, let's say across the United States, especially the mainland, what's possible here across our state, our isolated state, where there are not gonna be any inter-island power cables in my lifetime or for the first time. Inter-island power cable would make for greater resilience, right? It would help against the object of this discussion, possible blackouts, because you have other sources that you can draw down upon, as opposed with separate islands, you don't have that. And on the mainland, you do have that. You can draw it down on resources from other states, other areas, we do have the capability. Let me intercede one point that I wanted to make. And that is the fossil fuel facilities that we have, we meaning the country, but also Hawaii, involve these power generation systems that have existed for a lifetime for 60, 70 years. Right here, we have that, but it's on the mainland too. It uses fossil fuel. You don't have to put new money into it, except maintenance. And everybody in the industry wants to stick by that old infrastructure. Well, this goes right to Biden's point, doesn't it? We have to renew our infrastructure. We're not doing that. We keep on using these facilities, power generation systems that are 16, 70 years old, maybe more in some places. So that's, if you're looking for danger, that's what I call danger. If a system like that goes down, exactly how are you gonna fix it? If it was made, for example, with parts from Germany, as many of them are, or parts for companies that have gone away, how are you gonna get the new parts? How are you gonna replace the turbines? How are you gonna replace all those generator systems? The generator sets, they're huge, they're possible to replace. And so if they go down for any reason, it's a big problem. The other thing is you say fragile, and I certainly agree. We have fragility all over the country and we have fragility here. And I don't think the public really knows how this can affect us. And so Spencer Abram was the Secretary of Energy back in the 90s. And there was a big outage in the Northeast. And the press came to him and said, you're the Secretary of Energy, what's wrong with you? How come you didn't prevent against this? And he said, let me explain to you about infrastructure. You build it and you have to renew it. You have to build it again. You can't just rely on it decade after decade because it goes down. And we here in the United States in the Northeast, we have not renewed our infrastructure. This is what you get. If you wanna avoid blackouts, have new infrastructure and have new technology. We haven't done that, we still haven't done that. And we're not doing it now. Well, I mean, how lost that you on there. I mean, yes, for the most part, we're still in kind of an Edisonian as in Thomas Edison, going back what a hundred plus years of a hub and spoke design and layout in terms of utility grids where you have the hub as a power plant and then the spokes go out from the hub, hundreds, if not thousands of miles, right? Especially on the US mainland where you have very high voltage transmission lines crossing East to West and North to South. And of course we don't have that here. The other thing I wanted to mention as well is that in terms of grid modernization, because that's kind of a phrase I think that's not too much of a mind-bending phrase, but pretty clear in its content that point electric to their credit and public utilities commission have been prioritizing grid modernization and are moving forward diligently in my opinion with modernizing our island grids. And one of the ways to do that, and of course again, I'm very biased in this regard because I've had 40 plus years in renewable and distributed renewable energy rooftop solar to be precise. One of the trends that we're seeing more so than anywhere else in the country in the United States is essentially what I call these nano power plants. I won't call them micro because that kind of implies micro grid and to me micro grid is a larger kind of geographic territory. Whereas I've kind of glummed on to the phrase nano grid. So you have, for example, my home is a nano grid where I have solar PV, I have a couple of Tesla power walls and if the grid goes down, I'm sitting pretty good in terms of power generation. So the more nano grids and micro grids that we establish here in the state, now again up until that magical big power cable goes from the big island to Maui to Linae to Molokai to Oahu to Kauai, the path ahead to me is very clear. Or one of the main parts of the path ahead to greater resiliency and robustness of the grid is to continue on the path that we're on with more and more distributed solar plus storage, distributed solar plus storage, plus storage, plus storage. That's really a key part of it. And again, to their credit, Hawaiian Electric has stated, Scott Seuss stated sometime last year, I don't remember the exact date, but that Hawaiian Electric is envisioning a tripling of rooftop solar from now, I believe until 2023 and 2020, sorry, 2030, 2030, 2030 is not that far from now. So I feel relatively bullish and optimistic about the vision that we have here in Hawaii in terms of distributed generation that is fundamentally altering the grid as we knew it from one directional to bi-directional and truly the quote smart grid, not just for the future, but the smart grid, is evolving day to day and progressing day to day and week to week. So- So fast enough, is this change fast enough? Of course not. Of course not. Of course not. But that's a good segue into a little factoid that I'll share with you, having crunched the data for PV permits on Oahu, which is of course the biggest market in the state, they were up about 6% in 2021 compared to 2020. 2020 was above 2019, 2019 was above 2018. So after several years in the doldrums after net energy metering went away in 2015, the trend line is up again and close to 90% of all new PV systems going in include storage. And there's nowhere, nowhere, nowhere on the rest of the country that's even close to that. Yeah, but the legislature still hasn't adopted the tax credit for storage systems built onto existing PV installations, which is really tragic.  Seems like it's spending on everything, but it's not spending on that. What's the problem? Is it not a priority anymore? Do they not feel that we need to prepare against this extreme weather or other natural disaster? Do they not feel this is important? Oh, you had to bring up that pain point. My friend, shame on you. Yeah, I mean, there have been efforts over the past, gosh, I'm gonna say five, six years in the ledge to have an addition to the state renewable energy technology tax credit that would allow for a tax credit, a state tax credit to be available for those renewable energy system owners like me and others who add storage to their existing or new PV system. And those bills went all the way through year after year, all the way through to conference committee. And what happened? Died in conference for reasons unknown to me. And that's the nature of the way the game is played with the big boys and girls in conference committee. A lot of bills, you know, will make it to the very end of the session, go to conference and bye-bye, they died. I don't know of any bills, not to say they're not out there, Jay, but I don't know of any bills that specifically would establish a state tax credit for storage only as long as the storage is connected to a renewable energy generation source. So it's something I've kind of- It's tragic, it's tragic. Everyone agrees it should happen, but it still doesn't happen. The same thing with returning to a electric vehicle credit. We dropped that. We don't care anymore. We could be way ahead on electric vehicles. The other thing I wanted to mention is, and this goes to a point you made about your own nano grid, did you call it? Microgrid. Nano grid, very nice. And your refrigerator will continue to work.  If you're using landlines, you won't have landlines. If you are dependent on the grid in some way, you won't have that. Your refrigerator will work, but a lot of other things won't work. It won't be connected. And so I think we have to make all due dispatch on having a lot of your nano grids and moving ahead with all this technology, all at the same time for everybody. And that means A, having these credits, it means showing people that this is a high priority. It means encouraging them in every way. Because if you have part of the system, it doesn't work. And the other part that does work, that's not enough. It all has to work. And I don't think we have enough time to do that before 2030. We'll have a lot of solar. We may have a lot of storage, but we won't be complete. And we are likely just, in the way of the world, we're likely to have an extreme storm. Remember climate change is inexorable. And not much is happening to ameliorate it. We're likely to have some really bad storms in that period.  We are not ready, I think. I agree. I can't help but feel to some extent that we are living on borrowed time in terms of a category three or four or worse. Hurricane kind of meandering its way through the central Pacific, North Pacific. And I'm sure that the state's emergency planners have game this out to the wazoo, up the wazoo. And I can't imagine that the scenarios are very positive at all. I mean, imagine if the main port of Honolulu were to get clobbered for any length of time. I mean, that's really, really, really bad news, but not to get too Cassandra here. I mean, on a positive note, you look at this program that Hawaiian Electric has been administering that was ordered by the Public Utilities Commission to the so-called battery bonus program on Oahu where the commission said we wanna see 50 megawatts, 50 megawatts of 50 million watts worth of behind the meter storage, AKA generation. And we want there to be a financial incentive to do so. So that is only on Oahu, unfortunately. I mean, as far as I'm concerned. And it was kind of partially at least in response to the AES coal plant, which is scheduled to go offline in September, which will be a big part of the generating portfolio of Hawaiian Electric HECO on Oahu, which will no longer be there. So the checks are already, the checks are in the mail, Jay. I can confirm that, I'm glad to hear that. There have been several hundred thousand dollars worth of checks gone out so far according to reports submitted from Hawaiian Electric to the commission. There are several million dollars in the pipeline in terms of systems with battery storage on Oahu that have applied for it. So I mean, this is, it's not chump change, right? Now that said, we got to start somewhere. And when you start from zero, well, you start from zero. By the end of the year, I'm going to guess that probably not more than five plus megawatts total will be actually online, which is of course a small fraction of 50 megawatts. So it's good to set this aspirational target of 50 megawatts, which is substantial. It's going to take us a while to get there. But at least we're doing it, we're trying. And with the likes of Scott Sue, now chair of Hawaiian Electric Industry, taking over Connie and Shelley Kimura at HECO, new generation, new team, hopefully ongoing, new dynamism and pushing things harder than they pushed before in order to make this happen quicker because people's livelihoods in the state's economy really rests on accelerating these changes and these improvements. Yeah, we got to get away from the spoke in the wheel marvel you talked about. We got to get to distributed energy. We got to get it out there so people are generating their own and feeding it back to the utility. That's what we got to get. And we have to do everything possible to achieve that. And I'm glad there's a new team in place. I'm optimistic that they will see the issue the same way and that they will actually get something done in time. But if you look at what happened in Texas or worse, Puerto Rico and you plant that, you should plant that on Hawaii, we could be in for a terrible time with the very first bad weather. And remember the biggest story of our lifetimes, Marco, is climate change. And we in Hawaii cannot do too much to stop climate change around the world. But we can do something to protect ourselves from the ravages of climate change where those storms hit. So I think it's really important that we do that to survive. The damage that will be done with a serious storm and our inability to get back online will be enormous. And you talk about a migration away from the state, everybody looking to leave and it will be devastation for the economy, just one storm. So that's one thing. The other thing is, and this is a lesser thing but it's still out there. It's Mr. Putin and Xi Jinping, know how to bring down utility systems using cyber attacks. Putin has done this and is probably doing it right now today as we speak in Ukraine. And we've seen examples of Xi Jinping doing it. So we live in a time where cyber attacks will continue to get worse, they become a geopolitical force. And why are we not subject to that? We are. And just as kind of an example, a Pearl Harbor icon, you know, attack Hawaii. So I'm a little worried about that too. And we have to be resilient against that as well. Are we? I don't know the answer. Well, we could do hours with talking about cyber warfare and David Sanger, sorry, New York Times, one of the best foreign affairs analysts and reporters, in my opinion, around these days. He wrote a book several years ago looking at cyber warfare and the fact that there are really, there are no treaties out there. The major cyber players are not really talking about having some type of structure like you had arms control in the 60s and 70s and 80s. So this is really kind of the scary frontier where, you know, how do you, you know, in terms of offense, defense. So anyway, I know we're at the tail end of this show and that's a whole nother story, but our grids are very vulnerable to cyber attack. The Russians essentially took out part of the Ukraine's grid a number of years ago. And, you know, that was an important learning lesson in terms of, and I think they, of course, they did it very much on purpose to saying, look at what we can do to you. Yeah. Anyway, I'm sorry, if you think that climate change is the most important story in our lifetimes, and I think we have no option not to think that, then you have to see those storms and the extreme weather and all the natural changes in the environment that follow climate change and that affect the way. And we have to, therefore, we have to see making ourselves resilient, avoiding blackouts, making a system that can stand up against any number of threats is the most important thing we can do. It should be at the top of the priority list. I know there are lots of other priorities, social priorities for sure. And, you know, all kinds of priorities that come into play every legislative session. But, you know, the problem is that if climate change and energy is not at the top of the most favorite list and other things supplanted at the top of the most favorite list, we can't let that happen. It's always got to be at the top because it is infrastructure, it is our lives. And if we don't have it, you know, we don't have to spend a lot of time figuring out how that will affect not only you with your micro grid, your nano grid, but me without a nano grid. What will happen? Our lives will change suddenly and we will have very little prospect of returning to the way it was before. Well, you know, in closing, in the meantime, we've got a governor who is his last, less than a year now in office, right? We've got a number of the pretenders presenting themselves. We've got a legislature, I want to be careful here with interesting priorities given kind of the circumstances at hand. So, you know what's gonna come out of all the sausage making when the ledges is pow in early May? I don't know, but I'm not terribly optimistic. And then we've got the backdrop of our friend, Dr. Jay Griffin, who's been head of the PUC these past years, whose term ends on the 30th of June, which isn't too far from now. So there's a lot of uncertainty and kind of relative greater instability as far as kind of the major pieces on the strategic board as far as how it's all gonna shake out. Let me only say that when I start, when I met you back in Hilo, back in the day, there was a lot of vitality in the energy industry and in the, what do you wanna call it, energy leadership? It wasn't only governmental leadership, it was people in, you know, in industry also leading. And of course, Hawaiian Electric is still absolutely the leader in such as leaders go. But I don't see the same vitality as I saw back then among those who were the leaders before, I don't see the same vitality now. And I think we really gotta get back to that and soon because we have either forgotten or it has passed off our scope because other things have taken the oxygen, so to speak. What are your thoughts about that and then we'll close. I just wanna give a quick shout out to three people who I think are trying their utmost to move the ball forward in the right direction. Number one is my friend, Representative Nicole Lohan on the Kona side, who's the chair of the House Energy and Environment Committee. I have very, a lot of Aloha for Nicole. A lot of Aloha for head of the state energy office, Scott Glenn. I think Scott's doing very best he can. And then I also give a shout out to my friend Lani Shinsato, who is the director or manager, don't remember her title, customer energy resources at Hawaiian Electric and I've known Lani for a number of years and she and her team I think are trying to move the ball forward more rapidly, more expeditiously. So there are really good people out there in key positions who I feel are doing their utmost to get progress, have progress be made. So I'll leave it on that positive note. Okay, thank you for that. And thank you for this discussion, Marco. We didn't really get into some of the points that we wanted to discuss, but there's another show two weeks hence when we can discuss this. And also very possibly what happened at the PUC in the evidentiary hearing, don't you think? There's so much, there are miles to go before we sleep, Marco. Well, as they say on the streets of Geneva where I once lived, absolutely, mon ami, absolutely. Yeah, that's what they say. All right, that's what we say here in Think Tech, absolutely, see you next time, Aloha. Thank you very much, bye-bye.


We are pleased to have with us today the Vesis Prize 2016 winner in the category, the role of governments and all stakeholders in the promotion of ICTs for development. Coming from Argentina and the Nacional de Comunicaciones and ACOM and their winning project fostering integration of Argentinian academia in the ITU activities. What are the objectives of your project? Thank you very much. The objectives of our projects are to promote the participation of academia and the universities in building capacity that is highly specializing in ICTs. Argentina has a long history in terms of its universities, the first one having built and created in 1613, which is the University of Córdoba. And so we think that with this project, universities are going to be able to precipitate with ITU in their works, in their study groups, and rapporteurships and study questions. And so the government is funding their participation and their membership. How does your project contribute to the sustainable development goals? Well, I think that most of the goals are related to ICTs and their development, although there's none of them that is exactly and particularly ICT. But most of the targets do refer to innovation and technology. So I think that most of them take poverty, SDG1 or SDG4 for education, SDG5, 8 and 9 are also related to ICTs. And I think that probably ICTs are related to all of them in the sense that they can provide a more inclusive society. What are you committed to this process and how do you value this price contest? I think it is very important and it has been very important for us, especially to have Argentina on the radar, now that we've had a change in government and also to see that what our new government is intending. And I think that WISIS provides the perfect environment for most countries to participate in, for other stakeholders to be able to work together, to interact and to share their experiences, so that we end up with a more inclusive society and with progress for everybody. We hope you will serve an example to other governments to also foster their academia in the ITU activities. Thank you very much for being with us today. Thank you.