What's up everybody Jason here for Jasper's casebase.com this fills up clearly Donnerus or figure 2 number 3 and 4 with this 2014 giveaway 2022 clearly Donner's football one box break number 2 now gang guys This is a 32 spot break every biggest round team in NFL all-court ship, but tonight only we only sold 26 spots If we sold it out tonight, which it did we're gonna give away six free spots to customers that bought in to increase their chances of winning a team So the dice really here's gonna be for the customer. Oh, wow. They just scored Toronto Maple is Morgan Riley Right at the end of overtime. Sorry guys play off hockey. Wow Toronto after getting blown out in game one win game to handed handedly in Toronto now take a game here in a Tampa Bay Anyway, this dice really here. We're gonna randomize the 26 customer names top six when free extra spots We're gonna paste in the six names here That'll make 32 and then of course we could do the break and then at the end We'll have the list of 32 for the giveaway at the end. So here we go dice roll it and Six or four and a six ten times. Good luck one two three four five six seven eight nine and Tenth and final time guys top six when extra free spots Mark L. Kev James Nancy Jason and Jason.  All right, so that'll be the list there for later Now we're gonna use this list here ten times for the names and teams in the break one two three four five six seven eight nine ten Mark down to John seven eight nine ten ten times Tennessee Titans down to the Las Vegas right us All right again guys stick to what you got of course no trading. I'll give you as a quick little Minute to look at your teams there How did Cal foot do? Cal foot doesn't play for Tampa Bay Wow, did they get Alex Faust to travel all the way up to Seattle? We're thinking of the same Cal foot He was drafted by the lightning, but I think he got traded to the national predators, dude Unless we're thinking of another foot And another cow Think maybe you're confused or I'm on this. I'm confused, but I don't think so I Think Cal foot was a rookie the same year Matthews was in 2017, but he didn't really play so much I'll look it up right now Grex unless you want to There's two Cal foots then Calvin Austin Pittsburgh Steelers and That's James and then we have here a Jonathan Taylor to 99 Bailey zappy rookie Kenneth Walker Pickins as well So is that card yours then Rex? Unless Christmas stuff or you heard wrong. I don't want you to think that that's your card that maybe it's not It's 42 out of 75 there Calvin Austin and then Jonathan Taylor there All right, so there you go guys quick little filler box there now let's Switch scenes and let's do the main giveaway now So again top 24 get a team in either picking three or four Here's a dice roll. Let's roll Two and a five seven times. Good luck. Oh Okay, that's your final perfect. I thought it was like a pick your team random team two and a five seven times one two three four five six and Seventh and final time guys here we go boom seven So mark at the top all the way down to Jason Parker at the bottom and again, it's 24. So Only unfortunately like I think eight people left out So from Jason waters down to Jason Parker not in unfortunately But the rest of you guys are and let's see how it played out guys So mark you're the Titans in Actually, so that's not it. So mark L I'm sure you have the commanders in three James with the Packers in three Jason K with the patrons in three James with the Seahawks in three Jason Parker with the bucks in three mark with the Titans in three mark L Packers and for Jeff Patriots and for Nancy with the Saints for Ryan Bartow with the Seahawks and for Titans for for Jason waters Jeff and Eagles for James. You have the Texans three Pat Wolf of the Broncos for John are with the Texans for Jason Parker with the Jaguars for Jeff hand with the Dolphins for Kev with the Ravens three Nancy You have the Giants one that from a free-spot filler Then Kev with the Ravens for Jason Park with the Bears for John with the Giants for Kev Free spot with the Panthers for and then Jason Parker with the Browns for So there you go guys unfortunately everybody else not in but thanks for giving her a shot And like I said guys coming up next is the brick itself


