All right. Well, thank you everyone. It is my pleasure to welcome you to the final day of BIOC 2022 and to introduce Professor Minna Chetankaya Rondel who is a professor at Duke and affiliated at University of Edinburgh and also working with Posit and she'll be telling us about the new product called Corto. Thank you, Minna. Take it away. All right. Thank you very much. Are you able to see and hear me okay? Yeah. Are you able to see and hear me okay? Yes. Okay. Great. I'm seeing yeses. All right. Well, thank you for joining today and I am very excited to talk to you about Corto. So I have been sort of working with Corto over the last year testing it out and teaching it to my students and today hopefully I'll be able to give you a nice overview for it. Before I get started, I want to acknowledge two people who have been kind of critical in preparing this presentation. One of them is Julia Stewart-Lounds who is with Openscapes who I'll talk about a bit more in my talk but I've given a version of this talk with her and this is sort of my part of the talk bringing in some of her ideas as well but she's been critical in kind of planning this talk out and also the cute artwork that you're going to see throughout the presentation is by Allison Horst who has made these illustrations for our talk and also Opensource them so you also can use these illustrations if you would like and they're available on her GitHub repository. All right. So let's say hello to Corto. You might be wondering you know what is Corto? Why is Corto? So I'm going to try to answer that question for you and give you a few demos. So Corto unifies and extends the R Markdown ecosystem. It unifies it for people who love R Markdown and it extends it for people who don't know R Markdown. So what I mean by this is that if you are an R Markdown user you are probably familiar with all the packages associated with that system and we want you to start thinking about Corto as what if we were able to bring the functionality all of them from all of them together and extending it so if you're not an R Markdown user or even not an R user and you might be coming into this idea of creating reproducible documents that are publication ready and that are web ready you'll be able to see some features of Corto that that might be useful for your workflows. So what I'd like to do is I would like to actually start this poll. So if you are following along with my slides which let me actually put the link up here it's bit.ly slash hello dash corto dash bioc or bioc I guess I just never read that as bioc in my head before. You should be able to do that or alternatively you can go to slido.com and then do the keyword is Corto and send in your results as do you use our markdown maybe use it all the time maybe use it rarely maybe you've never heard of it and it will be interesting to see sort of the results I'm seeing you know three responses so far so if you would like to participate if you're listening along go to slido.com slash corto and let's take a look to see what the results look like. I'll come back to these perhaps at the end and although we want another poll and so we can take a look at the results then too. All right so at least we don't have anyone in the room who's never heard of it so hopefully much of this presentation will feel quite familiar. So Corto is a new and open-source scientific and technical publishing system and the goal of kind of creating Corto and bringing it to you is to make the process of creating and collaborating dramatically better so we're going to be talking about documents that you might be creating on your own but also talking about documents that you might be kind of collaborating with colleagues and students who might be coming from different backgrounds. Corto is natively kind of natively works with many computing languages so beyond R you could be writing code chunks in python or observable or julia and it's actually designed to accommodate computing languages that don't yet exist as well and so all of this goes goes through the corto machinery and you are you can get a variety of outputs we could be talking about html that is a single html page or it could be a you know a website or a web book we could be talking about pdf anything from a simple formatted pdf document to something like a journal article which i'll give an example of as well or you could be outputting to word or powerpoint as well so i am going to organize this talk enforce kind of share collaborate teach and reimagine and we're going to try to give you an overview of corto and hopefully entice you to look into it more because there's no way i can kind of demo all of the features in the time we have but the goal is to provide an overview all right so let's start with share so i am an educator i'm a researcher and i'm a developer as well and when i say educator you might be thinking well maybe she's giving a lot of lectures that she's 24 7 in front of in front of audiences lectures but actually a lot of what i do is in front of my computer in front of my computing creating materials to share with the world either that is with my students or with my colleagues sometimes i'm writing a slide deck for a lesson sometimes something like this that you're seeing and sometimes i'm writing documentation or i'm writing a creating a course website oftentimes i am thinking web first i like to share all of the materials that i create openly and with an open license so others can use them reuse them adapt them and learn from them and web is a great you know venue for that but i also live in the confines of academia and kind of traditional journal publishing which means i need to get things to render to pdf quite often and need them to be formatted according to a very specific format and so i need a system that will allow me to take the same source code and output to these different formats as much as possible and also this system needs to enable that i put my code and my pros in the same document so that i could be developing these computational documents that are reproducible and that you know kind of remove the paradigm of copying and pasting computer output from one thing to another and for the last decade that thing has been our markdown for me i vividly remember us our 2012 where um jj lare and ua she at their keynote introduced the knitter package which kind of provides the backbone of our markdown as it processes the executable code chunks in in our markdown document and when i started hearing about the knitter package i realized that this was a year into my teaching at duke so my first year as a faculty member a lot of what i do was to create you know teaching materials and i was sort of struggling with how to create materials for teaching r where i can bring in my code and have it be syntax highlighted in a particular way have my code and my output live in one place so that if i made say one change in my lesson notes and had to recompile them i didn't have to copy and paste a bunch of stuff again and knitter seemed like a great solution for this preceding that i used to try to use sweep and found it quite difficult to work with and definitely impossible to teach to my introductory students so as their keynote was going on at user 2012 i basically started converting my teaching notes to it i started converting my kind of the lab assignments that i was writing for my students and then started making slides with it as well and by the end of their keynote it's now that i had you know half listen to them and half also um half also um uh like create started converting my own materials i realized this is actually pretty straightforward to use that i don't think i should just be using this to create my materials but is there a way for me to be teaching r to my students my intro stat students while also teaching them this unpredictable paradigm and writing these computational documents as well and in fact the following year that's what i started doing um and that's been a great kind of trajectory for my career frankly um in terms of getting the work i do out there and sharing with the world as well as changing the way that i teach r um so um i'm hoping that um with that story you might be thinking okay um what do we do with corto well if you stop kind of listening to me right now and just go to corto.org and do exactly what i was saying i did at that keynote and start playing with corto i will not be offended i will call this keynote a success but i do hope that you continue to uh listen a little bit maybe with one ear and um and if you would like to just sit back and listen to the talk if you go to bitly slash hello dash corto dash bio c um you'll be able to see these slides and if you sit back as i proceed through the slides they should be advancing for you as well so i said started by saying um corto unifies the r markdown ecosystem let's talk about that a little bit here are a bunch of packages uh package hex logos that you might be familiar with um and you might be relying on for creating and sharing your work you might be making your slide x and sure engine using blog down or distil for making websites or uh writing blogs or the articles package for writing uh scientific articles corto basically unifies the functionality from all of these packages into one um command line interface so instead of being an r package it is a command line interface that kind of unifies the the functionality so um when working with corto you sort of don't need to think about i need to do task x and for that i need this particular r package rendering documents with corto as long as you have defined the um the desired output format will basically get you there so some highlights of um kind of this effort of unifying these packages and also not just unifying them but in the process of working on unifying them um just discovering gaps in functionality and perhaps inefficiencies in user experience and trying to better these um there is a consistent implementation of attractive and handy features across outputs so when i say outputs i'm thinking a slide deck to a simple document to a book or a website things like tab set tab sets code folding syntax highlighting all work in all formats and not only do they all work you request them with the same syntax so going between formats um you don't need to change any of your kind of code chunk options to get that desired output um corto features more accessible defaults as well as a better support for accessibility and it comes with guard rails that are particularly helpful for new learners so for example um there is yaml completion to help with defining um the yaml for your document or your code chunks it has informative syntax errors um that will that will kind of guide you in the right direction when you're making errors and for those of you who may not be coming to this from an r or r markdown background it also has support for other languages like python julia observable and more and the way it does this is that in addition to nitter it allows for using the jupiter engine for executable code chunks so you might already be playing with corto or you might be thinking um let's go ahead and actually um um show me what corto looks like so that's what i'm going to do next and in order to do that i am going to open up my demo and let's give it a go so what i have here is an r markdown document and in that our markdown document it should look familiar to you i have a yaml and some code chunks and let's knit that document to see what the output looks like this should be familiar to those of you who've used our markdown before in addition to my code i can see my output i'm going to turn things to the visual editor so um i did that but uh by kind of changing from my source editor to the visual editor on the top and the visual editor gives you a slightly different authoring experience that i find much preferable it allows you to do things like folding and highlighting without writing um our mark down syntax um and i'll feature a few more um kind of a few more features of it as well but if i was to knit this document you'll see that the output stays the same so the visual editor is just a preference in terms of authoring experience not changing the output but now let's go ahead and change i'm going to rename this to say hello qmd so this is going to become a corto document and let's go ahead and render the content should be exactly the same the button has changed from knit to render and we can see that the content of the output is the same but it has a slightly different style i'm going to change my yaml to say format instead of output and that's basically how we change between different output types with corto and so going forward uh we're going to change between those i might want to make a pdf for example and if i want to make a pdf um i am going to um just change my format and something i really like is if you're using our studio you can basically see that pdf in the viewer as opposed in a pop-up window so let's go back to html and let's start playing around with some chunk options so we define them using the hash pipe as opposed to a character string up at top and let's say that i want to hide this chunk but um i want to do yaml uh i can't remember the exact chunk option the yaml completion helps me by giving me suggestions and if i render this document now i will see that that particular chunk is not printed out in my document anymore if i want to hide all of my chunk options i can set basically what we used to know is global chunk options up in my yaml through the execute field and what's neat about that is i don't know it's a syntax i've always found difficult to remember setting chunk options and this is something that will work with the midder engine as well as the jupiter engine which we'll demo in a little bit so um let's also think about these new chunk options which allow us to write each chunk option in a new line i think they make things like writing alt text for example so alternative text for the visualizations we create a lot easier because you know placing all of that text alternative text into the older style chunk option would have been quite kind of tedious um and so an alternative text won't appear in the output but we can see that it's in the html source code which will be accessible to screen readers now let's change things up a bit and let's make a slide deck i am only going to change my format nothing in my content um and if i sort of reload my editor and render you'll see that each of those second level headers are going to be a new slide in my deck so i'm able to move between formats really easily really nimbly my my code my plot only has so little space in that slide so let's give it a little bit more breathing room by simply adding another header into my file we'll call that plot or something like that i'm able to move the rest of the content to the next slide i don't need to add other syntax to indicate slide uh breaks that may then not work in a different format something like a horizontal line okay so i've demoed one document to a slide deck let's bring this back to a single document and let's see if we can make a website in less than 10 minutes uh if i want to do something like a website chances are i have more than one document so i'm going to create one more document um and um in this document um i am going to say let's call it index dot qmd and put some text into it i am specifically going to remove any computation from this document so we can feature two types and i'd recorded the demo earlier for another talk so it says here's a demo site now i'm creating another text file a yaml file that will allow me to bring these two things in a corto project so a corto dot yaml and we're going to write some yaml on the fly i'm going to define that i'm creating a corto project the type of it is a website and let's lay out our website i want a title for it maybe let's call it corto and let's say i want a navigation bar and in that navigation bar i want um the um left uh on the left i want my index qmd and i also want that hello dot qmd which we've been working with so far um i now have a corto project that defines it as a website i'm going to restart my r studio session to get that build tab to appear and i can render or preview my website so a render or a live preview of my website let's go ahead and render it so we've brought these two documents together in this very simple minimal yaml and we basically have a website with multiple pages in it i think is a really neat way of putting things together and this would be exactly the same way if you were making a book for example uh you'll see that there's an underscore site folder now and that's basically where the contents of my website is the html files that are the results of this render um what's next so we have created a website um let's think about the computation and the website one of my documents has some compute in it and what i might want to do is say please don't rerun the compute in that file every time i want to recreate uh rerender my website you know maybe i'm writing some text so what i'm going to add here is a chunk uh is a yaml option called uh freeze and what it does is it will basically freeze the results of my computation if i set it to true and won't rerun them until i um until i perhaps um do something like um re-render that particular document again and you can see that i now have a freeze folder in my files pane where those computations are saved it will also a little bit later allow me to re-render this website in an environment that doesn't have r installed so we have prepared our website and now let's publish it i'm going to go to the terminal now and i run my corto publish command and i'm going to publish it on a um let's go ahead and see if this will work um on corto pub um from my account and i'm going to maybe call this hello corto demo so corto pub is a new publishing um kind of a domain that you can just like our pubs if you have used it before and basically i can publish directly from the terminal um if you are hearing of corto pub for the first time it is quite new and you might want to go claim a username for yourself i was able to get Mina so i basically have published my website as well i think all of this is um you know i didn't have to worry about um other places that i could also directly publish to things like github pages or netlify or something but obviously that would have required additional authentication and i think this is a really neat way of just you know uh publishing your documents as quickly as possible all right so let's go to um kind of recap this so what we've seen here is that the corto cli so the corto command line interface is the one that's doing the orchestration of each step of rendering with our markdown um the our markdown package would do that so you would need to have our installed on your system and our the our markdown package would be doing the orchestration with corto we have a qmd file that depending on the code you have in that file or um or in the execution uh kind of style you have chosen uses either nitter or jupiter under the hood to uh kind of um run the code in the executable code chunks and create a plain text markdown document and then we rely on pan doc to do the last bit of kind of putting everything together and give you the outputs that you want um corto also makes moving between formats straightforward so i've shown you a single document like the type of thing i regularly write is something like a lesson one in kind of a lecture notes format maybe in html next i might say take that and let's create some lecture slides from that so all i have to do is change the format in the yaml and next i might say i have maybe one of these and a couple more that i'm going to add on to it create a yaml file that will call all of these and put them together as a website um it also facilitates open sharing um because even when it is it might be so easy to create documents locally and even if you are going to openly license them if sharing them and publishing them openly is a hassle chances are many folks are going to choose not to go there and i think that tooling that makes it easy to share what you do with the world on the web is incredibly useful um and it's not just useful for you but to the world because it facilitates open sharing of knowledge and learning for reuse and being able to kind of get accustomed to using tooling that allows for this i think can help for this culture shift where we're creating openly licensed materials and sharing them as early as possible the next in the next act we're going to talk a little bit about collaboration i've talked a lot about myself so far i write slide decks i write documents but i obviously don't operate in uh silo disconnected from others i collaborate with a lot of people and you probably do as well well i collaborate with a lot of people and some of those people don't use our many scientists actually use python too so um i'd like to ask you another uh slide dough question so again you can go to the link for the slides or you can go to slido.com then hashtag corto and i'm curious our other our languages other than are part of your life you might be thinking yes i code in r and also some other language um you know could be python but something else as well for me it is i uh code in r but i also have collaborators who code in some other language and it's possible that for some of you know uh other languages than are are part of your life so go ahead and answer this and we'll come back to the results um sort of at the end um what is really neat about corto is that enables uh collaborating across coding languages so here you can see a corto yaml just like the one we have created but this is for my uh um colleague uh jillie allowance's um website that she has kind of put together for a kind of a group that she's running and we can see that there's a lot more pages than the two that we created some of those are qmd files some of them are our python notebooks and some of them are rmd files and some of them are plain markdown files so the fact that we don't um need everyone to kind of change their tooling but actually can come together and bring whatever they have created in an environment that they feel comfortable with i think is a really neat feature um of um of corto um so i think i saw a comment that said that the poll isn't working maybe i'll try to remedy that at the end of uh paul because it's supposed to pausing now um corto enables contributing from our current tools so you could be working in the r studio ide which is personally my preferred uh place to be writing code but you could also edit corto documents in jupiter you could edit them in vs code and or you could um edit them directly on you know github for example and what is really neat about this is that um you know folks choose where they want to be writing code or where they want to be writing pros and get comfortable with it right and when they basically get comfortable with that um asking them to change where they're doing their work just to collaborate with you is often faced with resistance people want to kind of stay at their own home and wish that their collaborator would come to them so an alternative is to say you can stay at your own home and you can collaborate with me on the same project from wherever you are um well let's look at one other uh demo here where we're going to be editing that same site uh from uh jupiter it's working okay so i am in jupiter hub right now and uh you can see that um you can see that on the side the same files that we created earlier with the um with the um website that we have we're going to do a live preview of this so i've run corto preview in the terminal and that gives me a URL where i can go and see the results of my website and generally um you know keeping these side by side is a nice way of sort of um editing your document live and then seeing the changes so we're able to and note that this uh jupiter environment does not have our installed right now so it's the freeze feature from earlier that's allowing us to re-render or preview the website without running the r code again and here we have a jupiter notebook that basically has very similar content to that first hello um that qmd file that we had created we have some text in markdown and we also have some code to recreate a similar analysis and the code chunks have python code in them so we're going to run one of these code chunks and we can see the results of it directly in the notebook and let's go ahead and render that plot as well and now we're going to save the results so we've rendered executed the code in the notebook and we have saved the results and now we're going to go back to that yaml file where we had said put these two documents together and add this third document into it so that is hello in python and this time it's not a qmd file but it is an ipython notebook and let's go ahead and watch to see if things are rendered again and if we go back to our website we can see that we have added that third file and so this could be a collaborator adding to your project basically without leaving their home they're able to use their preferred computing language and they're able to use their own preferred computing environment let's take a look at some other things so we've talked about these code chunk options that we can add using the hash pipe the same syntax works in jupiter as well so we might add a caption to this figure so let's go ahead and run it and you'll see that the caption is going to be visible on the output so if we kind of refresh this you can set the caption as a visible above our plot but it is not in the jupiter notebook so it's not getting in the way of the notebook but it is present in the output we're going to demo adding one other chunk option and this would be something for what if we wanted to move this plot to the margin so kind of a style that many folks prefer where their plots appear in the margin so this allows us to basically change the layout of things to our document in a way that would not necessarily be possible to achieve just within the jupiter notebook but we are able to get that in our rendered output so if your screen is wide enough it's basically moving it to the margin so I think okay and one other thing that I'll show here is that we can actually convert between ipython notebooks and between ipython notebooks and qmd files which might be helpful if you are a if you are for example wanting to check this into git because this way you get a kind of a plain text syntax for your files all right so going back to our slides we've talked about kind of collaborating across languages but I want to talk a little bit about the teaching implications of this as well and I'm going to do this with an example from a student of mine so this is Halenstam who is an art history and visual media study student who was in my class in last spring where she had only one semester of an interdata science class where she had learned our markdown and this was her second class a regression class where we were using corto and she is working on a pretty quantitative art history thesis where she's looking at representation in art history textbooks and actually measuring kind of each of the each of the pieces of art featured in the textbook and joining that with demographic information about the artists as well and she was working on a thesis that is basically that is basically quite quantitative and had a bunch of code and a prose in it even though in our class each of our we teach corto you know every single assignment is a single corto document and we don't end up writing something pretty extensive like a thesis that brings a bunch of documents together but she was able to pretty quickly level up from writing a single document to being able to bring them together because we're able to do that with a single YAML file which in my opinion has been a challenge for students who learn our markdown so easily but then have you know struggling with that leveling up to writing more extensive things especially if they need to worry about kind of running thinking about I don't want to write my render my code every time I make changes to my text and so as a side note if you are interested in the data set that she collected with another student Sarah Lemus they've actually packaged this up as a package called art history and you could get a sense of that but sort of kind of the moral of the story that I wanted to tell here is that this leveling up was possible for a student in their second semester of statistics with a very minimal introduction to corto and to me that has been a very pleasant surprise for teaching with it so next I want to show you a few things about teaching with corto and we'll try to kind of speed this up a bit so the first thing that's really neat is that you can just render corto documents in our studio there is no additional install necessary and to me that's really really nice but beyond that you can do things like adding linking to documentation directly by adding a YAML option called code link and what this will do is in the rendered document every single function regardless of which package they come from is going to link to its documentation if it can find a package down website it'll link there otherwise it'll link to kind of standard our documentation for it and this comes with you know very minimal kind of very minimal work on your part which is really neat other things that I create with corto are obviously oh so let's let's show the sorry the YAML errors as well let's try to make a mistake here like it's hard to make a mistake because it gives you so many suggestions but let's say that I did make a syntax error and render the document the syntax the errors are very human readable and it even gives you some suggestions around how to fix them which I think is very helpful for new learners I'll show a few other things that are in so we're going to change this to reveal js to make some make our slides from the same document and I'm going to add a couple things so you can see for example that we have you can see here for example that we have the sorry I just realized that my computer is dying apologies for that just plugging in now okay there is a kind of a sidebar that allows you to go between things and also you can do a pdf export which I think is really nice students always ask for can I get a printable version of your slides other things that are really nice that I found is this chalkboard feature which allows you to kind of annotate your slides as you go and in the past I've struggled with this sort of thing you know needing to bring an iPad with me to write over things and I think it's really neat to be able to do this on the fly and you can actually save these things as well and you can get like a chalkboard to actually write on which is nice when a student asks a question that you otherwise you know don't have space to expand on in the slides I'm going to proceed a bit there's some really neat features here but I wanted to show you one other thing because we've been talking about html output a lot but what about the research side of things so if I can there are corto templates for a growing number of journal styles so here I'm going to use jessa for example that I can install this is basically adding something like an extension to my project and asks me do you trust the author of this template gives asks you to give it a directory name and now let's take a look here at the files that it has created for us I'm gonna you know adjust my title I'm gonna adjust my sort of my author name for it and we're going to render this document and you can see if you have submitted jessa articles this format should be familiar to you the fact that we're able to get to this so nicely and quickly I think is really neat so now I'm like okay I'm going to go and you know start writing my content actually and if I wanted to change my journal style to something else that would just be a change in the yaml all right so I think that I'm going to wrap things up quickly here because we are running out of time which is a huge shame but I'll take maybe two more minutes to wrap things up and then we should have plenty of time for questions so the last thing I want to talk about is going beyond what you might be doing what you might be used to doing and for this I want to give a huge shout out and credit to my friend and colleague Julia Lowndes who leads this effort called OpenScapes with her partner Erin Robinson and their model is to mentor is to mentor scientific teams kind of towards a culture of open science and I'd like to read this quote from Elena Fenwick who is an OpenScapes member because of OpenScapes I have renewed hope in how we can bring about a kinder future in science I see a commitment in the OpenScience community to bridging the gaps where we've left members of our community behind and it inspires me so the work that the sort of work that OpenScapes is doing and is inspired by things like this this is an excerpt from the FAE lab manual which basically says you are coming into our lab you are going to be a member of our research group and you might be coming from a variety of backgrounds in terms of what you've seen as part of data science as part of data analysis they're a ecology lab and it basically makes the implicit explicit by saying here's our code of conduct these are your expectations but also here's where we keep the files here is where we run our code and what the goal here is to be able to get people to contribute to authoring of things at the very beginning even if they're coming with a minimal background and so how are we going to be able to do this one way that working with Korto and our studio supports this is that visual editor so I'm not going to play for you the whole demo but I am only going to show you one thing that I think will be of super interest to everyone which is adding a citation to our document so what I'm going to do here is I am going to kind of add this at symbol and it is linked to my Zotero and I am able to with some just by searching through my Zotero library insert a citation directly in the visual editor and when I render my document I'm able to see that it has created a bib file for me and it has basically added that citation to my document it's things like this that basically get the minutiae of the syntax out of the way and allow people to focus on the content and be able to contribute as quickly as possible I can even do this with something like a DOI search so if I have the DOI for a document or a paper that I am citing I can simply place that in there and it will go through and search through the DOI kind of repose the search the DOI for me and insert the citation and it's things that ease I think authoring and collaboration like this that you know moves things forward and personally I really enjoy being able to write like this so we are going to I'm going to wrap this up with a big thank you to joining this morning I hope that this has been a good overview and introduction to Korto once again the slides are at this link hello dash Korto dash by OC and if you scroll to the next slide you'll be able to see a bunch of resources you can even get the source code for the demo that I the website that I created if you wanted to pick things up right there and I'd be happy to answer any questions thank you very much audience here are the questions in the audience yes hello very nice talk I was wondering with anything new like this I feel like there's usually something that you really wish you could do that still isn't easy I was wondering if you could share if there's something like that yeah so for example this the journal article templates that I just mentioned are very new so if you had asked me this question like last week I would have said well some of the journals are implemented but not the ones I submit to those are developed as extensions and I think that that for me has been has been nice to see that the both the Korto development team has been responsive but also the community has been building them I don't mean to say Korto is not missing anything but I've had the pleasure of making you know requests for certain things and I kind of seeing them in action I think that things like generating slides for example when you want to do a lot of styling I find that I still have to write CSS which I'm not very good at myself and I would like some of that stuff to be more built into Korto but aside from that so far I haven't encountered anything that is in no way to say the system is complete just for my workflows it has been I've been able to like open issues and get them resolved so far and I encourage you all to do the same because this is kind of baby ages of Korto and I think the team developing it is kind of really looking out for things people are struggling with so they can work on those next I have another question from the floor hi good morning at least this morning here so thank you this is great you talk a lot about education maybe it's the artwork that also makes me think of this but do you have any intentions for getting this to a level that youth could learn from this as well um so that's a really nice question and let me clarify when you say youth do you mean below the um college level yes yeah I have a young kid so I'm thinking of them yes yes um so I think that's a really good question uh while I have limited experience um with that I have ran a few workshops for high school students um a few um kind of um conferences um stat fest that ASA runs which is like a diversity focus conference I've done that there first with some high school students and I think that this sort of thing with the visual editor particularly is entirely I think a real good way of introducing students to code in the past um what I have used are learn our tutorials for that and the idea there was I know that you can't do real data science outside of something like an ID but can you give them a taste of something outside of that and I think the the answer is yes and the reason why I had kept things out of the RStudio ID and done a learn our tutorial was that I didn't also want to teach them markdown syntax and I think with the visual editor how it distinguishes between what's pros and what is code so distinctly um it would be worthwhile to try to bring that audience into that to see how they react to it I personally have not had um experience with that but I will tell you that um if you follow along with some of the like stats education work that goes around particularly um presented at conferences like us cots and ecots there's always a group of people who are working with that crowd and they're working on really neat things hi I have a question about the um collaboration so you showed how you could I guess have people different people say contribute different files like you know somebody puts their python notebook in this or whatever when you're building the website um which seems really interesting I was wondering if there's any provision for like collaboratively editing the same document so I'm imagining something like a google docs type interface where people are contributing to one document or is it currently file based in the sense that like you'd be needing something like git on the back end to manage multiple contributions to one document yeah great question um the what I showed would have assumed something like it so you're absolutely right in that um when it comes to collaborative editing so I have two answers for this if you are working in our studio um there is a collaborative editing function uh functionality that's being developed for our studio cloud it is my hope that it goes beyond just our studio cloud and it's I think just a beta feature um but I would hope that in due time uh we're gonna see a nice implementation of that in something like our studio server there is in I am not very well versed I'm afraid in like VS code I don't use it regularly but I feel like I follow enough people on Twitter that I see things that they share so I think I believe in VS code you can do collaborative editing um don't quote me on that but I think it's worth googling and and if you don't code in VS code obviously that may not be very helpful but ultimately the fact that corto is like authoring environment independent I think means that you're not stuck in our studio in the sense that if another editor has these sorts of bells and whistles that are useful for your workflow you can take what has been developed at the command line interface level and use it there and that portability hopefully um you know allows for exploring some other solutions that might be useful in this case and then we're going to have to close so we have Leo hi me this is Leonardo um um I'm very enthused by your presentation in quarter um so do you know if uh the vignette builders or in in our um are going to allow quarter vignettes and then my second question would be can you have two quarter files where they share the R code but you don't execute it in both at the same time so you have like a html and a beat and a presentation that have the same R code behind it but you don't have to spend the computational power to render it twice um so question number one vignette builders I do not know the answer to this question however I think this is a good opportunity to point folks to where a good place for asking questions is um on the corto github repository there's a github discussions feature so you can just have a question it doesn't have to be an issue like a software bug so if you go to the corto website and click on help it will get you there and that is a fantastic venue for that question and I apologize that I don't have an answer for it for the second question of having a single R source code for um multiple kind of QMD files if that's that if that's a workflow that you prefer um you can have include statements in your uh corto file so it's just two curly braces and then include and so the way I would solve that problem is put the R code that you want in a third file that you then include where necessary and you can do that at the YAML level but I imagine it's going to be interspersed through the text so I think you would want those include statements interspersed through your text as well I wish we had a little more time maybe I'll ask one more question though um this has to do with books and uh how many examples there are of volumes that are satisfactorily produced in the corto framework that are monographs and they include cross references between chapters and so forth something we have found difficult to deal with yeah so there are plenty actually let me link to and I'll put this in the chat here for folks to see so on the corto website you'll be able to go to the gallery where we've collected um books and a handful of these um also have pdf output as well personally something I've struggled with in the past has been making things look good in html and in pdf and you know until you'll be able to see examples of that corto is quite new so the number is not in hundreds but there is a growing number of them and hopefully that gallery is like inspirational in terms of solving that cross references and stuff um kind of I've demoed that at the very end with the visual editor not that you have to use the visual editor but the same cross reference style works whether it is a single document or it's a book or a website which I think perhaps resolves some of those challenges with adding references to a book fantastic I'm going to have to close the session because some of them have to change buildings thank you so much for a wonderful presentation thank you have a good day


