Devreal

Leveraging tools from the Scala community to learn and teach Scala

Leveraging tools from the Scala community to learn and teach Scala

Recording: Leveraging tools from the Scala community to learn and teach Scala

you if you'd want to speak um so we welcome all things jvm uh and thank you for your time for being here this evening um let's uh let's te up Leo I think we've got two speakers tonight right should we just run through the agenda real quick and uh sure and te up Leo sure so we have two great speakers uh we have two great two great speakers uh let me bring up the agenda uh we're going to start off with Leo doing a talk on uh uh Leo Leo doing a talk on leveraging tools from The Scholar community learn and teach scholar and then following that uh uh Nathan Fisher is going to talk about nin Json type classes that know that none is not null none is not all so let's start with Leo uh Leo has done has has been a guest of SF scholar before as Leo grew up in France and has been living in San Francisco for the last 10 years he's passionate about functional programming and teacher scholar at demand base he enjoys designing and arting libraries software products simply Leo loves exploring where nobody has been before and working with teams that want to create the possible out of the improbable his draw to exploration and Adventure also carries over to life outside of work when he's not working Leo enjoys video games movies TV shows board games traveling eating cooking and good food over to you L Leo hello everyone so let me share my screen oh it's disabled is it is it I should trust you guys more right yeah I can now all right okay so uh so I'm gonna go over those slides since we already done that so that's that's my name Leo B I work at domain Base today as a data engineer I'm passionate about Scala functional programming and data and you can find me on LinkedIn GitHub patreon under the same Al as Le uh I've talked before about uh two open source libraries that I built uh first one is called zark iio which is a hybrid of Zio and Spark and help you kind of like lift up your project into to leveraging the Z power and on top of spot the second one called soteria is a SBT plugin to guarantee to like speed up your security audit for your company guarantee like good practices across all your project uh it's take take uh take a look and U feel free to ask me questions if you want to and there's recording from the scalf where I talked about this before so today uh I want I don't want to dive into technical thing I want to um the audience will be people that are interested in Scala and don't know where to start there's a lot of books there's a lot of resources and and sometime you get lost and if you finish one you don't know what to do next and so I really want to to present all those tools and that I found and uh if you know of others I'd love to hear uh I I'm not going to teach you Scala right now but I'm going to introduce you to series of tools that you can use to do so um my goal is to empower people from all origin and backgrounds to become the best Scala developers they want to be uh I'm only here to provide guidance and build a community that thrives and helping each other I choose tools that were free and open source so that everyone can grow at their own pace with the least constraint as possible I really want that everyone that just want to Lear Scala can do it so that's the agenda uh I'm going to humbly present some incredible tools that the computer scientist and Scala engineering and software engineering communities have put together as well as some uh some uh guidance to kind of like connect them together and I'm going to also introduce some some of those tools that I built myself uh and and and using all the modern technology to kind of like tie everything together so first of all we're going to start with exorcism so exorcism is an amazing platform uh that that is completely free and open source um and their motto is anyone from any background can become fluent in any programming languages for free including scalar that's why I included in this list uh so I asked Jeremy Walker if it was okay to talk about it and he was really happy so let me read the about page like the statement so exercism aims to provide opportunity for people of all backgrounds by helping them develop their programming skill through practice and mentorship exorcism provides s thousands of exes spread across over 50 languages tracks and and offer both automated and human mentoring the current platform is targeted that people with some programming experience who want to deepen their knowledge or learn new languages in time they will also offer support for total beginners Exum is 100% free it is entirely onput source and relies on the contribution of thousands of volunteers the platform is designed to be fun and friendly and they place a strong emphasis in empathetic communication so so uh when you're on exorcism you can complete exercise as kind of like a student and you can you can for instance be a student in Scala at the same time as mentoring a Java track if you're an expert there so it's really kind of like this cross contamination of knowledge which is incredible so when you are a student you can have this broad selection of challenges from easy to hard and you go into it you clone them locally and you implement the solution on on your own environment and then submit the solution when you submit a solution as a mentor you can go and see people solution and give them advice on how to improve their code quality give them tips and how to improve uh over time uh I created a team which is one of the feature to be able to have like a close Community where everybody can help each other without having to be like in this public kind of like space uh and so you um on this platform we now have like dozens of people and I help everybody to kind of like improve the code like use more functional programming patterns and and you can join uh you can join the team it's all free you know and you can just start crunching challenges and exercise and ask for help so it's a really good like way to learn Scala while writing Scala um The Next Step I want to talk about is Scala exercise um it I talk with Morin Ellsbury who is the director of marketing at 47 degrees and she was very happy for me to talk about this platform uh those are like the six uh top contributors um and so it's all open source and it's supported by the 47 degrees company I'll read the statement 47 degrees helps you take the next step in modernizing your legacy application to be real time secure and responsive by using battle tested functional programming and Cutting Edge Technologies and obviously they also help to grow the Scala Community because as you can see there's like a dozen open source projects and um going back to Scala exercises you have all those uh those kind of like category which are like all the main libraries and also the standard library for Scala and what's amazing about it is that when you dive into any of those you will see example and illustration on how to use this library and you can feel kind of like this exercise in the browser so you don't even have to spin up anything you can do it you know on your phone you can do it on while you're traveling you can do it on the Chromebook it's really cool because then you acquire this kind of like intuition and so when I saw all those tools I was like oh that's amazing I want to I want to participate and so I'm introducing AKB which stand for scal knowledge bits and it's a SC it's a series type build so three times a week on Monday Wednesday and Friday a new article come in and it's like it's supposed to be kind of like a two-minute little snippet of knowledge and you have you it's in three parts so the first part is a little introduction which uh will tell you what you're about to be confronted with and that relies on all the previous Knowledge from the previous SKB episodes so it's kind of like this progression and you can do it very quickly it's supposed to be done in like two minutes then you have an exercise built in the browser I'm using scy which is embed within the page so you you go and you kind of solve The Challenge on yourself there is no in like instructions and the goal is to replace the little question mark placeholder so the card compile and pass the test and you can modify the code to do anything it's basically like your kind of like send box and then when you when you succeed or if you want to just like skip ahead there is a more detailed explanation on on what you've just learned and kind of like formalize it so now now you have both side of the thing you have the intuition then you get the formalized knowledge and you can go back and modify the code based on you know what you just read so as of today there's like more than 20 articles available on like every topics and I'm publishing one three times a week there were one this morning and there is going to be one on Friday and and more next week uh if you don't like my website which you understand it's like a WordPress you know it can be slow load uh I also copy every articles one at a time on medium it's really tedious but at least people have the choice and uh I'm GNA present a surprise at the end so you've seen like the the little like agenda but I'm going to talk about this new platform of design at the end and so now you're like well okay I have all those bits and pieces but you didn't connect them at all what do I do so uh first of all I'm I'm going to introduce you to this other platform called Kil and that's to be able to unlock people so this platform is not free it's not open source but you'll see how I'm using it makes it available for everyone I talked with J badi which is a co-founder and their platform is really cool so basically it allow people with knowledge to connect with people that sick knowledge so as an advisor you can teach anything you want like you can see the examples here you can just create your profile and create your card and you can get people book you for you know 30 minutes an hour and it's a really cool UI you have like embedded videos and chats and everything it's it's all built in so it's not it's not a open source platform so why do I why do I introduce it well I introduced it because you can set your own price so my my time is free you can just come in if you need if you want to be unblocked if you if you blocked in any of the resources if you want some tips and advice you can just like book 30 minutes it's connected to my calendar and um it you you can just get unblocked that way I've I've already talked with a few people it was super fun like they had problem at work how to solve this problem some people had problem with like exorcism how to spin it up it it's it's great and then we all grow then we can repos those on present question back to the community so what what community am I talking about so I've recently started a Discord server which kind of con connect all the piece of the puzzle and uh Discord is really cool for that because you can have like all the channels and everything so let let me go through it um I started the server on like the 18 of August and within a few days we got like a huge of people at the time I wrote this slide it was like 70 members now we are more than 100 and shared it on LinkedIn you know being like you know if anybody want to join just so we can try out the the LinkedIn Po got more than 6,000 views and I was receiving like notification 10 times a day so there's clearly a demand for like a platform where where we want this kind of like comforting inclusive communities to learn and grow the Scala community and and I think Scala is a great language I think we need more kind of like a connecting way to bring people up and I believe that functional programming is the future like object oriented was the step after sequential and now we go like we go the step after so on the Discord server you have this kind of like introduction which guide you through all the channels and you have a channel per per one of the resources I talked about earlier so you can you can start with skbs to slowly start then when you're like okay I'm ready to write code for myself so you can then you can dive into the the the exercism and then you when you get comfortable with that you can then start and go to the Scala exercise which is more like functional programming in the library in the ecosystem and so you have like this progression from knowing nothing about Scala up to you can write functional programming using cats and Caz and z uh if you want to join I'm going to post so you can write down the the link I'm expecting some uh some buz of like people joining okay you just have to watch the last letters it's like Q upper W upper case W 5p WX so you might think it's over but then someone in this community was amazing and suggested me you know we have like all the two of go two of R but I have this person haven't find a good tour of Scala and so that the SKB series will that me a good fit so I had a few days to spare you know it's quarantine we can't go out so I am introducing to the tour of Scala I redesign the logo to be on a modern setup we don't have bikes anymore we all have electric scooters nowadays and so here's the tour of Scala that's the first time I'm introducing to the world it's like grand opening today nobody have seen it a few people but not many and so basically you have this platform where you have everything there you can click on each of the exercise and then you go on the exercise and you have on the left you have the the same content as the SKB series but in the setup which is like completely mobile responsive you that's the screenshot of my phone like you can literally do it in the train and un commute and um I can try to give live demo we'll see how that goes so here you go that's the website live you can start there scal values and uh you load the exercise which load uh the scity um the scity embedded platform so here you will see okay how do I make that work so like okay maybe six and then you go congratulation you are amazing and if you want more information about what you've just done you click here and you get the detail and then you can move on to the next one and it's super smooth everything is like loaded in in your local cache and I don't know I'm pretty proud of it yeah if anyone has any question let me know and I think let's go back to the slide oh yeah it's like it's open source if you don't like the design help me make it better I'm not a designer and uh if anybody has any question uh that's the time thank you everyone great thank you Leo that was great um I've I've got one I've got one question for you uh did you get any inspiration from other tours of other languages for tour of schola yeah so the design is pretty much the same as everybody else right you have the cut on the right the explanation on the left and the navigation at the bottom I try to reproduce the same thing so people don't are not in unknown territories that's cool well that's great that that's that's awesome I'll definitely uh spread the word to to everyone any questions on the um let me read some comments from twitch now um I've got someone saying thanks Leo very cool another one very helpful resource thank you thank you I'm very friendly new to scholar so this was very helpful uh someone's kindly share the Discord URL I think the URL is not correct so let me roll back to where's it there you go yeah I'll I'll re I'll re share it and I'll reshare it as well yep someone someone someone just posted it posted it anyone on Zoom would would like to askio any questions oh that means I was really clear so it's amazing I did a good job absolutely absolutely absolutely great well um in that case n Nathan are you are you ready to with your talk or do you want five minutes to get ready um give me a couple minutes should we um should we chat around until 7 uh in case anyone was relying on the calendar or we just jump right into it uh very good point let me see what I put on because I actually did the calendar just for so yeah I I did put 7:00 no normally you don't get that many people show show up as that late in a Meetup so why don't we compromise should we chat until 6:45 and then get started and I'm going to record the event and put it on YouTube anyway so if anyone misses the beginning they can they can they can rewind yeah usually all the good food is gone by the second time yeah I prefer that because I still only have 1% battery but it's lasted all the way through Leo's talk so well your One battery is really uh really strong I mean it's been 1% the whole time but it's it's one of those good 1% I guess that's cool you know what you know what I'm GNA I'm gonna actually stop the recording then this way we can have a separate video for Leo and separate for Nathan and this way we can upload them as two separate videos