Okay, so we'll try to keep it fairly straightforward so that it's understandable for everyone. And hopefully you'll find something useful. We're going to give it a couple of minutes and start at 3.55. Okay, so my name is Surya Anand and this is my colleague, Surya Pathak. So we are a part of emerging technologies at Red Hat and we look at the latest data science trends and create POCs that can help internal Red Hat products and also upstream open source communities. So today we're going to go over how we can deploy our own open source language models and also go into an application and its architecture to explain what are the components that go into such an application. So all of our experiments are done on OpenShift, which is a Red Hat product. However, all of this can be replicated on a Kubernetes cluster. So all of this is cloud native and you can use this for your own experiments or deploying in a production environment. So we're going to start today by going into the overview of large language models, then describe an example problem, give a solution demo, and then explain the architecture of that application. Then we'll go into the open source components that we used in that application to explain some of the components such as vector embeddings, database base models and fine tuning, and finally some of the deployment frameworks that we used. So to give an overview, foundation models or large language models are a type of neural network and the job of the neural network is to approximate a function that fits the input data. Now, the entire explanation of this topic is out of the scope for this talk, but I'll give a brief introduction. So if you look at the graph on the left, it's a very simple data set with two dimensions. You can think of it as a housing price data set where the x-axis is location from the center of the city and the y-axis is the house price. And so if you plot the house prices on this data set, you can basically fit it into a line, the blue line, and if you have a new point and you know the location of that point, you can go on this line and on the y-axis, it will give you a predicted housing price. Now, this is a simple data set and you can use a simple line to fit this data set. However, if your input data is multidimensional like an image or natural language, you need more advanced architectures to find multidimensional version of this line. So as these architectures are advanced, we have come to this transformer architecture and this image basically shows the transformer network given by Google in the paper attention is all you need. So what this architecture has allowed us to do is to have a generation mode, or in other words, outputs or words can be created repeatedly by guessing likely options for each next word. So you can start with a human prompt and then the model can start generating new words. So we've seen that this has applications in code generation, information retrieval, question answering, sentiment and classification tasks. So today we're going to take one of these applications of question answering and describe documentation search application. So the primary objective of this exercise is to create a QA system for product documentation and we're taking a cloud service called Rosa, which is that had open shift on AWS and take all of the publicly available documents for that particular service and create an application that looks something like the image on the right side. So there is a question and so it says what are the differences between Rosa and Kubernetes and then there is an answer text to that. So we want an application that can generate that answer. So for the data set, like I said, we take all the publicly available Rosa documents and for validation we use a FAQ document. So some users asked question about the service. We recorded those and we have engineers generated answers to those questions. So we take them and see if our application is able to match the quality of those answers.  So this is the environment that like that open data hub, which is an open source project and roads provide.  We are currently updating the front end. So it's as simple as calling this application and asking your query. So here I'm going to ask what is Rosa or what is the service? And it's going to execute all the steps in the background. So it's going to load the documents, like the data set documents, it's going to load the vector store, then it's going to generate top candidates. So these are potential answers to this query. And then the final step is to have constructed answer, which is basically definition of the service. So it's fully managed on the application platform and so on. So we can do this with any query. I have another example. So we can ask a question that a user actually asked. What exactly am I responsible for? And what is red hat slash AWS wants to move forward? This should do the exact same thing that happened in the previous query, load the documents, the vector store, generate the top candidates, and finally the answer. So yeah, that's basically the application demo. Next we are going to go into how we created this and some of the open source components that we used. So the major concept behind this is embeddings and it's really exciting to see how far things have come in the embeddings world. So given overview, so we have as input words or images. In this case it's like a cat or a dog and a car. And then we enter that into this embedding model or neural network that generates this embedding space or a vector of numbers that capture information in the input objects. So at the end, we have this space where cat and dog are closer to each other. So that means there is more similarities between them than compared to with the car. So the car is further away in the space. So that's the basic concept. And we can see that in an example with the query that we just ran. So the question is, what is Rosa service? And then we can run this to encode that question into a vector. So this question vector is 384 dimensional, so it's a collection of 384 numbers. And we can just look at them here. Similarly, we can get the answer to that question. So the definition of that service and encode that into the same vector space. And then we can calculate the distance between them. So how close are they to each other? And when we do that, we get a number between zero to one. One meaning that they're highly similar and zero meaning that they're further away in the space. And here we get something like 0.6, which is a high number. So if we do a sanity check, if we take a completely unrelated piece of text, so something about Docker, then the similarity between our Rosa question and the unrelated vector is quite small. And similarly, the similarity between the answer vector and the unrelated vector is also very small, so around 0.2. So that kind of signifies that the embeddings can capture some of the semantics inside these texts. So we can extend this exercise into a collection of documents around this Rosa service and a collection of documents around Docker. And when we take those 384 dimensions, squeeze them into two dimensions. And look at the plots, we see two separate clusters indicating that these documents came from different sources. So again, it signifies that in this space, the embeddings were able to meaningfully separate these two. So how does it become useful in a document retrieval or a document search application? So if you look at this graph, what we do is that we take all the documents and encode them into vector space. So all the blue documents show those. And whenever a query comes, like the one that we just showed, we find the vector for that query. So in this space, we look at the nearest neighbor of that query and find those relevant documents. So this would be the most relevant. And if you want top five, we can take these five and use them as our candidate documents. So that's the first step in this application. Going to go back to the slides. Right, so this is the architecture of the application. So there's a user, comes up with a query, it goes into the embedding search. The concept that I just showed, so that generates the top candidates. Then the second step of this application is the answer generation. So you have the query, and you have the top candidates. And they go through a prompt manager or something that generates a prompt that can go to an NLM interface that talks to your large language model. So the large language model is then responsible for creating the final response. And so this architecture is like a bare bone architecture. There are many ways in improving this. So you can add lexical search to embedding search. You can add queuing, caching. You can add a task planner to this. But the basic concept of rag pattern applications follow this architecture. So next we're going to go into some of the open source components. So the first one is vector database. The purpose of vector database is to index vectors generated by the embedding model. So in the demo that I showed, we converted them to vectors. We converted the documents into vectors. So we take all the publicly available documents of a service. We encode them into vectors and then index them in the vector database. And the performance of these vector databases are judged on how efficiently they can find the nearest neighbor of the input vector. And they use something called approximate nearest neighbor algorithms to do that. So there are more than 50 vector database that have emerged in the foundation model area. And some of the major open source players are Quadrant, Milvus, Elastic, VVA, PG vector, and so on. So you could look at some of the benchmarks on Quadrant and Zillis and see which ones perform best based on your specific use case. In our demo, we are experimenting with Quadrant because it allows us to create a Kubernetes deployment and then also run it in memory locally. So this is an example of answers that we got from our application. So the first question is what I showed in the demo. So what exactly am I responsible for and what is Red Hat and AWS responsible for? And the actual answer goes into the responsibility separation. The second generated answer is without any prompt engineering. And it gets it partially correct. However, if we do prompt engineering, which is a collection of guidelines to create a prompt template that interacts best with your LLM. Then the final generated answer is much better. It's comprehensive and gives all the points that are there in the actual answer. However, this is not like a full proof method yet. So in the next two examples, I show where this fails. So in the question, where can I get more information and details? The actual answer gives three links to the Rosa service. However, the final answer here gives three links out of which two are incorrect. So it points to the hallucination problems that these large language models have. So we are currently working on getting feedback and improving this application. However, the base LLM that we used for this exercise was OpenAI GPT 3.5, which is not open sourced. And the next set of experiments that we did were to see if we can adapt some open sourced models and then deploy them and use in this application. So at this point, I'm going to hand it over to Surya. He's going to go over the next set of experiments and talk more about feedback and evaluation. Thank you, Surya. All right, so talking about adapting open LLMs, here we explored the process of adapting open models to suit our use case scenario. Now the first phase is pre-training. A language model is trained on a massive data set of text and code. Some examples include Falcon, Flan, Pithya, et cetera. The second phase is supervised fine tuning or SFD with high quality data, prompt and response pairs. For our case, we use the data set of prompt response pairs about Rosa documentation to fine tune a Flan model. This process refines the model, making it more in tune with domain specific areas. This can be replicated with LLama or any other family of models. The final step is the reinforcement learning with human feedback, or famously called RLHF. This step reduces the chances of the model being biased, toxic, or not so helpful for its users. We are currently collecting user feedback data to experiment with RLHF training. So more about open LLMs. Let's see what are some of the things that we can consider before choosing an open LLMs. The decision is based on your resource budget, license requirements, and the model performances. Talking about performances, there are some evaluation benchmark criteria, like MMLU or Truthful QA, et cetera, that you can use to find the model and that fits your use cases. As of licenses, some commercially available models and the respective licenses are listed here. Some have Apache 2.0, MIT, LLama, which has some constraints. Among them, we have experimented with Bloom, GPT-2, Flan T5. Now, we have taken this pre-trained model, Flan T5, and finetuned on our QA data set related to Rosa. We could do that in one T4, 16 GB GPU. One of the sources of this list of open LLMs is also Hugging Face Open LLM Leaderboard. So you can also check them out. Selecting an appropriately sized model according to your resource budget is also an important consideration. So once you have selected your preferred open model, and the next step is to transition from running it to your local machine to creating a fast, secure, and scalable API endpoint that can handle queries from multiple users. For model deployment, some things to consider are infrastructure and resource management, like GPU availability, model sizes, et cetera. You need to also optimize model deployments like cost optimizations, performance, check model latency, system monitoring, and optimized usability, meaning consider how many users are using this model, and lastly, also consider security and privacy. There are a number of different deployment tools available for LLMs. The best tool for you will depend on your specific needs, such as the type of LLM you are using, the tasks you want to perform, and of course your resource budget. Here's a quick comparison of some open source tools for LLM inference based on the article cited over here. Tools like VLLMs, CTranslate, DeepSpeed, shows low latency, means they are fast, but they have limited integration with other technologies. Currently, we are looking at text generation inference and RayServe. RayServe has higher latency, but also offers better scalability, multimodal compositions, et cetera. It also have a native Lantern integration, which is useful for a project developed with Lantern. In the next demo, I'll demonstrate how to deploy a pre-trained, flanned T5 text to text generation model with RayServe on a Kubernetes cluster. So here we have a notebook, which shows the different steps that goes into deploying a pre-trained, flanned T5 text generation model on RayServe. But before jumping into the detail, I would first like to give you a brief intro about the Ray and the RayServe. So Ray basically provides a backbone and primitives for distributed computing. And RayServe is a native library built on top of Ray, which provides a scalable and programmable framework for machine learning applications. RayServe provides user-friendly solutions for deploying and serving ML models, ensuring ease of use while maintaining products and readiness. This bridges the gap between the simple tools like Python Wave framework and complex and custom tooling or specialized system, providing the reliable and scalable platform for ML deployment. Moving on. So next thing is we first start by, in order to start the process of deployment, we first start by creating a cluster. So basically we begin with creating and configuring Ray cluster using the codeflare SDK. Now here, a brief definition of codeflare. It is a framework to simplify the integration, scaling, and acceleration of complex, multi-steps analytics, and machine learning pipelines on the cloud. Before we move forward, I would also like to give a special shout out to our team members, Michael Clifford and Alec Alanson, who gave a talk at OSS North America about codeflare. So I would encourage everyone, every one of you to have a look at it for deep understanding of this framework. So let's jump into the main point. So once we configure our cluster, our Ray cluster over here using codeflare SDK, let's look at different parameters. We have the name of the cluster, we have the name space, we have the number of worker nodes as two, minimum number of CPUs we designed as two, which means like each worker node has two CPUs, memory, each memory is eight, and number of GPUs is one for plan T5 model. Now we have instance case two, which means the worker nodes will be adjusted according to the workloads. Now this process will create a YAML file which has some Kubernetes resources that are deployed on the cluster. So once the cluster is up and running, which takes some time to run, we will be installing additional libraries that are required for model servings of those transformers data sets. So here, once the cluster is up, you can check the cluster address to Ray cluster URI cluster from here. Now we install additional libraries in the runtime environment like transformers, data sets, which will be used in the LLM preprocessing. So we define the runtime environment, we then initialize the Ray with respect to the address of our cluster and the runtime environment. And it will take some time to initialize. So once the Ray cluster is up and running, once the Ray is initialized, then we move on to designing our deployment class. Now to deploy a simple service like text generation, we will need a serve.deployment decorator, which takes in two arguments, a number of replicas. Here we have kept it as two, which means that there will be two service at one point of time, which means that there will be, which can improve performance and scalability, and reactor options which specifies that the service should be deployed with one GPUs. This is necessary to deploy the Flan T5 model to run efficiently. Now we then define the text in class with model pipeline and model query. Now in order to start the Ray serve application, we run the serve.run command, which takes in the deployment name, deployment class name, and the host. So this serve.run command will give you the, if you go here, if you will give you the Ray serve handle, which has the deployment name. Now using this deployment name, you will be getting the endpoint for this particular deployment. So once you provide a deployment handle name over here, you'll be getting the name of the deployment and the root to the endpoint. As you can see, the endpoint is at the root of the directory. So getting that endpoint, we provide that endpoint over here, we request it and provide a query over here. Like in this case, as an example, we provided the query open source submit is D. So it is the text generation, text completion. So as the model, what it does is it completes the text like this. So our query is open source submit is D and it completes like open source submit, the annual conference for open source community. It is the largest gathering off. So that is the output from a Flanty five model. So here is what I'm trying to say over here. So for our demo, we implemented a model with 783 million parameter on a single GPU and this is the outcome we achieved. To give you some context, the number of parameters for open AI GPT 3.5 is around 170 billion. The size of the base model improves the response, but it requires proportional compute resources. If you are wanting to run higher parameter model, you need equally higher resources. With open source models, we are currently deploying models like Lama 2 with seven billions and 13 billion parameters. The performance is better compared to one billion models, but whether they can perform at par with 100 billion scale models is an open area of research. So having said that, I'll move back to my slide where I described a bit about deployment. So now you have your model, you have deployed your model and you've got your output. Now what? When your language model is up and running, it is time to evaluate this performance within the context of the specific use case. To gauge the effectiveness of your document retrieval process, we talked about this in the earlier part of our presentations. A metric known as normalized discounted cumulative gain or NDCG is helpful. We saw it in the demo of the document retrieval process that the list of the sources were ranked one to five. This particular matrix excesses the quality of this ranked list. For generations, if you have, for text generations, if you have a reference answer, then you can evaluate your model responses based on that reference answer using automatic evaluation metrics like blue, root score, et cetera. For time efficiency, metrics like throughput and inference time are used. Now in the case when we do not have the reference response, human evaluations comes in the picture, which I'll talk into detail in the next slide. So why human feedback? Here we discuss the case as to why we require human feedback. Some of the reasons include for a domain-specific model. A domain expert needs to take the relevance of the response. When we rack original or truth response, we need human feedback. Although it might be correct, but sometimes the response of the LLM might be correct, but it might not be helpful to the users. And in order to evaluate those things as well, we need human feedback. So here is the result cited, which shows the increase in the performance for different model sizes after fine-tuning with human feedback. However, keep in mind that it does comes with its own resource cost for fine-tuning. Next thing is how do you collect the human feedback once you have your model generating multiple responses used by human evaluators? Then we can ask questions like, rate the response on the scale of one to five, or re-rank different response or edit your responses. There are two ways to include feedback in your applications. Number one, connect your applications with the data annihilation open tool, such as Argila. The snapshot is shown in the slide. We chose the prompt and response along with the UI for ranking the response. We deployed an instance of Argila on our Kubernetes cluster, and whenever we have an interaction where prompts are answered, a version of that response is recorded in Argila for feedback collection. The subject matter expert can then go to the UI and give the feedback through the tool. Now, another way of collecting the feedback is to build in feedback questions into the applications, and that would involve change the application UI itself, connecting and also connecting to the databases, et cetera. Our next step is to use a feedback we are collecting and use it to automatically refine the applications. Now to conclude this talk, I'll hand it to my colleague Srey for conclusions. Thank you. So just to summarize all the key points that would be required if we want to build such an application. So the first most important thing is that you have to clear up the problem statement or you need to know what is the desired output. So in our case, it was answers to Rosa product documentation. If you're building some other application like summarization or text classification task, then you need to fix that output before you start. The second important thing is you need to nail down the input data sets. So it could mean that for your application, the data sets are located in different sources like text files or databases, and you need to connect all of them with your application. The third thing is to choose a base LLM. So like Surya showed, couldn't go with different families of model and the decision to select one depends on the cost. So as you increase the size of your base models, you need bigger GPUs, and that means you have to increase the budget of the application. That does come with performance improvements, but then there's a trade-off. Then you have to consider the licenses. So you can only use, if you're deploying a commercial application, you can only use commercially allowed application. Then you also need to look at the performance of the LLM based on performance benchmarks and if it's giving ethical responses. So once you've selected the base model, you have to look at adapting it to your domain-specific task. So in our case, we did prompt engineering, we did fine-tuning with our data set of prompts and the responses, and now we are working on the feedback approaches. So there could be different combinations that work in different cases. So yeah, and once you know how you're adapting it, you have to fix the components. So example for that would be vector databases. And so you can experiment with some of the open source ones out there. There's also the choice of frameworks. So there's LAN chain, there's Lama index. These frameworks allow you to connect with base LLMs and then also index your input documents. So based on the features that suit your application, these components can be selected. Finally, you have to look at the deployment parameters. So for runtime, like Surya showed, there are many frameworks available. We are experimenting with hugging phases, TGI, text generation interface, and also Racer that we showed in the demo. For evaluation, you need to have the feedback mechanism in place and some of the metrics that we showed. So on our journey of creating this application, we found these points address some of the challenges that we faced and hopefully that was useful. Thank you for your attention. I can answer any questions you have. Yes? I have a question. If you have, oh, thank you. So if you're in a situation where you have a member of staff that's harangued by questions and they have a set of policy documents that they're answering questions on, but it's not a super large dataset between a small set of policy documents and maybe a restricted set of the DM conversations that they have, would that be a reasonable application of this? So you're saying if there's sensitive data, can we use such an application? Yeah, just one person. So like it's not a massive dataset, but they really need to be botified, turned into a robot that would automatically answer the questions that a sizable community talks to them about. Would this be a reasonable? Yeah, so like the vector database that I showed in the beginning, so you take whatever the size of your documents are and then you use the model to find the relevant context to a query. And it doesn't matter if your dataset is huge or small.  So you're not worried about you're sending that data to any other server. And when I'm saying you're deploying it on a Kubernetes cluster, that cluster can just be on your laptop. So yeah, the vector databases cover the small part and the local deployment covers the sensitive nature of it. Thank you. Okay then, so we're gonna hang around. If you have any more questions, we can have a chat. Thank you all.