Yeah man, salute the KLC man. I think we came first then, when I called him, I said, hell what you doing over there?  I ain't got no friends, if not to spit my last $70,000 on the draw top beans, uh, and I'm a tree or nigga. Nona put the 45 to his heel figure. Lay it down motherfucker, cause I'm bussin' for mine. Got that out of every time, and I ain't tryin' dying. Niggas dyin' and pull the off, but still affectin'. Yeah, we on boss talk, one on one, one on one. Yeah, we gon' talk. Give me the quote from your best PMC song, you gotta do it. Oh my God. Yeah, they say you know all of them. Oh yeah, I know. You had Carlos say that, you make him do it, I'll get him. I don't know, that's a loaded question for me man. He said he'd do everything to talk.  Puttin' powder on the streets, cause I got big fuckin' nuts, just got back from Ruiz and Anna in a Fleetwood lab.   That one, man, grippin' grain, switchin' lanes, sellin' cocaine out of candy thing, jammin' Lil Wayne got a trunk of bang, cause I'm a hot boy, like a hot flame and my hoes pay me, just like baby, that's the only way they can lay me, niggas use lures, but they ain't graze me, and niggas be jumpin' man, their a dyin' no so- Oh, grippin' grain, switchin' lanes, sellin' cocaine out of candy thing, jammin' Lil Wayne got a trunk of bang, man, I can keep going, man. Is there a song you don't know? Man, look! Pimp C is hard to find one that I don't know. That don't know, yeah. There might be ones that I don't remember like that all the top of my head, but if I hear it, I can rap it, like that's- Who play all the Pimp C songs around you? He done play it. Everybody, man, like I said, I grew up in a household with, and then I'm from DC, like, go-go music is heavily influenced by rap, but it's just flipped, you know what I mean? You hear a lot of go-go songs, like, you will hear, you know, the original songs that they came from. So one thing that I used to do is when a go-go song would be made or something I liked, I go find the original song and that's what turned me on to a lot of the music that the old guys, the older guys were listenin' to in DC, like I said, we were able to take a lot of that influence, so the south is, cause we ain't north enough to be from the north, we ain't south enough to be in the south, so we were like right there in the middle. So we got it, you know what I mean? We got the influence from the New York music and the west coast music and the south music, so I just was influenced by so much and music was such a big part of my life, cause like I said, I didn't have my dad, so a lot of that time that I would be looking for, you know, influence and I just listen to music and that would just, you know, give me something to do. You know what I'm sayin'? It was meditation for me, so that's why I love it so much. What about Lewis? Go ahead. How old were you when you figured out, or when you said it, you know what? I think I'm funny, or I think I like comedy. Man, I've always been entertaining, you know what I mean? I don't know if it was always funny, but I've always been somebody that was, and I've been speaking publicly since I was literally four years old. Did a speech on Frederick Douglass when I was four years old. That's cool. At no, in DC, and won a competition I was too young to win. Frederick Douglass. Yeah, on Frederick Douglass being an abolitionist. Yeah, I still got the cassette tape to this day. You already find a four-year-old that know anything about that? Yeah, oh no, that's, I've always been public speed. Like whenever in DC, public schools, whichever one I went to, whenever they were trying to find a negative speaker in front of some people, they was coming to get Anthony Bing. Where did you get it from? I don't know. Your mama was like that? No, I don't know if my daddy was like that evil, but I got it from somewhere. I don't know where I got it from, but public speaking has always been something I've done. So I've always been somebody that entertained, but funny, I didn't realize I was funny until I got into college and started hosting step shows, you know what I mean? I think one of the biggest labs I had got before I became a comedian, I was hosting a pageant for the Alphas and the Deltas had a pageant together. And I had pronounced cello, cello, because that's what it looked like to me. I was like, yeah, and he plays the cello. She was like, cello. I was like, yeah, that's what it say. She's like, nigga, cello? I was like, oh, what, nigga? There's no age.  Yeah. You know what I mean? And that was just natural. Natural. But my man Jerome, salute to him, he was like, man, you should do comedy. And I went to the comedy zone. They had to open mic every first and second Thursday of the month. I went there first Thursday, watched everybody bomb. I was like, well, I can at least do this bad. I went back to the next Thursday, did four minutes, got off stage and my feet hit the floor.  This is what I'm supposed to be doing. I've been doing it ever since that day.  Louisiana, you said Louisiana was a place where you liked the audience from. Who was your favorite artist down there? And like, cause you mentioned it early in the, I heard you say Louisville. Oh yeah. What was the, who was the, Master P in my top five. That's the, Hustler, Bola, Gangster, Cappella. Who I be, your neighborhood drug dealer. My personal top five, P is in my personal top five. I remember my man, Matt, brother, you know what I mean? Had the biggest collection of music that you can ever have. And I remember the first time I heard Swampnickers. I had never heard nothing that sounded like that before. At that young age, I was like, we all was like, cause it was about 10, 11 of us down there.   Like when I first heard, whoa, whoa, whoa, keepin' my sabi. Like, whoa, whoa, whoa, keepin' my sabi. Like just that sound of music. Like I said, I'm from D.C., so we heavy percussion. You know what I mean?  So the New Orleans, like to me, New Orleans is the D.C. of the South. Like the culture is the same in regards to the way that the cities are set up. That since I've been able to go in and just entrench myself in New Orleans culture, like that's the closest city that I've seen to the way D.C. niggas are is New Orleans niggas. What about playing from the South Stack G?  Can't see eight on that whole man. I mean. I mean, come on, man. I see you gave me free favorite. Come on, man. Yeah, I mean, I mean, this is one of my, you know, man. And that other one, me and K.L.C. Me and K.L.C. talkin' bout that. K.L.C. talkin' bout that. You know, he be on, he talkin' about makin' that beat, though. I know I had that. That's the song he told me to do the drums on. I think that's the one. That was the one. I'm all support. Hey, we got love from the South, the East. That's him right there. The Nizos. Oh my goodness. With your time, my baby gon' have it. I've been done playin', man. That's big, man. How long did you see him when he wrote that on? Or was that a process where you was there? I was there. Yeah, I met K.L.C. He came to the show when I was in Dallas. Yeah, he came to the show. I was mad, cause I called him. I said, man, I'm a man. Yeah, man, salute the K.L.C., man. I think we came first, then, when I called him. I said, K, what you doin' over there? Cause that was not the game fuck, though. I ain't got no friends, if not to spit my last $70,000 on the draw top beans. And I'm a Trio nigga, known to put the 45 to his heel figure. Lay it down, motherfucker, cause I'm bustin' for mine. Got that outta every time, and I ain't tryin' down. Niggas down and pulled off, but still affectin' my plan. But 17 times to make him feel what I'm sayin'. Liggie K.L.C. murder, get a leg in the tank, make a fade to platinum, smoke some daggers and drink.   Oh, it's just a matter of time before I'm up in your house.   I mean, for real, bro. You have a problem going in L.L. I mean, listen, man, that nigga, once I learned he was makin' all them beats, didn't it mess you up? I was like, yo, this nigga was real. And then you know it was him singin' on a lot of them hooks. It was like, oh, this nigga is amazing, man. Like, I was so sick when he passed away, like. Man. I was so sick. Do you believe he passed away the way how they said he passed away? I don't know, man. You know, that's a hard one, because if you talkin' about outspoken, that dude was one of my favorite interviews ever, is that one. When I get off the plane, what time is it? It's Easter standard time. We all know Atlanta side. We start actin' like it's the side. That's my nigga, man, when I tell you, man. You already know. You know who got caught down there.  You wanna play him in the movie, too? Yeah, man, that's the role. Let him tell me, listen. You gonna go here? I'm telling you, man. That would be so hard, man. My love, they'll make me bun, but I'm cool with that, too. You ain't talkin' about that. No, I'll be bun, too. I know how to do that, you know what I mean? You talk to bun, you be like, this nigga got a doctorate somewhere. Oh, yeah.  Give me his accent. He taught at this school. Like, bun just sounds like an educated professor. Yeah. When I first met him, he was like, Chico, how you doin'? Nice to meet you, man. I was like, nigga? Is this the same nigga that made?  Now he got me runnin' from the field. Yeah, exactly. You know what I mean? Well, all right, you know. We on Boss Talk 101. Yeah, we gon' talk.


