- Paul Cleary: How I Got My Team to Use cats Effect IO
Paul Cleary discusses cats.effect.IO: In this talk, we will introduce cats effect IO, compare and contrast with Scala Future, and review why we want to use IO at all in our programs. This talk will be in Philadelphia, location TBD.
- Martin Snyder: Building a chat application with WebSockets and http4s/fs2
Update: Food should arrive at 6:30. Talk starts at 7:00. Abstract: Functional Streams are a perfect match for WebSockets but can be intimidating at first. When first exposed to the programming model, it can be difficult to see exactly to wire in critical elements related to concurrency and state management. In this session, we'll walk through the construction step-by-step as we build a multi-user, multi-channel chat server. Speaker Bio: https://martinsnyder.net/bio/ This meeting is sponsored by Chariot Solutions.
- Introduction to Apache Spark using Frameless
This is the talk I recently gave at ScalaIO in Lyon, France and at Scale by the Bay in San Francisco. If you didn't make either conference, and you're interested in Spark or Frameless, you'll have a chance to see the talk locally. The talk, which is mostly in notebooks, compares and contrasts the native Spark DataFrames and Datasets APIs with the Typelevel Frameless API. Frameless adds compile-time type-safety to Spark, via a TypedDataset class, without incurring the runtime overhead associated with the (also type-safe) native Datasets API. The talk compares and contrasts all three, with lots of running code examples. If you don't know much about Spark, you'll learn a little bit from the talk. If you know Spark, but you know nothing about Frameless, you'll walk away with some exposure to that cool API. Venue: Azavea Food sponsor: Vistar Media Google Meet simulcast: meet.google.com/eqi-sscv-brf
- Dan Hunt: Flexible DSLs with Tagless Final
A good DSL encoding method would ideally allow us to write our program once but execute it differently depending on whether it was running in a unit test, in a single box deployment or in the cloud. It would need to be flexible in its return types to allow for different effects (asynchronicity, error handling, etc.) but still be statically type checked. It would be easily extensible and allow us to combine different DSLs together. It's a seemingly tall order that is surprisingly easy to achieve. Tagless Final is a powerful but simple concept that has seen a resurgence of popularity in the Scala world recently. This live coding talk will work through some simple examples that will hopefully reveal the potential of this method. Dan Hunt is a Senior Technical Fellow at PTC working on the Thingworx IOT platform where he wrestles daily with big data and distributed systems. In his spare time he is endlessly fascinated by the vast host of functional programming concepts he has yet to learn. Wingspan will be hosting the meeting. Vistar Media will be providing the food.
- Marcus Henry: Type-driven Development
Marcus will be test-driving his Scala Days workshop for us. For details on the talk, see https://na.scaladays.org/workshop/type-driven-development This talk will be in the city, hosted by Kismet (https://springarts.kismetcowork.com/). Street parking is available. UPDATE: The meeting will also be simulcast via Google Hangouts/Meet, and I will be recording the meeting. Here's the Meet connection information: https://meet.google.com/vea-nkoc-tnx That'll likely only work in Chrome. You can also join by phone, though that's not all that useful. [masked] PIN:[masked]# If you join via Google Meet, please mute yourself and ask questions via the chat feature. I will monitor the chat and relay questions to Marcus.
- Michael Pilquist, on the Cats Effect library (& whatever else strikes his fancy)
• What we'll do The Cats Effect library provides the IO data type and a set of related type classes, enabling pure functional programming in programs that otherwise seem incompatible — e.g., programs that need to mutate state, communicate with the outside world, and perform concurrent actions. In this discussion, we’ll look at IO and the related type classes, investigate how they are used in libraries like FS2, Doobie, and Http4s, and discuss tradeoffs in adopting these techniques in programs. This will be an informal talk, focused on REPL based examples and source code browsing, without slides, in the style of Functional Structures in Scala. This talk will be broadcast via Google Meets. There are 23 available spots in the meeting (Michael and Brian will be using two of the 25 total). Remote attendance is first-come, first-served. (It will not be recorded; Brian's version of Google Meets doesn't permit recording.) The Meet URL is: meet.google.com/woy-uwxv-ycq • What to bring • Important to know Wingspan Technology (IQVIA) will be providing the venue and the food. Thanks to Martin Snyder for volunteering.
- Slick vs. Quill Smackdown (Alex Ioffe)
This meetup will be held in CandiDate, in Center City. Eloquentix will be providing the food and drink. Thanks to both sponsors for the support! In the left corner, the reigning champion, the monadic light in a sea of imperative darkness, 8 years old and 38460 lines of code, trained by Stefan Zeiger, anointed by Lightbend itself... I give you Slick! In the right corner, sits the rising star, the brilliant contender! He claims he can make any valid AST into a valid SQL Query and he's got some serious theoretical muscle to back him up! He claims he has a more Strongly-Typed Spark API then Datasets, and he can show you why! He's 2 years old and 34562 lines of code, trained by Flavio W. Brasil, with the guiding light of Philip Wadler... I give you Quill! In this match, code samples will be compared head to head, APIs will be contrasted toe to toe. Every example we brought you last time, and much, much more will be brought to bear! Will QDSLs give EDSLs a pounding or will it be the other way around!? When the schemas get complex, when the mapping relations get intense, whose architectural mettle and implementational grit will make the trudge? Who will truly cross the dire straits between Phillip Wadler's Scylla and Charybdis unscathed? Let the best No-ORM framework prevail!
- Exploring Word2vec in Scala (Gary Sieling)
This talk will be in the suburbs, at TalentFlex Solutions, 2570 Boulevard of the Generals, Norristown, PA 19403. (It says Norristown, but, really, it's Audubon.) Thanks to TalentFlex and Al Leva for volunteering to host and to provide the food. FindLectures.com is a discovery engine for tech talks, historic speeches, and academic lectures. Using this dataset, this talk will discuss a practical machine learning problem: creating recommendations tailored to user interests. The solutions presented are implemented using the Deeplearning4j implementation of Word2vec. This talk will also discuss how to write Scala code that runs CUDA code on a GPU. This will show to tell if your code is running on the GPU, how much this costs, and how this improves the performance of code that trains and applies machine learning models. Bio: Gary Sieling is a Lead Software Engineer at IQVA, in Blue Bell, PA, with an interests in database technologies, machine learning, and software engineering practices. He has been involved in curating talks for a company lunch and learn program and the organizing committee for a tech conference. Building on these experiences, he built a search engine called FindLectures.com to help find great talks and speakers.
- Datomic, Part 2 (with Dustin Getz)
Dustin's Datomic talk on September 21 was so well-received that attendees want another one, so they can continue digging into it. Apparently, a couple hours isn't enough time to get through it all. We're breaking with recent tradition and holding two meetings a row in the suburbs, to accommodate this special request. Chariot Solutions has, once again, offered to host.
- Datomic, the Object/Relational Impedance Mismatch, Hypermedia & the Semantic Web
Why doesn’t Postgresql have a native ref type? Why do CRUD apps need this? What’s so hard about Object Relational Mappers? Tons of I/O, async, tradeoffs, leading to Backend for Frontend anti-pattern which is O(n) growth in boilerplate. MongoDB and Neo4j shift the problems into new problems. Immutability solves everything. Datomic Peer model solves this. Datomic is a general purpose data server. What does this make possible that wasn’t before? Speaker: Dustin Getz co-founded Hyperfiddle, an experimental tool for building sophisticated database applications. Note: This meeting will be in the suburbs, at Chariot Solutions.