New NHL game means a brand new year of Monopoly Hut. Yo, what's going on Leaf Nation? It's Leaf for back again and welcome back to the channel today. We are starting off the Monopoly Hut series for the first time in NHL 23. We if you if you're new to the channel, you might not know what the series is. So let me quickly run through it for you. It's pretty simple. It's not too hard to to grasp. So looking here, we have the Monopoly Hut board like a regular Monopoly board just customized to NHL 23. So as you can see on the board, we got open one pack audience chess, which I need you guys to help me out with. If you guys have any rewards, challenges or punishments for me to do with my team in regards to the gameplay, let me know in the comment section down below. And then looking here, we got bankrupt by any card chance second chance. That's if we discard our best player. We have a second chance of bringing him back. We got missed a turn by any card bronze goalie pink slips, which I will explain if we ever land on it, roll again, more packs and more packs and and more packs. And then we have audience auction as well. If I land on that, you guys got a comment on the video. What player I should buy for next episode. So pretty self-explanatory pretty much before every game that I play in an episode. I got a roll of dice, whatever I land on, I got to do before the game or during the game, depending on what I land on. And that's about it. So like I said, pretty self-explanatory real quick before we roll a dice. I thought I'd show you my team and what X factor I got. So as you guys can see, I opened up the starter pack when starting my team this year. I'm having Monopoly Hut and my main account on one account this year instead of having a secondary account for Monopoly Hut. It's just all going to be combined into one. So this was our starter pack. The X factor we did get was Kyle Connor. We have him up to an 80 overall already was 500 coins to upgrade him this year. I'm just going to upgrade X factors as I please last year for forwards. If I scored a goal with him, they earned themselves an upgrade. And for defensemen, if they got an assist, I believe they earned an upgrade as well this year. Like I said, I'm just going to upgrade them when I want to upgrade them. So this is what the team's looking like. It's not great, man. We ended up pulling John Thavars in the starter pack, which is not bad.  We got Kubel, we got Wayne Simmons. The defense is looking absolutely atrocious. And somehow Ben Bishop is still in the game. I don't know, but we got Ben Bishop in that. Goals are OP. So I'm interested to see how this is going to go with him. Six, seven, two, ten. We all know how Ben Bishop plays in game. I just don't know how he's going to play as a 74 overall. All right. So with that being said, it is time to roll a dice for the first time this episode for the year, actually. So let's see if we can get we're hoping for some good packs because the team looks like cheeks right now. Let's be honest with each other. So here we go. First roll of the year and we get a five. All right. So five is by any card with that being said, we technically have no coins I do have 12.8 K on the account. So I'm going to give myself a budget of one K for the video. We have 1000 coins spent on one card to help out this horrendous team. So Henry, Henry Borgstrom wouldn't be bad. He's a pretty speedy guy. Like there's not much I can get for one K coins right now, men. And right now I'm just looking at speed. Like we need people that can skate pretty much. So right now we're going to remember Henry Borgstrom. He's definitely the front runner to come onto the team. Maybe even this guy, Michael Corson, Corsone, he has worse face off. So I'd probably stick with Borgstrom right now. We got Noah Gregor in the leagues, better face off, better speed. Well, add him to the watch list just so I remember these cards. Jonas Don Skoe, I feel like I get him every year as well. But Jonas Don Skoe is a shout as well. 85 speed, 85 Excel would be pretty good to the right side. Another guy we're going to add to the watch list. Oh, OK, there's Trevor Moore, 86 speed, 86 Excel. He could skate, he has a good shot. Trevor Moore is definitely the front runner right now. Magician as well, which we are too often getting. So right now it's looking like Trevor Moore is the front runner. All right, Trevor Moore it is. Let's make sure we buy Trevor Moore and not there's your Lemieux here. So Trevor Moore, welcome to the team. First card we are purchasing of the year. So let's see how he does for us. It's only one player. I'm actually nervous to play with this team. All right, so we just slotted in Trevor Moore into the second line. It's looking better than it was before. We got Trevor Moore, David Lundquist and Kubell. And then the first line, I guess we can move Kubell and Simmons up one each. So really, the second line is Simmons, Lundquist, more first line being Kubell, Tavares, Connor. It's not a good team. Defense is looking super weak and our goal tending ain't looking great. I don't have high hopes for game one.  All right, so the one big change to hut this year is rivals is going to be different every week. So this week it's called hut rivals burst, which means it is a five five normal rival game mode, but it is two minutes in period length instead of four. So with that being said, I usually do two games in episode. But for this type of mode, I think we're going to go with three this time around. And next week we'll see how it is. But for this mode, we're going with three games in this episode. I'm pretty sure let's hop into the first one of the year. First game of the year, Victor Hedman, Steven Stamkos and an 86 show field. This is going to be interesting. Got a good team. He's got a good team. This shall be interesting here. I don't know how this is going to go, man. This guy's 27, 11 and three. Oh, my God, this guy's played a lot so far. Across bang, Kyle Conner opens up the scoring first goal of the year. We're up on nothing already. This is beautiful. Let's just try to keep it this way. I don't know how I'm going to pass over Trevor Moore in his debut. Oh, my God, nice try. Jordan Bennington was a big save on Wayne Sevens. Get the Trevor Moore. We had a little bit of an odd man rush. Oh, my God. No, no, Trevor Moore is hurt, bro. There's no shot. There's actually no shot. One of our better players is hurt already. This this is not good. This is not good, Chad. These were a man's short. Oh, that's a goal. Oh, my God, Ben Bishop. OK, bro. OK, at this rate, I'm not going to have a team to ice. And one, we were up on nothing. We're out. Time on attack in him. Shots are pretty even. He's winning by one. Trevor Moore is hurt. I'm sad. There you go, Johnny. Over across, Kyle Conner got robbed. Oh, my God. Over across. John Tavares make that a two to nothing hockey game. This first line is absolutely raking it in right now. We love it. End of two. It is to nothing. A goal, a period we will take shots or even, but we are a time out of attacking him. Time on attacking him like crazy out. Time on attacking him like crazy. English is just a great language. Can Simmons do a tow drag? He can. That could have been nice. Oh, out of front. There it is.  I don't know. I tried Manny Goaling. It's a good thing I didn't want to save. Guys, I think we just done it. We won our first game of the series two to nothing. Thought it was three to nothing. Ben Bishop with the shot out and we won a game with this team. I honestly cannot believe it. Getting close to bronze. So that's that's something there. We're in div three, got some hot champs points. That's good to know. Getting some coins for the series, which is nice. I will tally that to the total. Win rewards. We're four off of getting these rewards here to win two games in a row. Okay. And looking at the stats here, 11 shots. It was a 1143 time on attack to a 624. It was a deserved win to say the least. All right, our first game of the series was a W. We're right back to the board and we're hoping for some packs for the first time in the series. Let's roll the dice. All right, second roll of the episode. We landed on buying a card first time. So we're looking for some packs here. We get a one, which is open one gold pack. We got what we asked for. All right, so let's go open up one gold pack. First pack of the series. It's gonna be a premium pack because it was not a special pack. So honestly, all we're looking for here is some gold players to get rid of our silver players on our team, specifically defensemen, because I don't think we're winning another game with this team. Silver gold tender, not ideal. All right, so far, actually that's a gold. We will take that. That is good for our center core. Two centers, not too bad. Okay, can we get a rare gold maybe? That'd be nice. Something over a 75 would be nice. It's another center. We get three centermen's in this pack. Anything else? Nada, that one hurts a little bit. When we get three gold players that'll help the team out. I'll definitely take that. So after opening up that pack, the team's looking a little bit better. We got a pretty better center core, to be honest. Tavares, Dunn, Simpson, and Kluse. Those were the three players I pulled. I also pulled a 78 overall goalie. But after that performance Bishop just put on, he got a shot out. I'm gonna stick with him. We're gonna head into the second game of the episode just right off the bat. Team's not looking great. I don't think we're gonna win again, but let's see what happens. Okay, Jonathan Huberto, Hilary Knight, and Sarah Nurse. He's got a decent team. Definitely better than ours. So this should be another interesting one. We are caught. This isn't good. Cover pass. Oh no, we covered it and it went in off of us. Oh, that is so unfortunate. The first goal given up by Ben Bishop is an own goal. Off of our skate and in, we were covering that cross-seam pass and we're down 1-0. Just, you hate to see it. What a poke. Too bad we don't have fast players. What a move. Nah, he read that. I thought he was gonna try to come at me aggressively again. Simpson, a lot of save by Hellbuck, man. We are getting our chances. We are getting our chances. We're just running into a hot goal tender. End of one, we are down 1-0. We are getting outworked, that's for sure. This guy, I don't know. We're definitely feeling the effects of this team right now. Over cross. Oh my God. His AI was just in the right place at the right time. Kyle Conner, I shoulda took the shot. I shoulda took the shot. Shoot. All right, that was definitely a better period by us, man. We just can't score with a team like this right now. End of one, we brought it back that period. Look at the time in attack now. It's just, it's super hard to score with my team right now. It's unfortunate, but we're still in this game, which I like to see. Let's go, Kugel. Got a little bit of an all-matter rush here. Kyle Conner over to Tavaar is, we're not scoring this game. Conner Hellbuck is just on one. Let's go, Sons. Little twirly twirl. Another little twirl. Oh my God. Bro, that would have been actually nasty.  Unbelievable. I can't believe it. We're down to nothing. I feel like we should be up like two to one right now. It's so tough. Bro, that is two own goals this game. I can't believe the luck this kid has gotten. Unbelievable.  This game just wasn't meant to be one man at the end of the day. We ran into a hot goal tender. A couple of own goals. It is what it is, man. So really we made no progression on getting to bronze there. 150 points for that game. No goals, definitely hurt us. A couple extra coins into the bank so we have just under 1,000 coins I wanna say now. Probably no, yeah, about under 900. Looking at the stats here. It was a pretty even game. We just couldn't score on Connor Hellbook. It is what it is. We move on to the next game. All right, it is time to roll the dice for the last time this episode. We're one to one this episode. It'd be nice to end off with a win. But more importantly, let's get some more packs. All right, final roll of the episode. We're looking for more packs and we got a three. All right, so a three is open three gold packs. Yeah, all right, that's good for the team. We get three base packs to open or three premium packs to open. Last one we got what, four gold players. So we're hoping for the same out of this one here. What can we get? Michael Hutchinson. I really just wanna quick sell that card. I'm not even joking. I can't stand that guy. Michael Hutchinson, first card there. He won't make the team. We don't need gold tenders. Just a bunch of silvers. Jordan Gross, we finally get a good defenseman. It looks like he's somewhat speedy, 84 speed, 85 Excel. Not too bad. Ooh, Shay Weber, the newest Vegas Golden Knight. Sadly can't play hockey anymore, but that's another good defenseman. So two right-handed defensemen in this pack. Any other gold players left in here? No, but hey, we will take a Shay Weber and a Jordan Gross. So far, two defensemen, which we needed. Our defense is looking rough, so that's good. So more silvers that's definitely not gonna help us out. More silvers. We need some gold players here, yeah. All right, Ross Johnston, an enforcer. I mean, he'll crack the lineup because the team's obviously so bad. We'll take that. Michael Hutchinson again. I am legitimately getting trolled. This game, unbelievable. Okay, Jake Bean, that is a huge defenseman. Our first 80 plus overall in a pack. This card looks pretty good. He is a pretty good synergy and distributor. 86 speed, 86 XL, decent shot. Not too bad from Jake Bean, and that's about it. So Jake Bean and Johnston, not too bad. Not too bad. We're getting some good defensemen, so our decor is looking better. Two Michael Hutchinson, which is just a joke. It'd be funny if we pulled them again. We could pull William Trudeau, bunch of silvers once again. Anything going here. More silvers. 750 coins, which is good. Lump that onto our sum total. Victor Loden, another center. We can throw him onto the left wing because he's left-handed or in the right wing because he's left-handed, so that's good. Victor Loden, Luke Coonan. Not too bad as well, another centerman, but we'll probably throw him on the wing depending on his face off rating actually. 75 for him. And Loden has a 72, so it depends again. And that's probably it. Okay, another left defenseman. So our decor is looking good. Let's throw these guys onto the team. So after those changes, we ended up bringing in Luke Coonan to center Wayne Simmons and Trevor Moore. We then brought in Ross Johnston and Victor Loden to play with Justin Kluse.  And then on defense, it's looking better. We got Jordan Gross paired with Jake Bean. We got Kyle Capo Bianco. Not too bad actually. I think I nailed that. Playing with Shea Weber and then Holloway and Beutic. We do got better goal tenders, man, but I'm not playing Hutchison. We're sticking with Ben Bishop. We're heading into the next game. All right, game number three, Kaepersov, Panarin, and Hensley. He's got a good team. We're gonna try our hardest to win this one. I see McDavid on the ice. Is that, no, that's 97. I see 97, I automatically think it's McDavid. I don't think it is. Let's just get this win. Beautiful saucer over to Kyle Conner and we're getting robbed again. Oh my, okay, his goal is short, man. We gotta take advantage here. This is the goal. All off the post, Wayne Train almost had his first. That is so tough. Kyle Conner, down low, John Tavares over across and that's Kubell with his first of the series. It's one to nothing. Absolutely love it. Great power play goal. We finally scored after not scoring last game. And Kubell with his second of the night. What a pass from Tavares. That's his second assist of the night. We're up two to nothing early. This feels like a better game. The team's feeling good. All right, shorthand of goal given up by us. Gum passes by me. It's a one goal game. I got a smart and opera. I'm gonna lose this game.  No, they gave me the wrong player to control. Oh my God, it's two to just like that. End of three. This guy's definitely brought this game back, man. Obviously we were up to nothing. It's two to now. I'm not too worried. We win this in overtime. That could have been bad. Oh my God, I just missed the net. We dunk. I don't care. We take the win. I should have won this game 20 times over. We take it. It's a three to two victory in overtime. I dunked. I feel, I don't feel bad at all actually. We take that win. Let's go. So currently altogether we have 2,266 coins to spend if we land on any player. And looking at the stats here, we came out with the win. That's all that matters. Well guys, that is it for episode one of Monopoly Hut. We ended up going two in one. Getting some good players for the team. Obviously could be better. So we're hoping for some more packs next episode. But that is it for today's episode. Hopefully you guys did enjoy it. If you guys did, be sure to drop a like on it. If you guys are new around here, make sure to hit the subscribe button down below. And yeah, that is it for today's episode. Thank you guys very much for watching and I'll talk to you guys later. Peace.