Hello, my name is Matt Ray and I'll be your host for today's session. I'm the Community Manager for OpenCost. The CNCF Silver Member and sponsor for today's talk is my employer, KubeCost. Today, I'm going to tell you about cloud cost monitoring with OpenCost and Kubernetes optimization strategies. The complexity of operating Kubernetes efficiently is real, but you already knew this. Kubernetes brings technical complexity with higher level abstractions moving you further from underlying resources. These abstractions provide a standard interface for building, deploying software, but there are a lot of moving parts. Engineering teams are having to deal with lots of new concepts. There are tons of open questions. Where has our cloud been going? What are the cloud costs associated with building your product? How can we optimize our dev clusters? Who is the owner of this performance problem? And how do we know our team is provisioning only the resources we really need? Luckily, help was available. OpenCost is an open source CNCF sandbox project for measuring and allocating infrastructure and container costs in real time. Built by Kubernetes experts and supported by Kubernetes practitioners, OpenCost shines a light into the black box of Kubernetes spend. OpenCost is both a project and written specification for modeling current and historical Kubernetes spend and resource allocations. You can view your Kubernetes costs by service, deployments, namespaces, and much more. Right now, it supports Kubernetes clusters on AWS Azure and GCP through their on-demand pricing and on-premises Kubernetes clusters are supported as well. OpenCost is the engine for KubeCost commercial product. I'm talking about OpenCost because it's a tool for digging into what's going on in our complex and dynamic Kubernetes infrastructure. We want to be able to slice and dice our cloud bills by Kubernetes primitives, seeing who's using what and which services are costing the most. This will be the foundation for future optimization. The OpenCost spec is a vendor-neutral open source specification for measuring and allocating infrastructure and container costs in Kubernetes environments. The original specification came together with input from a wide range of Kubernetes practitioners. Among them, Adobe, AWS, Google Cloud, KubeCost, Red Hat, and SUSE. The OpenCost spec is for measuring and allocating infrastructure and container costs in Kubernetes environments. First, we start with shared definitions. Total cluster costs are everything associated with our Kubernetes deployment. This breaks down into direct and indirect costs. Indirect costs are cluster overhead costs. Measuring the overhead required to operate all the assets for a cluster. For example, these are the cluster management fees that you might see in your AWS or Azure bills. Direct costs further break down by allocation and usage. Allocation costs are generally things that have an hourly rate and usage costs are by the amount consumed. Examples of this might be storage, jobs, number of units processed. The asset costs are the individual nodes and overhead that make up our Kubernetes cluster. Resource allocation and usage costs generally contain the nodes CPU, RAM, operating system, potentially GPUs. Persistent volumes are the associated file systems, and there may be a load balancer and network egress costs as well. This is a simplification. Each of these breaks down much further in the OpenCost specification. An example of an asset cost would be a node, where there are CPU allocation costs which relate the cores, the duration of use, the price, and the total cost. The RAM allocation costs are also included. When a Kubernetes node is deployed on your cloud, it now has a total cost. Workloads are the actual applications and containers allocated and running on our Kubernetes nodes. These are the containers, pods, deployments, persistent volumes, et cetera. These are calculated by querying the Kubernetes API, CAdvisor metrics, the kernel, and billing data. They may be usage costs or allocation costs, but they are directly managed by the CUBE scheduler. We want to measure these at the lowest level possible so we can track this data along any dimension. Any unallocated costs on the Kubernetes cluster are cluster idle costs. You're paying for them, but not directly using them to run your application. When we talk about idle costs, we're talking about capacity that has been requested, but it is unused. Sometimes this is called waste, but it's impractical to think that would be at 100% allocated. Most Kubernetes usage is dynamic and some headroom is needed so we want to be as efficient as possible without spending too much. Workload costs are committed allocated costs. This is what's happening inside your Kubernetes cluster. They've been requested from the Kubernetes cluster so you're paying for them. From the cloud provider billing API, we get the numbers on the left. These are the raw metrics that you're paying for. Open costs allows you to view these costs by the workload aggregations on the right. You can see CPU usage by labels, GPU by deployments. However you want to query your costs. You can also stack these so you could see things such as container per namespace. Let's take a look at the open cost UI. This is a freshly deployed open cost UI. Open cost has been running for a while so this is the first page you're gonna see. We're looking at the breakdown of the last seven days by namespace. This is a rather small cluster. It's just two nodes on EKS on Amazon. It's been running for several weeks but right now I'm just looking at the last week. I could go to just yesterday if I wanted. We can also view by namespace. So here we see I've got three namespaces, my kube system, open cost, Prometheus. I can also look at individual controllers. Looking at last week by the pod data, we can see how efficient or inefficient our workloads are by CPU and RAM and how much they're costing total. We can also download the results if we need to. The open cost architecture is fairly straightforward. Open cost uses Prometheus as both the source and destination for data. A Prometheus node exporter runs on each node in the cluster. Exposing Kubernetes data and open cost writes this out to the Prometheus data store. The open cost service queries the cloud provider's API for the cost of each service used. The open cost UI or API may be used to query the information stored in Prometheus's time series database. Deploying an open cost is fairly straightforward. It's a relatively simple service. Open cost relies on metrics scraped by Prometheus. For express installation of Prometheus, we use the prom community helm chart which you can use an already existing installation if you want. To deploy open costs, the current recommended installation method is to simply kubectl apply the YAML manifest. If you prefer a helm chart, the community has recently created one and started exposing all the configurable options. It's under very active development so if there's something you need, be sure to join in with feedback. Once you've deployed open cost, you'll start collecting data almost immediately. Showing costs by any dimension enables action and fitting allocation, tagging and mapping into developer workflows is very powerful. Cluster cost efficiencies is a great starting point for Kubernetes cost optimizations. We'll get back to that in a second. The open cost API exposes cost allocations for Kubernetes workloads and cloud infrastructure supporting them. There's a swagger JSON in the open cost repository and we're fleshing out additional API documentation now. You've seen the web UI. kubectl cost is a CLI plugin for interacting with the open cost API. And if you really want to, you can always access Prometheus directly. The open cost community continues to expand and we're always eager to help new folks. We're mostly in Slack and GitHub with the fortnightly open cost working group calls. There's also a Google group and LinkedIn if you're so inclined. There's links there for the open cost calendar and the open cost meeting notes if you wanna get involved in the open cost working group. So now that we've got these numbers, what are we gonna do with them? Let's talk about Kubernetes optimization strategies. The first step is make sure you have a FinOps practice. FinOps is an evolving cloud financial management discipline and a cultural practice that enables organizations to get the maximum business value by helping coordinate engineering, finance, technology and business teams so they can collaborate with data-driven spending decisions. The FinOps Foundation is part of the Lennox Foundation. The FinOps Foundation provides guidance on cloud financial management through best practices, education and standards. Their FinOps framework is a set of organizational recommendations for building your FinOps practice. While it's not focused on Kubernetes, these guidelines help establish patterns for applying those cloud cost savings. In large organizations, cloud costs are rarely isolated to a single team. Many of the cost optimizations at the cloud account level are more effective when centrally managed by a cloud operations finance team, given their visibility of consumption patterns across the organization and their ability to quantify opportunities for savings. You wanna have folks on the same page when it comes to optimizing your cloud and Kubernetes usage. We take a top-down approach to optimizing Kubernetes infrastructure. Improving the efficiency of containers affects the efficiency of pods which in turn affects the efficiency of clusters. Once you've started optimizing your Kubernetes infrastructure, you can investigate higher levels of cost reductions like reserve densities and other commitment-based savings. This is an iterative process. You're never quite done. Workloads are the applications running on your Kubernetes cluster. Workloads may be pods, deployments, replica sets, stable sets, damage sets, jobs or cron jobs. Optimizations at this level relate to the requested resources made by the workloads to Kubernetes itself and whether they're still in use. When specifying pods, containers may be assigned requests and limits for resources such as CPU and memory. If these are not assigned or are over-provisioned, containers may be allocating more resources than they actually need, costing you money. Under-provisioned containers may cause CPU throttling or out-of-memory errors leading to poor performance. There are several options for working with these recommendations. There may be valid reasons for not adjusting requests and limits with respect to available resources or ensuring pods are never constrained in their performance. To ensure that all containers in a namespace have the default CPU and memory requests and limits, you may provide a limit range. You may provide limits and or requests for CPU and or memory as necessary. Containers with limits and resources provided in their manifestable work as expected, but defaults will be provided for containers not explicitly setting those values. Container utilization is fairly straightforward to measure and verify with open cost. All the data is captured and exposed via the API, CLI, and UI. Optimizations at the Kubernetes level are related to the configuration of the Kubernetes cluster itself. When the Kubernetes cluster is over-provisioned or using inefficient node sizes, there are opportunities for improving the effectiveness of workloads on the cluster. An over-provisioned Kubernetes cluster may have nodes that are primarily idle, making them strong candidates for reducing the number of nodes in the cluster or decreasing the resources allocated to them. Workloads may be redistributed across the cluster to ensure availability while reducing over-spending on unused capacity. There may be situations where the capacity of the cluster node is over-provisioned, but a minimum number of nodes may still be required for workload durability. In this case, it's recommended to deploy smaller cluster nodes and then drain the over-provisioned nodes in favor of their more efficient replacements. Once nodes have been removed from the cluster, the cluster should continue to operate more efficiently and additional nodes may be added later in response to increased workloads. OpenCost makes it easy to investigate your cluster's nodes for efficient utilization. Operating systems. These are the changes at the operating system below the Kubernetes control plane. Once again, always look for resources associated with your cluster but unused. Check the allocations of the machines you've provisioned for hosting your Kubernetes cluster. Orphan resources may still show up in your cloud bill, and we don't want to keep paying for those. Resize your local disk with low utilization and see whether you may launch new nodes with smaller disk on the next node turned out. There are many use cases where ARM CPUs are highly capable replacements for x86 processes as significant cost reductions. Not every workload is migratable, but most Kubernetes and open source tooling is ARM compatible at this point. OpenCost makes it easy to compare workloads across nodes with different architectures. Cloud infrastructure optimizations. Now this is where you should probably talk to your FinOps team. These savings are generally most useful when you have the holistic view of all your organization's cloud usage and can make informed decisions. OpenCost works with an on-demand pricing, so it won't reflect these kinds of savings. So in summary, remember, this is an iterative process. There are no silver bullets, but there may be low hanging fruit. As you work through optimizations at each level, there will continue to be savings opportunities below. Improving the efficiency of containers affects the efficiency of pods, which in turn affects the efficiency of your clusters and coordinates your savings across the org. Thanks. If you have any questions, please contact us at opencost at kubicost.com.


