- Applicative: The Origin Story
Hi Scalators, We got another virtual event for you! This talk will dive into some category theory and will attempt to take the blinders off and make things a lot easier to understand by providing some real-world examples that you can use! We will be using Google meetup and the event will be recorded. Talk: Applicative: The Origin Story Description: Functors and Monads came from category theory but where did Applicatives come from? What is the Applicative type class and what can we do with it? This talk answers these questions and shows some practical examples of using Applicative Programming with Effects to solve real world problems. Speaker Bio: Justin Heyes-Jones is a Scala developer at the consulting company Yoppworks. He works from his home in Vancouver, Canada. He has been programming in Scala for eight years and is very interested (semi-fanatical) in purely functional programming. Apart from writing code to solve business problems, his other great joy is bringing seemingly complex technical topics to a wider audience. You can take a look at more of Justin's work here: http://justinhj.github.io Submitting your own talk: If you're interested in giving a talk about Scala, Scala libraries, Data engineering, or JVM topics please contact a Scala Toronto organizer. All experience levels are welcome. Scala Toronto Slack: I would also like to invite people to join our slack instance to chat with organizers, speakers, other members, and even recruiters! Click the following link to sign up. https://join.slack.com/t/scala-toronto/shared_invite/enQtNDM3Mzc2MDMyNjYyLTBkYWVkY2E4MTczZDg2YWE0NjljYjE1M2QyZjc4Y2U3N2M0ZDg4ZTA4ZjMwYTY4NzI5M2Q1NzA4ZjQ1OGE5Yjc
- Cloudflow: Spark, Flink, and Akka Working together on Kubernetes by Nolan Grace
Hi Scalators, We're keeping the ball rolling on virtual events. This talk will introduce a new open source project from Lightbend called Cloudflow that can be used to deploy a data streaming platform composed of multiple open source streaming technologies onto Kubernetes (Spark, Flink, Akka Streams/Akka). We'll use Microsoft teams this time. This event will be recorded. Talk: Cloudflow: Spark, Flink, and Akka Working together on Kubernetes Description: Streaming is a huge part of building modern software. The industry is littered with tips, tools, frameworks, and engines directed at helping developers solve steaming problems but when push comes leveraging more than one tool for a project is extremely difficult. Cloudflow is a open-source project from Lightbend designed to address this problem and make it easier for developers to take advantage of all the best tools to solve each streaming challenge. In this session we will dive into a cloudflow application and by the end of the presentation you will understand how cloudflow helps developers build more complex streaming applications, with fewer lines of code, and get running on Kubernetes in no time. Speaker Bio: Nolan Grace is a Senior Solution Architect at Lightbend who travels the world helping companies build reactive tech. Submitting your own talk: If you're interested in giving a talk about Scala, Scala libraries, Data engineering, or JVM topics please contact a Scala Toronto organizer. All experience levels are welcome. Scala Toronto Slack: I would also like to invite people to join our slack instance to chat with organizers, speakers, other members, and even recruiters! Click the following link to sign up. https://join.slack.com/t/scala-toronto/shared_invite/enQtNDM3Mzc2MDMyNjYyLTBkYWVkY2E4MTczZDg2YWE0NjljYjE1M2QyZjc4Y2U3N2M0ZDg4ZTA4ZjMwYTY4NzI5M2Q1NzA4ZjQ1OGE5Yjc
- Building a Distributed Graph Database with Akka 2.6 by Yunan Zhao
Hi Scalators, I hope everyone is safe at home and doing their part to "flatten the curve" during these difficult times! To help break the monotony Scala Toronto is going to run several virtual events. Our next event will be conducted online by an amazing local Scala engineer that many of you know already, Yunan Zhao. This will be an online-only event. I hope to see (or hear) you there! We'll use Google meet. Here's the scheduled meeting link: https://meet.google.com/rad-jehe-rgu (Watch for a change in the event URL. We may switch to a Microsoft Team solution) Talk: Building a Distributed Graph Database with Akka 2.6 Description: Akka is a popular toolkit for Scala developers to build concurrent and distributed applications. In this talk we will talk about how to use some of the more advanced Akka features/concepts to implement a simple distributed graph database. We will go through how and why each one of these Akka features/concepts is used. By the end of this talk, you should gain a better understanding of Akka and how to build interesting projects with it. Speaker Bio: Yunan worked as a consultant at Lightbend where he has helped several clients to completely transform their technology stacks to adopt the latest and greatest Microservices Architectures. He is a big fan of Akka and the Reactive Architecture. Scala Toronto Slack: I would also like to invite people to join our slack instance to chat with organizers, speakers, other members, and even recruiters! Click the following link to sign up. https://join.slack.com/t/scala-toronto/shared_invite/enQtNDM3Mzc2MDMyNjYyLTBkYWVkY2E4MTczZDg2YWE0NjljYjE1M2QyZjc4Y2U3N2M0ZDg4ZTA4ZjMwYTY4NzI5M2Q1NzA4ZjQ1OGE5Yjc
- Play Lagom team Special: Akka Persistence Typed & "Your first OSS contribution"
Hi Scalators, I'm pleased to announce a special event with two special Lightbend guests from the Open Source Play/Lagom team at Lightbend: Renato Cavalcanti and Ignasi Marimon-Clos i Sunyol. It's rare to have Scala-based open source project maintainers in town (let alone 2!) so here's your chance to say hello! Pizza and beverages will be provided. Location is Thomson Reuters office near Union Station. The doors will be open at 6 and the talks will start at 6:30. The talks will _probably_ not be recorded or broadcast. Talk: Akka Persistence Typed Description: In this talk, we will introduce you to the new Typed APIs for Akka Persistence and its new integration with Akka Cluster Sharding. Although type-safety is the coolest thing we are getting from Akka Typed, the new persistence API is more than just types. There are also a few API improvements that will help you write better and safer persistent actors. We will cover the existing pitfalls in the untyped API and how they have been solved in the typed API. Speaker Bio: Renato is a software developer at Lightbend where he works in the Play/Lagom Framework Team. Scala aficionado since 2009, he has been hacking in Scala and related technologies for fun and profit. He has a special interest for Event Sourcing/CQRS, DDD and Microservices Architectures. He's the founder of BeScala (Belgian Scala User Group) and maintainer of Play and Lagom Frameworks. Talk: Doing your first OSS contribution Description: In this talk, Ignasi will share with us everything he wished he had known when he first joined a 100%-OSS team. Speaker Bio: Ignasi breaks CI builds for a living at Lightbend. Before that, he's been garbage collecting and freelancing.
- Challenges that everyone struggles with while productionizing Apache Spark
Hi Scalators, Join us at 500px on July 24th for a talk about productionizing Spark by Chetan Khatri! Details below. Talk: Challenges that everyone struggles with while productionizing Apache Spark workloads Description: Spark is a good tool for processing large amounts of data, but there are many pitfalls to avoid in order to build large scale systems in production, This talk will help you to understand kind of challenges you get, when you productionize Spark for TB’s of Data. Talk will guide you through possible practical use cases with best practice solution for Fast Data processing. Detailed Description: This talk is intended to present : 1. Primary data structures (RDD, DataSet, Dataframe) 2. Pragmatic explanation - executors, cores, containers, stage, job, a task in Spark. 3. Parallel read from JDBC: Challenges and best practices. 4. Bulk Load API vs JDBC write 5. An optimization strategy for Joins: SortMergeJoin vs BroadcastHashJoin 6. Avoid unnecessary shuffle and use of coalesce, repartition, HashPartitioner with use cases. Impact on cache, Disk I/O, Leaking memory, Internal shuffle, spark executor, spark driver. 7. What to do when spark default sort doesn’t work!, Alternatives. 8. Why dropDuplicates() doesn’t result consistency, What is alternative. 9. Optimize Spark stage generation plan: reduce unnecessary repetitive Actions. 10. Predicate pushdown with partitioning and bucketing. 11. Why not to use Scala Concurrent ‘Future’ explicitly with Spark jobs. Targeted audience: Mid 1. Who understands basic functional programming with scala or has an understanding of Java. 2. Who understands concurrent programming or multithreading in Java / Scala. 3. Who has interest in distributed data processing and has a keen interest in data scaling optimization. 4. Who has earlier worked in Big Data, Fast Data or has a keen interest. Speaker Bio: Chetan Khatri is working as a Lead-Data Science at Accion labs, He is an open source contributor at Apache Spark, Apache HBase, Apache Spark - HBase Connector and many other open source projects. He has been authored curriculum of Artificial Intelligence, Data Science, Distributed computing at KSKV Kachchh University, Government of Gujarat - INDIA. He has delivered many talks at Scala.IO, HBaseConAsia, HKOSCon, FossAsia, PyCon India.
- Property-based Testing in ScalaTest 3.1
It is a remote talk. ScalaTest 3.1 will include built-in support for property-based testing. In this talk, Bill Venners will explain property-based testing, walk you through the design impementation of ScalaTest's support in 3.`, and compare it to ScalaCheck's approach. In addition, Bill will show a preview of Expectations and Facts, coming in ScalaTest 3.2, and show how Facts and property-based testing can be combined to describe and check contract specifications. Bill Venners is president of Artima, Inc., provider of Scala consulting, training, books, and tools. He leads the open source projects for the ScalaTest testing library and the Scalactic library for functional, object-oriented programming. He is coauthor with Martin Odersky and Lex Spoon of the book, Programming in Scala. And he is a community representative on the Scala Center's Advisory Board.
- Functional Domain Modeling with Effects by Debasish Ghosh
Hi Scalators, I'm excited to present a talk by Debasish Ghosh. He's the author of several Manning-published books on the subject of domain modeling, designing DSL's, and functional programming in Scala. Debasish is a brilliant Software Engineer, Lightbend colleague, and friend. This talk will be remote, broadcasted, and recorded directly from India. Debasish has generously offered to deliver it live to us in Toronto, despite the huge inconvenience in time zones, thank you! YouTube Live link TBD. Talk: Functional Domain Modeling with Effects One of the major challenges of keeping a domain model pure and functional is the plethora of side-effects that arise due to interactions of the model with various external services like underlying storage, third party services, other domain services etc. In this talk we will see that using algebraic effects is one way to manage such side-effects. Composition under effects enable a clean separation between building your abstractions (which is the domain model and is pure) and evaluating them using the runtime (which can be impure). So, in reality the entire program becomes a single pure abstraction that can be reasoned about and composed with other abstractions. You need to submit the program to an interpreter in order to execute it. Speaker Bio: Debasish Ghosh Programmer at large. Author: Functional and Reactive Domain Modeling (Manning 2016), DSLs In Action (Manning 2010). Father. Husband. Seinfeld fanboy. Agenda 6:30 - Doors Open 6:45 - Local Scala Engineering Shops Hiring Pitch 6:55 - Organizer introduction and talk 7:00 - Functional Domain Modeling with Effects 8:15 - Mingle
- Fast Data applications with the Alpakka Kafka connector
Hi Scalators, For this event I'll be doing a test run of a talk I have scheduled for Scale by the Bay in November. Looking forward to feedback! :) Talk: Fast Data applications with the Alpakka Kafka connector The Alpakka Kafka connector (formerly known as reactive-kafka) is a component of the Alpakka project. It provides a diverse streaming toolkit, but sometimes it can be challenge to design these systems without a lot of experience with Akka Streams and Akka. By combining Akka Streams with Kafka using Alpakka Kafka, we can build rich domain, low latency, and stateful streaming applications with very little infrastructure. This talk will discuss solutions to common Kafka and streaming problems such as consumer group partition rebalancing, exactly-once/transactional message delivery, stateful stages, state durability/persistence, and common production concerns like job failover and deployment. The Alpakka project is an open source initiative to implement stream-aware, reactive, integration pipelines for Java and Scala. It is built on top of Akka Streams, and has been designed from the ground up to understand streaming natively and provide a DSL for reactive and stream-oriented programming, with built-in support for backpressure. Speaker Bio: Sean Glover Sean is a Senior Software Engineer on the Fast Data Platform team at Lightbend where he specializes in Apache Kafka and its ecosystem. Sean has several years experience consulting for Global 5000 companies and helping them build data streaming platforms using technologies such as Kafka, Spark, Flink, and Akka on Kubernetes. Sean enjoys building fast data platforms, reactive distributed systems, and contributing to open source projects. Agenda 6:45 - Doors Open 7:10 - Local Scala Engineering Shops Hiring Pitch 7:20 - Organizer introduction and talk 8:00 - Mingle
- An introduction to FS2 Streams by Michael Pilquist
Hi Scalators, We are back in business! We are pleased to announce an event with Michael Pilquist who is one of the major contributors of the purely functional streaming library FS2 Streams. Michael will cover the essentials of Cats Effect IO and dive right into FS2 Streams. This will be a remote talk. Talk: FS2 Streams 1.0 The 1.0 release of Functional Streams for Scala is imminent. The library was started in March 2013 by Paul Chiusano, growing out of his work on streaming in Chapter 15 of Functional Programming in Scala. A lot has happened since then including a project name change, a proliferation of IO types, and a move to Cats. In this REPL-style talk, we’ll look at a preview of FS2 1.0, covering Streams, Pulls, and stream graph composition. The format will be similar to the FS2 screencast series: https://www.youtube.com/watch?v=cahvyadYfX8&list=PLFrwDVdSrYE6PVD_p6YQLAbNaEHagx9bW Speaker Bio: Michael Pilquist Michael Pilquist is the author of Scodec, a suite of open source Scala libraries for working with binary data, and Simulacrum, a library that simplifies working with type classes. He is a committer/maintainer on a number of other projects in the Scala ecosystem, including Cats and FS2. He works as a Distinguished Engineer at Comcast, where he uses Scala and functional programming to build video systems. At Comcast, he adopted Scala in 2008 and has taught Scala & FP to many teams at the company. Agenda 6:15 - Doors Open 6:30 - Local Scala Engineering Shops Hiring Pitch 6:45 - Organizer introduction and talk 8:15 - Mingle