I know kids my age that struggle with depression, anxiety, stress, friend issues. You know, just being a teenager at schools are where kids should feel safe within, so... To have access to mental health services at school, I think would be super beneficial because... It's so much easier to reach out. It removes the shame. Not every student is comfortable telling their parents that they're struggling with mental health, and so it removes a lot of pressure. Having the support makes it so that you're never really alone. It's really helpful to know that there's a support system in my school that can help me with my struggles.


Do they see us that we're ambassadors of some sort that we're a bridge of some sort that we're some kind of conduit to help shine the light on people like you get this information out there connect with the people in the masses. Absolutely, because the more people are willing to provide opportunities for the dissemination of information so people have other options to consider. The more that that spreads around the world it changes the vibration it changes the frequency of humanity and it makes more things possible and it certainly makes it more likely more probable for us to be able to have open contact because they're basically looking to us to determine when we're ready for such things.


I'm joined today by Deputy Attorney General Lisa Monaco and FBI Director Paul Bate. Today, the Justice Department arrested Jack Douglas Tashira in connection with an investigation into alleged unauthorized removal, retention, and transmission of classified national defense information. Tashira is an employee of the United States Air Force National Guard. FBI agents took Tashira into custody earlier this afternoon without incident. We will have an initial appearance at the U.S. District Court for the District of Massachusetts. I want to thank the FBI, Justice Department prosecutors, and our colleagues at the Department of Defense for their diligent work on this case. This investigation is ongoing. We will share more information at the appropriate time. Thanks, everyone.