Out inside, frost cavels, fiverside trees, swirling, wind blowing, falcon under clouds. The sun, window, blown open by the wind and the train. The slab, on the go, and the steps out the door. Thank you, thank you, thank you. Our Dwyer fence surrounds them. Beyond people, houses. Let's go in the temple, large thick wood doors. It walks through the throngs. He's dining in the temple, pours a bowl of soup for Mrs. Boll. Thus they soup. He would just love the soup. Mrs. Boll struck by a memory of a baby boy. Her diet is the door for a black shirt of SS. His revolver is the locket on her chest. It calls for two soldiers. Reach out, grab her baby boy. Turning him upside down. Grabbing each leg like a wish for love. Farmer pulls out a bucket of water out of the river. Pours it into the trough. He faces down at the train. Reach out, out of good force. Spit it out, come on. At the tracks, the rush, smoke, swirling, a rising sun. You want me to use his hands? Stump through a crack on the side of the cattle car. Where's God? God, God. He smells the fumes. That's God, God.  Another deaf man in camp. Please give this to him. I'm alive. I'm alive. A barbed wire spence surrounds one cattle car and surrounds another compound. He watches a pair of birds. Planes flying over the Russian territory. Russia, Russia. We're safe, we're safe. This plane is a prayer for deliverance. The waterfall is water. It sees images in the water, in the cows, in the trees. The sun is the map. Big jumps outside of the hill. The train sees a red flag with a gold sickle. In the garden, through the cracks in the cattle car. Skeletor in the air.