This is another sample that I just got from Ublox, thanks Michael for sending these to me. So this is a Ublox Neo F9P, so this is a new tiny, tiny version, you can see this kind of cool 3D construction, the Ublox chip and crystal and all that in there. And this is an RTK module, so it can do a centimeter precision location using a base station. How big the previous version was, so it's like half the size. Small and offy and you can fit it on like a feather board or like maybe even like a cutie pie board. Kind of nice. So I just got these in, so I'm going to try designing a breakup board. Also like that the pads are on the edge here, so they're more reworkable than having all the center pads. But we're going to be working on some RTK stuff now that you can actually get these modules. Thanks Ublox and thanks Michael for sending these.


Hi, we're the Standard Librarians. We are a volunteer group for Rails Girls Summer of Code this year. My name is Jen Diamond, slide please. This is me and my rocker days. I come from a creative background. I did a whole bunch of different creative things and a few years ago I got into coding. I met Josh and Stephanie at our study group and convinced them to sign up to coach Rails Girls Workshop that we were doing. So Wally ended up being at that workshop and it was the first day that we were all in the same room together and in a couple months we'd be a team. Hi. Hello, Rocky Mountain Ruby. My name is Oma Wally. I also go by Wally but I just please ask that whatever you do, you do not pronounce my name as Wale. So as Jen touched on earlier, I was actually introduced to Ruby at a Rails Girls Workshop that she ran. Before that, my background actually had to do with underground live art events for youth in my area and I worked with a friend and we would just put on random shows, anything from sticker trades and street art to break dancing contests to heavy metal and ska shows to even food competitions. So when I went to the Rails Girls Workshop, it was my first introduction to the world of programming and development in general. I actually got onto this project in an interesting way. I had applied for a summer of code with a friend but I didn't get in but our coach actually was the same coach for the standard librarians and he introduced us and that's how I met Jen and Steph and Josh. So hi everybody. I'm Stephanie Bettencourt. I work in education with the California Association of Independent Schools. I've been doing front-end design for about four or five years, starting with WordPress and working my way through, did a little bit of object-oriented stuff, C++ and Python. And then two years ago, I went to Rails Bridge and made the jump to Ruby. So since then, I coached at Jen's Rails Girls event in March and then a couple months later we applied for the summer of code. Hi. So my name is Josh Loper. I'm a remote Rails developer. I'm currently living in Texas and I've been coding since elementary school and I've been interested in web development for a long time. I was a coach for Rails Girls LA like Jen said and I was also participating in the Ruby study group that we were having twice a week and from there Jen asked me to, if I wanted to help with the open source Rails Girls summer of code project and I said yes. So we've said a lot about Rails Girls. Maybe there's a couple of people in this room who don't know what Rails Girls and Rails Bridge are. Who doesn't know what Rails Girls and Rails Bridge is? I'm curious. There's you. Okay. I'm speaking to you. So Rails Girls and Rails Bridge are programs to help get women into coding and excited about coding. So they're, start out as a weekend workshop where you spin up a Rails app really quickly and kind of demystify coding and teach some basic Ruby and then it's followed up by some study groups or maybe some small workshops and other support to keep guides to keep you learning more because as we all know you can't learn to code in a single weekend but you can get excited to start coding in a single weekend. And summer of code is a program put on by Rails Girls to help give women a supportive environment during the summer where they can focus on code. We were a volunteer team so we weren't compensated but for a regular Rails Girls summer of code team they'll get financial support, they'll get access to resources in the form of physical locations for them to work and they'll get access to amazing coaches. So we got access to the resources and amazing coaches. So like Wally said, each summer of code project has a coach and a mentor and ours has happened to be Pivotal Labs in LA who did an amazing job providing us with resources in the space to learn. We had four dedicated Pivotal coaches who worked with us four nights a week on our project. We also had a mentor, Pat Maddox, who was there from the beginning and oversaw the project. So what is Feats of Daring? Feats of Daring is an interactive reple inspired by TryRuby.org to try to help beginners and junior developers learn about the Ruby standard library. And we do this through imagery, storytelling about a cat falling in a well. You'll hear more about that when we show you what the project looks like. So you might wonder why did we choose the Ruby standard library? When I first started coding several people, including Giles Vauquette, one of my main influences, told me that a great way to start learning more about Ruby is to use, to go check out the Ruby standard library and start learning about Ruby through there. So I was really excited to have a direction, went up to the Ruby docs, jumped in, opened it up and as you might know, looking at the Ruby docs, it's incredibly huge, well documented and pretty intimidating as a beginner user to look at just the sheer volume of the things, the libraries, the methods. Each individual library itself can have 25 classes and 25 methods. And then where do you even start to learn about the methods? How do you know which one is good? What libraries do people even use? So when we had to come up with a project for Rails Girl Summer of Code, I figured why not just make a learning tool so that a beginner can jump in and start to parse these libraries and get some value out of it. So as Josh touched on earlier, we created our project in the spirit of why is try Ruby. We did that because we wanted people to be able to jump right in without having to download any software and we also wanted to create a fun learning experience to motivate people to explore the libraries. So when we first started, some of our thoughts were that we wanted to go through the entire standard library, which is about 107 libraries. So we did go through every single library at least a little bit and try to break it into chapters or categories, however you might like to call it, and just tried to group the libraries together. So we came up with several chapters and some of the chapters were HTTP, encoding and compression, IO, Ruby tools, DSL, and more. So ultimately we actually spent the whole summer working on just one library and just trying to come up with the best process possible. One of our coaches, Eric Hu, actually tweeted asking, what is the most popular Ruby standard libraries? And OmniRef actually replied with a blog post with the list of the most included libraries by Jim. So you can see test unit, YAML, JSON, value till, some of the ones you would expect to see there. So we do plan to add more libraries in the future. So like Josh said, there's a lot to learn in the Ruby standard libraries, and sometimes they're overwhelming. I've met people who built a gem only to discover that the gem they built duplicates part of the library, and that's crazy. If Ruby has had a better grasp of what the library could do, we wouldn't need to reinvent the wheel that way. One of our main priorities for our app was user learning for our user personas. And we wanted to be able to make sure that the libraries were understandable and accessible for those people that are accessing our app. But our main priority all was to learn for ourselves, and later we'll tell you a little bit about what we learned. So our project started out how most pivotal projects start out with an inception. And if you're not sure what an inception is, it's an agile process where you have to really think about your project and how you're going to build it. So there are a lot of decisions that have to be made because you're making something from scratch, so it's a real creative process. So you have to think about things like breaking your idea down into stories. You have to think about who your user is, the different levels of your user. You have to think about the technologies you're going to use, the wire frames to how your user is going to move through your application. You have to think about how you're going to work together as a group.  So because of the size of our group, we needed a little bit of structure. And our mentor, Pat, actually suggested that we try out mob programming. For those of you who are unfamiliar with mob programming, it's just a fancy way of saying working with three or more people at a time sharing a computer. In mob programming, there are defined roles. There are communication guidelines. And there's a rotation cycle. So there is a bit of structure to it. It's not chaotic. In mobbing, a team would meet together before they even write a line of code, and they would establish a set of communication guidelines. After those communication guidelines have been established, they would jump right into working on the project through the use of defined roles. So in mobbing, you have a driver, you have a navigator, and you have assistant navigators. The driver, as you can see in this picture, would be our friend Mike, who's sitting at the keyboard. The driver acts as kind of like an intelligent keyboard. They receive high-level commands from the navigator. The navigator kind of acts like your GPS system and steers the project for the amount of time that role is in play. Thank you. That role is in play. And when you're working on a project, challenges come up. So when a challenge comes up and the navigator is stumped, he or she or they will rely upon their assistant navigators and seek guidance. This is really where the power of mobbing can be seen, because mobbing relies on the power of the collective group's ability to think. So instead of putting a project on pause to hunt someone down who's not in the room or to do an online search on Google, people bouncing ideas off of each other can usually come up with a solution faster. One more thing to note about mobbing. There are some benefits that we experienced to mobbing. The first one was an accelerated learning environment. When one person asked a question, we all gained from that person's question, even though we had varying levels of experience. Number two is synthesis. In mobbing, when a new person decides to be part of the group, you don't have to take time to break down a project. What you'll actually do is you'll put that person last in the rotation cycle, so that by the time it's finally their role to either be a navigator or a driver, they've usually caught up on the gist of the project. And if they're still stuck, help is literally a seat away. And the last thing to note about mobbing, the last thing to note about mobbing is, that's it actually, that's it. Oh, actually, the last thing to note about mobbing is that if you want to learn more about mobbing, you can invite us to come and talk at your conference, because we have probably more experience doing mobbing than most. It's so new that very few people have the amount of it, three whole months of experience like we do. So as you may or may not know, Pivotal uses extreme programming and test-driven development. So over the summer, we did do test-driven development and learn testing best practices, just trying to get your idea out there when you're trying to express what you want to write in the test. And even if it's a little bit repetitive at first, just to try to get the idea out there. So that was helpful to us. So we learned how to write controller specs, model specs, and feature specs. And we were definitely very fortunate to have them show us how to do that. And they also showed us how to simplify the problem and just try to really, really simplify whatever story or feature that we were trying to work on and take it in very small steps. So it sounds simple, but it's a really helpful tool to try to solve bigger problems. So yeah, they told us, don't worry about writing JavaScript at the beginning. Don't worry about writing Ajax. And they even told us, don't worry about using a database. So it was interesting to see how they simplified the problem for us and showed us how to do that. We also got accustomed to using Vagrant. So we all got some exposure to using that. One of us was on a Mac, one of us was on Linux, and one of us was on Windows. So this was kind of important for us to use that. So our process looked a little like this. Some of us had full-time jobs, so we're students. So every night we'd meet up at Pivotal Labs from four to ten. We would write stories and tasks around Emerald, who was green, and our beginner user. And we had other user personas who were a little further along the learning spectrum. But after our inception, we actually decided to focus on the newbie. Even though these other people might find use from the app, we just wanted to focus our stories on her. And at our weekly iteration planning meetings, we'd point stories for the rest of the week. And we gamified the process as much as possible. So we had the timer ringing every 10 or 15 minutes, rotating chairs. And the goal of the game was to complete as many stories and learn as much as possible before the end of the week. So we're finally going to show you what we've been building for the past three months. Can you cue the local running app? Okay, so in the local running app, you're going to see these two characters, the adventures of Mr. Chips. We're going to run through our adventures with these two characters. There's a chip from outer space and his cat, Cudi. And so, can you move it up a little? So we're going to, we tell everybody that it's a really great way to learn. Ruby is by learning the Ruby Sandro library. And then you press the big green start adventure one button. And we move on. Can you press the little green button so the whole thing can be in the screen? It is. Okay. So we start out at adventure one to the story. Each adventure will be for a different library. And each adventure will have a different story. And then there will be three objectives where the people will run through the process of learn submit review. You'll learn a little, you'll submit some code into the repel. And then we do a review so that you can see what you've been doing. So in this story, you find out that Mr. Chips friends Cudi has run ahead and he was curious. He peeked into the well and he accidentally fell down and he's stuck at the bottom of the well and he has a tin can and he thinks it works. So we have to learn a little bit about the NetHttp library so that we can make a call to his friend for him so we can save him. So we continue on to the next page where the user gets some code. And here is their first piece from the library, the NetHttp. Get response method. And we make a web call to this URL and we put it into the repel. And we ask her not to copy and paste like we're doing but to actually type it because as Sarah was saying earlier, maybe it's not 10,000 hours that you need to learn but it is repetition. So we type it in and we hit submit and we get the response in the repel. And this is where it looks a lot like TriRuby. So we see, can you scroll it up a little? So we see that we get the 301 error that the page has moved permanently. And on the left hand side, we explain what happened. We tell Emerald that it's kind of like when you make a telephone call and the operator lets you know that your friend has moved and their phone has been disconnected. So we move on to the next objective. And we find out a little more about errors. And we learn, can you scroll up 401 error? Can you scroll so we can see the cat in his magnifying glass? And then we move to the next objective where we find out about 200 success code. And we're basically gonna move through adventure after adventure so that you can learn a little bit about each library. Well, 10 to 20 libraries is our first goal. So there's a nice cycle, like going through TriRuby really. For a more advanced user, we've broken down the libraries into chapters. So you can just scroll through and just browse through math. Say you're looking for something math and you're like, well, what does the Ruby standard library have? As you might know, if you look at the docs, it's not broken down that way. It's alphabetical. So this is kind of an easier way to jump in and see what math methods are available. This is the house of monkeys doing some math with their pentagram. And then there's a time and date. And as you can see, there's just different chapters. We've broken into about 12 chapters and they might not all be right now. But once we publish this, they will all be correct. So for the future of our application, we're gonna be adding more adventures and kind of beefing it up and maybe different levels of users and adding more to the chapters sections themselves and maybe flesh out more of kind of an easier to parse definition and some examples and maybe links to other sources where you can find out more. And now we're going to touch on what we learned while building this project. So for me, I had to deal with fear, uncertainty and doubt. When I started outside of the Rails Girls workshop, I actually didn't have any programming experience at all. So every day I had this intense fear that I was in over my head. I wasn't certain if I was going to actually make it through to the end of the project. And I doubted if my team was even gonna make it through to the end of the project. But we had some very amazing coaches at Pivotal and they asked me to feel my fear, acknowledge its presence and just get through it. They reminded me that struggle and failure are critical elements of the learning experience.   They said that though I have a lot to learn, I know more than I realize. And that just to stick with it, and I'm really glad that I survived this experience and that we all made it to the end. Yes. So I learned a few things over the summer. One of the things that I learned was that programming involves people. Sometimes I don't realize that whenever I'm writing code and working with a computer, it's not just about working with a computer. It's also about working with other people. And Matt says that we need to focus on humans and how humans care about programming. So I thought that was kind of cool how the programming language focuses on humans and we work with other humans as well. So hopefully everybody is happy that way. Another thing that I learned was working remotely. There's some certain advantages whenever you're working with someone in person, you can make eye contact with them. Conversation's a little bit more two-way. It's still doable whenever you're working remotely. There's certain things that are communicated whenever you're working with someone in person that are not being communicated when you're working remotely, just maybe more subtle things. So I just learned that there's a lot that you can communicate to someone through body language as well. So that's it. So this summer was a time of unprecedented learning for me. Believe it or not, most of the lessons I learned were not about code. As programmers, we often are used to working solo and it's very tricky to reintegrate with the team. Early on I kept quiet about my ideas so as not to offend anybody in the group. But I learned that my ideas have value and I need to advocate for them. Another thing I learned from the PIVOTS was to check in regularly on the health of the team with our weekly retrospectives. That's something I hadn't done before because they emphasize that a well-functioning team is just as important as well-functioning code. I learned mainly through the PIVOTS. They really helped me remember that coding is creative. And people said that before and I was like, yeah, sure, it's creative. And then this summer actually building something, I realized like, oh, we're making something. So it's inspired me to go back to my arty roots and start building more things now that I feel more confident with my code. And I want to start doing some performances with coding, which is probably strange, but I almost did it today. So be glad I didn't do it today. And I want to use the Sparks kit that I got here last year at their Arduino workshop. And I think I'm finally feel confident enough to start looking for a job. And for me, that's a win in itself just to feel confident. Because that was kind of one of my main goals this summer was to feel a little more confident coding. So what comes next? All right, so something very strange that happened during the summer was that after a while I actually began to have dreams of code. So I actually want to take some of these ideas that came to me in dreams and actually build them. I'm currently pursuing an interest in game design and I made a physical prototype. So I'm going to continue learning Ruby and continue exploring programming and build a digital prototype of the game that I made. I also plan on experimenting with Twitter bots and tweeting at my friends. And a very serious long-term goal I have is to eventually build an augmented reality game. So as we approach the end of the summer of code I had managed to start a career as a remote Rails developer and I'm going to continue that. And I'm interested in learning more about software engineering whether it's formal or informal education about it. I plan to keep learning. And that's about it. So after writing my first big Rails app in February, I've continued learning and building and this summer was amazing for that. Now a good portion of my time at the nonprofit I work at is actually committed to development. With my work in education I'm focused on supporting teachers and educators who want to teach young girls to code but don't have the resources. I'm also committed to mentoring women in the LA community and of course continuing to coach Rails Girls. This project is super personal and important to me. So one of my main goals in the future is to really keep, to maintain the project and to keep building on it so that the Ruby community can have a really fun tool to learn the Ruby standard library with. I did all the cartoons for it and so it's kind of like a fun creative element for me. So like just, I don't know, to have a kind of fun side hobby project as to keep my coding fresh and want to continue with the project entirely. So our coaches told us that they learned a lot and benefited and had fun by coaching a team this summer. By fostering underrepresented developers they've given back to the Ruby community. If this experience sounds like it might be fun for you, you should think about coaching a team next year. Rails Girls Summer of Code is an amazing opportunity for women to learn to code and I encourage you to join us next year for more fun. Well, can I say that one of our main goals is next year we want to coach a Rails Girls Summer of Code paid team and I'll be coaches for this project. So if anyone in LA is interested, let us know. So lastly, here are the credits. Pivotal Labs LA who we've mentioned a lot. So let's pull the integral to our product process. Pat Maddox, our mentor, he has this Ruby steps program where it's lessons in Ruby and he does mobbing online. It's very cool. Mike Boniface, our story coach, helped us kind of plan it out and think creatively. Woody Zool who invited us down to San Diego to mob with his team who all did .NET and we all were at the keyboard coding .NET for the first time for a lot of us. And then lastly, Karsten Zimmerman from Berlin who supervised our project and of course Rocky Mountain Ruby and you all for inviting us here. Thank you.


So we're here at CES 2015, and this looks really cool. So who are you? Hi, I'm Richard, CEO and co-founder of Jaroptik. Jaroptik is a company that manufactured the 360 cam. We developed that a year ago and now we're showcasing it at CES today. Did you launch on some Kickstarter or something like that? Yeah, we did a Kickstarter that did that on the July 4th, that was our financial independence day. We did 1.4 million sold 4,000 units online worldwide, 45% of our customers being in the US. 4,000 units are bought by Kickstarter users? How much did they pay? They pay on average 370 USD on average. The product started at 249 for the super livers on Wentmore. 249 with the early early guys? Early early early. And then retail price, what's going to be? So that is going to be 499, it's almost the same as a GoPro. Just a big difference, it's capturing everything in 360. So each of them has like a third of 360, 120? No, each of them is having 185 degrees, so it's actually watching backwards. The lenses are slightly tilted, so it allows us to capture everything around from top to bottom, 150 degrees, 360 degrees all around. 150? No, 150, yes, from top to bottom. Three eyes, three ears, three microphones. We don't only capture surround video, but we also capture surround sounds. We have inside also a GPS, gyroscope, so that if you do that kind of thing, we stabilize the image. The idea is we're capturing a sphere, if the sphere is not moving left to right, then the sphere should not change. You have different mode, if people wanted to move or not? Yes. So you can take like digital still with that, you can do burst, you can do like time lapse. Video, video comes in full HD, so 1080p equivalent, it's 2048x1024, 30 frames per second. Photo mode, it's 4K, 2K up to 3 frames per second. You'll find exactly the same stuff you will find on a regular camera. You do have like tripod mount, you have like the micro USB inside. We have micro SD, we have a one hour continuous shooting. We use SD micro SD card, 64GB, that works. Alright, so what's the response been here at CES? It's been great, very tired. Very tired? Yeah. That's great. And so it hooks up to the VR, like this. So basically any VR headset? Yeah, so here we are using like Oculus. It can use like Google Cardboard, we have plenty of them. Like Mario is making friends with... This is your 360 video recorded? Yes, it's from once 360 degree videos we've been recording in the past. Here we are in... Speed up? Yeah, this one is speed up, yeah. This team is actually having fun in a roller coaster. And actually it's real time, real speed. So, does that mean it's 360 3D or what? No, it's not 360 3D yet.  It's pretty new, many people that are coming here at CES never saw 360 before. So 360 is already first step, 360 3D probably going to be the next step. You can already enjoy like regular 2D 360 degree VR headset. That works great and it's a very nice experience. If you wanted 360 3D you would need a double the amount of camera or something else? It's more computation, it's different design. Let's go around here. So, people are trying out the VR and you're showing a ball here? Yeah. Who make this technology? So that's one of our friends, they're based in UK. They do 360 degree video projectors and that's one device that we showcase here. It's perfect for what we do, we capture a sphere. Well, guess what, they have a spherical screen and that's what we need. And YouTube 360 is coming out? Yeah, we announced that on Sunday. What did you announce? We announced it, they allowed us to announce that on Sunday. They confirm which is going to be great. It's going to transform our users into ambassadors. It means you can take 360 degree videos, upload them to YouTube in 360 and show your world in 360 to everyone. So, it's not about capturing your life in a frame anymore like you're doing with me, with your camera. It's about capturing everything around. It's one movie, one million story. You look at a movie in a different way, we look at it. That's the future of 360. You don't have Wi-Fi built in? We do have Wi-Fi, of course. So what does it do with the Wi-Fi? Wi-Fi, live streaming to the Oculus. Let's say next year you don't come here, just send someone that goes with the camera through the CES and just wear your virtual headset. You'll be able to navigate CES the same way you would be there. How long is the battery life? One hour continuous shooting. But there's micro USB? Micro USB, so you can have battery pack. Yeah, you can have battery pack. You can change the battery. I can film the whole day. You can film the whole day. I can stream the whole day to YouTube 360 live. You can stream the whole day. Oh, we do have also like a light bulb attachment. So if you want to do streaming, just plug the light bulb attachment on the back and it does get the power from the socket and it's streamed in 360 all around 24 hours a day, 7 days a week if you want. How big is the battery inside capacity? It's 1.3 ampere, so 1,000. 1,300. So if I have a 12,000 extra battery, I can last for 8 hours. And then I can live stream through Wi-Fi through the phone to YouTube live 360. You got it. So people can see, they can look around the whole day. Up, down, all around. But there's no data connection by cable. Only Wi-Fi, right? Only Wi-Fi. So we do have attachments. Same thing. I'm doing something. I'm opening the product. Is that secret or not? No, not at all. Oh, let's see. Battery. Well, that one is secret. Normally it's closed. But here we have like other attachments. Here we have the usage which is like GoPro-like. One other one that has a network cable, RG45, that allows you for example to do real-time streaming but in a steady way. It's using like power of a internet to get the power. Like in a place like at CS where Wi-Fi is completely jammed by the number of devices that are streaming, you would definitely prefer to do streaming over a cable. Well, guess what? That's what we have. So where do you connect the cable? So, let's go. Let's go. Oh really? Let me show you. You have it showing. This and this, exactly the same product. Just the usage that is different. Here you're having like a internet, so power of a internet base. It's exactly the same base as the one that has USB, just it's different connector. So this comes as an accessory. That's what you use. Live concert, security anytime, anything you want. And good bandwidth. Yeah, and good bandwidth. Same stuff here. If you don't get like 24 hours a day, 7 days a week or set up a temporary home video surveillance and any cam or anything like that, we'll just use the light bulb attachment. It's basically like an iPhone charger taking like 110 volts, charging it to 5 volts. So every dining room table needs to connect this instead of the lamp. Yeah, for example. Or add another cable next to the lamp. Yeah, yeah. And then you can just record in 360, every single dinner, the family. Completely, yeah. And watch it again in 12 hours. And watch it again, live stream. All right. One thing, like this is waterproof, 30 feet, 30 minutes. It's issue if, when you go to the swimming pool, you put goggles, right? Well, your camera does need it too. The reason why we're doing stitching inside, if you want to preserve actually like the field of view and not having like any stitching line, we develop those goggles that you put on your camera that will actually preserve the field of view. So little goggles. Goggles. And they go how deep? They go 30 feet. 30 feet. That's like 10 meters. Yeah. What's going on on this one? This one is the same one as this one. It's just like the blue version. Nice. So optical image stabilization. That's next, what? Next. Optical image stabilization. I'm capturing a sphere. It's not in there, no? It is. There's optical image. No, not optical. It's digital. But there's no need to do optical. We capture everything in a sphere. So the sphere is all around. If I do that... It stays. The sphere is still there. The sphere did not move. If I do that, the sphere moves. How can you do that in hardware? Can we look inside again? Do you want to talk about it a little bit? This is French magic. So you have some really good design in the CPU. SoC is good? No. We use our own IP, our own stitching IP. It's FPGA-based. You have an FPGA in there? Yeah, we do. All right, that's cool. Very tiny. So that's powerful. It's very tiny. Little power, low memory. But why is there display on the side? That's not true, no? Yes, there is a display. You even included display. Like an LED display. LED display. So it's a little bit like Nike Fieldband. You've seen that. The LED display comes here. Let me turn on the camera a little bit. And as soon as it's on, I'll show you. So it boots up some kind of Linux or no? Linux, it runs Linux. But it looks so nice. Like small, cool design, right? Yeah, yeah, yeah. Like 360. There you go. Let me see. One second, one second. Nice. So 360, what does it show? Why does it show 360? Because now it's booting. It's coming to 360 degrees. That's why it says it's a 360 cam. What does it show? I don't know if that one goes after. I think it's just demo going to 360. All right. So it just shows 360? Just for this one? It shows the battery. Oh, that one. That's the real one, actually. So it can go to video, photo mode, burst, time lapse, settings, go back to video. Let's say I want to just go to photo. Here's the moustache. The moustache is for lift drivers. That's because we're French. You're French, OK. So what's your background? Chemistry. Chemistry. Is this the first consumer tech business? No. How can I say? I did chemistry. Chemistry is everything about like taking some stuff you know, mixing it together to make some stuff you don't know. Well, guess what? Creating a 360 degree device like that is a bit the same. You know camera, you know how to do 360 degree. Well, how to make a 360 camera? Well, you try.  How long time did it take to make this one? 12 months. 12 months? Yeah. So you are fast guys? Yes. So that means when did you launch the Kickstarter? So we launched the Kickstarter in May. We started developing this product on January 15th last year. We had prototypes working on the May 20th when we launched the campaign. And we started my production. I was about to ship in Q1. And there's many samples on the web, people can see. And it's great shape, the stitching is perfect. And it's getting better and better. So that means you will update the software? We do update the software. We do our own lenses. We do our own electronics. We do our own firmware. We do our own mechanics. Everything is all made. I often say like lock us during six months into a room, just give us pizza and beer and we'll get a device all over. Is the stitching dynamic based on what's in front of the camera or is it just a geometric in the middle of both cameras? It's a brainless camera, but that has intelligence. So it will kind of choose the right camera for the right object? No, it's... I can't say. Kind of. All right, but looking forward also to the 4K version I guess. See you next year. That's going to be cool.