New Green Party MP Ricardo Menendez-March is nearly at the end of a two-week stay in managed isolation after travelling to Mexico over summer. The news of his stay drew a strong response from some of his colleagues in Parliament who suggested that he'd sought special treatment to secure a spot in the MIQ system in a social media spot. Mr Menendez-March explained about why he made the trip and he is with us now. Kia ora. Kia ora, good morning. Why did you go to Mexico? It was an incredibly difficult decision to make to put family first and ensure that I was able to spend time with my sick dad and step-mom. And I'm incredibly thankful as well for the pouring of support and empathy from people across the country who understand that family comes first and that people are being put in incredibly challenging situations in regards to family in the middle of the pandemic. As far as you're able to, because obviously this is other people's medical conditions, what's wrong? What is the illness that your step-mother or your father have? My step-mom had an aggressive rebound of breast cancer and my dad had undergone through major surgery recently as well. My step-mom has been battling with cancer for quite some years now that she had a relapse and I had been postponing trips to go and see them knowing that it may be the last time I do due to the nature of my work and the pandemic. So the only opportunity I had to do that was over the summer recess. Okay, so when did you book that trip? So I had made several attempts to book a trip, but I flew on the 13th of December and then I'd been trying to secure a place back in MIQ and ended up getting one through the normal channel on the website. Okay, so hang on, you flew on the 18th of December, but when did you book the trip? The trip was booked very much just a few days before that. Okay, so you booked the trip when you were already an MP? That's right. You paid for it yourself? I did, yeah. Did you discuss this situation with the Green Party after you became an MP? Yes, the members of the Green Party had been aware that my step-mom had been sick and I did check in with co-leader Madame Adividsson and our master, Jen Logie, around overseas trouble. So they gave you the go? That's right. Okay, why did you not check in with all of the MPs and the wider leadership? Normally the process has been to check in with the co-leader and master around seeking approval for that and because of the sensitive nature of the issue and wanting to make sure that they were aware of the details, those two were the people that I sought approval. Why did you ask for an exemption for MIQ? So the emergency voucher is one that many New Zealanders apply and one that I was rightfully declined as most people who apply are and I was exploring the avenues that were possible and ended up using the MIQ website like everybody else does, that just took refreshing for many, many hours at end in order to get a voucher. And this is the reality that we know many New Zealanders face when coming back home and I think the whole experience if anything just shows me the importance of our border protection and ensuring that actually we reflect on the purpose of MIQ as the public health measure. Is it reasonable though that you asked to skip the Q? I think it's reasonable that people have an opportunity to apply and I think I was very grateful that I was given no special treatment and that my application was simply sought on the merits of it. OK, so when did you secure the spot in MIQ that you're in now? So the MIQ spot was secured a few days beforehand that took several hours of collective refreshing in my account by many people and this is something that many people go through. When you say beforehand, do you mean before you went? No, while I was in Mexico. So MIQ spaces open up on a regular basis based on cancellations. OK, so hang on a minute. So you went to Mexico not knowing when you would be able to return and come back into New Zealand. The difficult decision to look after family meant that I was prepared to see them and ensure that I was able to spend some time with them. And I knew that it would augment based on the MIQ availability, a matter of potentially just a couple of weeks or a month. And I was very grateful that I was given the understanding and compassion by my colleagues. And now that I've been able to share the circumstance with five many people in the public. So you went to Mexico without a spot in MIQ to come back into the country. You could have missed a huge chunk of the parliamentary year. I think it's up to June that MIQ is now booked to. What would you have done if you couldn't have got a spot? Well, I would have had to face the consequences to make a decision on that. Would you have resigned as an MP? A family comes first and in the nature of this. I mean, I'm not going to get into hypotheticals. But for me, family does come first. And the sensitive nature of this circumstances would have meant that it would have explored all options to ensure that my colleagues were able to continue with the work. OK, so would you have resigned, though? I'm not going to get into hypotheticals based on that. Well, it's not really hypotheticals, Mr. Menendez March. You must have been dealing with this for some weeks when you didn't have a spot in MIQ. Surely you've canvas this with colleagues, or at least in your head. If it had been the case that I was required to stay in MIQ because of the Catholic family and I was not able to come back, I would have very much been prepared for that possibility, as any possibility in general, because for me, the difficult decision that came to this was that being able to spend this critical time with my family to ensure that I would not regret not spending what could have potentially been the last place for my stepmom in the came-first condition. What would you say to your critics on this? I think what I've enjoyed and really appreciated over the past 24 hours has been the outpour of support of many people who do understand the difficult situations that many New Zealanders who have family overseas are being put through because of the pandemic. And my hope, of course, is that we work towards systems that ensure that people are not having to make this incredibly difficult situation. I'm very grateful for the work control workers and the MIQ workers to keep it safe. But I do understand that there's a decision that I was able to make that came from a place of privilege and that not many people have the resources to ensure that they're able to make such a short trip with their family. OK, thank you very much for your time this morning. Appreciate you talking to us. That is Green Party MP Ricardo Menendez March.