The largest League of Legends Twitch streamer is now partnered with Freedom and MGM. Who is it? Do you have any guesses? And we have a new winner on today's bonus $100,000 sponsorship for small channels powered by Freedom. You didn't think I'd let George have all the fun in announcing our winners, did you? Let's go! This Twitch channel has over 570,000 followers, nearly 70 million views, and is the largest streamer of the game League of Legends. Do you know who that is? Why? It's Nightblue. Welcome to the Freedom family, my friend. It's very awesome to have you join us. Guys, are you excited that Nightblue has joined us? Tell me in the comment section down below. And we have a new winner today. Today's winner was picked by Heartbeat. Click here to see how to get Heartbeat so you can also contribute to help us pick deserving winners. And today's winner is The Corn on the Cobb. Look behind me, guys. Corn on the Cobb helps out in the comments by providing channels, content, and structure reviews. And he's also started a weekly Freedom Spotlight show to help highlight other channels in the Freedom family and help them grow. Great job, Corn on the Cobb. You get to pick from one of these five prizes that'll get shipped straight to your door. If you follow these steps, click this video, make sure to click it, and follow these steps in order to claim your prize. We don't want to not send it out to you. This is Freedom, and this is simply a bonus video out of the 365 days, a full year of sponsorships for people that help small channels become bigger channels. And that's how you win. Down there in the comments below offer tips, graphics, advice, motivation to your fellow members of the Freedom family. You are part of it. I am part of it. We're all part of it. I've been Alex Adams, senior manager at Freedom, and you've been watching. And we will grow together as a family because this is the Freedom family. You are part of it. We are all part of it. And we're all growing together. So grow with us and partner with Freedom. That play now button right there on the video bar is all you need to click to get started.