Happy Friday ladies and gentlemen in today's video We will be talking about the breakdown on this pattern that we've been watching closely this week We will touch on what that means for Bitcoin and what we could possibly expect over the weekend So without further ado, let's dive right in Hey, what's up Jay here and welcome to Bitcoin daily bring you guys the best tips tutorials and ideas to help you guys become profitable and successful investors the goal of this channel as always is to empower you guys the community with the Knowledge and resources to help you guys get up to that next level So if you're new to the channel, make sure to subscribe and turn on the notification bell If you've been here before you know what to do smash that like button if you have any questions drop it in the comments Let's dive right in so it's been a pretty Not too interesting week in the market as you can see we went up as high as 35 293 and Then we've been rejected every time basically you'll see for three days in a row We retested 35 got rejected retested 35 got rejected and then finally broke down from this Symmetrical triangle that we had here on the short term to the downside So with that it took us all the way down as low as 32,000 where we did find some minor support As you guys can see we bounced their multiple times before as some minor support We are currently bouncing back up today so far up around 2% So now all is not lost what we can do here we can still move the support here now to where the levels are currently at and See if this new story makes sense now, you know, we can See that the support is still here We still have these two lows and then the higher low here So as long not now the issue here is we need to set a higher high as long as we set a higher high then You know this pattern continues here if we do not set a higher high Then we'll probably get pushed down by this the same triangle that we just got pushed down from That's going to still be around that $35,000 area Remember that I said that we would see the move by the weekend and we did we got the breakdown Unfortunately now for this move here. We could expect a decision here probably by around Sunday or Monday So if we do continue to break down and we cannot hold here We can expect to continue down and we have that support at 32 We have another minor support at 31 and then the bigger support is of course down at 30 and the biggest Support area that we have currently is at 28. Remember, we do not want to see this price fall below 28 If we did fall below 28, we're falling into this next zone here in this zone The bottom of this range would be 20 to 18 thousand dollars. So we don't want to see that happen We want to make sure that we stay within this range. So that's what we're really watching for here But usually the thing is the longer we stay You know in a range here the more likely it is that we fall to the downside Because the current short-term market has been to the downside The probability is to the downside the longer that we stay within a range So we definitely need to break to the upside soon as you guys can saw here in the last few months We were just trading in this range trading in this range and eventually we broke down and now we're trading in this range Right, we need to break out of here very very soon or again We're risking dropping losing this support and dropping into this range Which would definitely put us in a bear market and we could probably spend Possibly the rest of the year down here. So we definitely don't want to see that so we need to get this break above 35k Now what to expect this weekend again, we're just have to wait here I believe we're gonna stay here in this current range right here that we're trading in below 35 With the low around 32 until we get a decision on which way Bitcoin wants to go now the past couple of Weekends we've had pretty much green weekends. So hopefully we can see the same thing this weekend Remember that we had the gray scale unlocking event It's the biggest unlocking event ever in the history of a gray scale unlocks Which could bring volatility into the market next week and probably the week after that the big event is On July 18th. That's gonna be the biggest day of unlocking I recommend you guys watch this video that we dropped yesterday is a video about 10 minutes long And we break down everything in depth on what Bitcoin has done in the past when there's been these events over the last Six months. So with that, we should definitely be expecting some volatility next week, which We kind of need it in the market. There has been very very low volatility here lately in order to make a move Up we definitely need volatility to the upside now, you know with the volatility We could go to the downside But we'll just have to wait and see next week now Let's talk about a couple trade setups for the short term and for the long term that I will be looking at if the price Reaches these points over the weekend But first I want to tell you guys a little bit about the sponsor of today's video lady capital Litty capital is a Swiss private equity focusing on litigation finance They are tokenizing its shares onto the blockchain the digital shares called Litty tokens are asset backed by Investment impending careful selected legal cases these KYC required tokens allow any Investor to engage in the high-performing litigation Finance market previously only available to elite investors Litty token holders have shareholder rights and access to dividends 80% of profit distributed will be paid out in dividends the tokens launched yesterday So you can now purchase Litty tokens at Litty capital comm alright guys So for short-term trade setups basically we're watching this one level this weekend, which is 35k 35k has been a big Resistance here. It's been a support as well when we've been above it and it is a Fibonacci level So you can play this level One of two ways right or you can play it to the both ways is up to you However, you want to treat it you can either Long it when the price breaks above it or you can short it when the price breaks above and drops back down So because we've been rejected so many times here It is kind of a good idea to try to enter a short position If you see the price goes above it and gets rejected back down once it gets rejected and you see the price fall back below 35 you can enter a short position again I'm using very small risk on these under 1% per trade because there's really no Direction yet right but we can take some small scalp trades and earn a little bit of profits while doing so So that's the level we're gonna be watching for both long setups and short setups now for long-term Entries for dollar cost averaging. I know there's many of you doing that out there. We're entering We have entry orders set up at 30,000 and at in the 28,000 area. Remember guys Don't set them up exactly at 30,000 anywhere in a 30,000 range is fine The same thing anywhere below 29,000 is fine as well And those are definitely two good spots to dollar cost average if the price were to fall that low last but not least As far as the Wycoff accumulation pattern that we have been following here for the last two months You can see that it's still intact. We still have the spring here with the test of this support down here we have the move up we've been setting the higher lows and We're still on this support here. So we still we're still it's still intact the pattern still intact We need that move up remember I told you we need a higher high that higher high target would be around thirty eight thousand dollars before a Probably a pullback down to thirty six thirty five and then a continuation up to forty to forty two So if this pattern plays out, that's pretty much what needs to happen And that's what would confirm this pattern here into phase D And then eventually phase E would be a break of forty two K So again, we just have to continue to let it develop and and continue reassessing every time we get, you know We give it some time. So let's see what happens with that. We'll update you guys again on Monday. That is it for today guys Thank you guys so much for watching this video Don't forget to smash that like button guys It helps us a ton with the YouTube algorithm and it only takes a second to do it takes us a couple hours to get these videos together It takes you a one or two seconds to smash the like button while watching this video if you guys are new to the channel Don't forget to subscribe guys turn on the notification bell as well So you're notified as soon as we post the videos. Thank you guys so much have an amazing weekend Hopefully we can all make some profits again. I will see you on Monday as always peace and love