<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://watch.softinio.com/about/instance/home</loc></url><url><loc>https://watch.softinio.com/videos/browse?scope=local</loc></url><url><loc>https://watch.softinio.com/w/hkVNAEkPJBGvtVWBSdBE4o</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/9aef9907-3b56-4041-acfd-94f83b2da056.jpg</video:thumbnail_loc><video:title>What is Nix and How it can improve your scala projects</video:title><video:description>What is Nix and how it can improve your Scala projects

Gabriel will tell you about Nix, a functional package manager, and how it can successfully be used for everything, including Scala projects.

Right after a bit of introduction, we will bootstrap a new Scala project to see how it all works.

About our Speaker

Gabriel Volpe (https://twitter.com/volpegabriel87) is a proficient Haskell &amp; Scala engineer. Nix enthusiast. Vimmer to the bones. Author of the book Practical FP in Scala and some open-source libraries.

Note: Also posted [on YouTube](https://youtu.be/ZIL38Nxds3I) (on a channel also owned by me)

[This work is licensed under CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/845a81f9-c5da-4243-9a26-ec242cb0a654/7f4e8da4-d7fd-4002-af52-cce01f3f0b0e-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/hkVNAEkPJBGvtVWBSdBE4o</video:player_loc><video:duration>5084</video:duration><video:rating>0</video:rating><video:view_count>36</video:view_count><video:publication_date>2021-08-09T06:18:24.406Z</video:publication_date><video:tag>nix</video:tag><video:tag>nixos</video:tag><video:tag>scala</video:tag><video:tag>functionalprogramming</video:tag><video:tag>programming</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/rW67mPM2hj9HxvvkCY1Liq</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/ea3efc6e-c4fa-4eb6-ba9d-ca54f7c33e28.jpg</video:thumbnail_loc><video:title>Learning to Rank: Search as a Machine Learning Problem &amp; Search Logs + Machine Learning = Automat...</video:title><video:description># Agenda 

Start: Welcome
5 min 25 seconds: Talk 1
1 hour 10 min 20 seconds: Talk 2


# Talk 1: Elasticsearch Learning to Rank: Search as a Machine Learning Problem
Speaker: Doug Turnbull (https://twitter.com/softwaredoug)

Search relevance is how questions are answered through search. It's the process of changing the ranking of search results for a user query to return what users want. A search for 'iPhone XS' should rank documents highly when the product name matches. But a different query, 'smartphone with two cameras' would require a completely different strategy for ranking candidate results. What gives teams a headache is that all the diverse use cases for search must be handled by a single ranking algorithm.

This is where Learning to Rank comes in. We will discuss how search can be treated as a machine learning problem. 'Learning to Rank' takes the step to returning optimized results to users based on patterns in usage behavior. We will talk through where Learning to Rank has shined, as well as the limitations of a machine learning based solution to improve search relevance.

Doug Turnbull: Search relevance consultant. Co-Author of Relevant Search.

# Talk2: Search Logs + Machine Learning = Auto-Tagged Inventory
Speaker: John Berryman (https://twitter.com/JnBrymn)

For e-commerce applications, matching users with the items they want is the name of the game. If they can't find what they want then how can they buy anything?! Typically this functionality is provided through search and browse experience. Search allows users to type in text and match against the text of the items in the inventory. Browse allows users to select filters and slice-and-dice the inventory down to the subset they are interested in. But with the shift toward mobile devices, no one wants to type anymore - thus browse is becoming dominant in the e-commerce experience.

But there's a problem! What if your inventory is not categorized? Perhaps your inventory is user ...</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/d201c76c-f4e2-4350-884c-f6f640483a62/d68532da-005e-4316-84d4-d7eddad45859-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/rW67mPM2hj9HxvvkCY1Liq</video:player_loc><video:duration>5004</video:duration><video:rating>0</video:rating><video:view_count>8</video:view_count><video:publication_date>2021-08-11T08:24:57.202Z</video:publication_date><video:tag>elasticsearch</video:tag><video:tag>ml</video:tag><video:tag>search</video:tag><video:tag>machine learning</video:tag><video:tag>recommendation engine</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/af2HWNHTJbrVhB8RmEmHZi</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/7b409126-ab42-4f99-a75e-f4e0bb7b41a8.jpg</video:thumbnail_loc><video:title>Nix + Docker, a match made in heaven</video:title><video:description>Nix + Docker, a match made in heaven

Nix can do many things, among others it can also build Docker images. Not only can it build docker images, but it can build docker images better than `docker build` itself. In the next 30/45 min we will look at how to use Nix, build docker images and see how to deploy them to the Kubernetes cluster. Most importantly we would like to answer any questions that you have regarding Nix.

Speaker:  Rok Garbas (https://twitter.com/garbas)  from Tweag

Note: Also posted on [YouTube](https://youtu.be/WP_oAmV6C2U) (on a channel also owned by me)

[This work is licensed under CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)

</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/4ad7b901-0fad-4cfc-8b77-4ab6d2772e7f/d7904e62-0abb-42e8-befd-bd12f54ce621-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/af2HWNHTJbrVhB8RmEmHZi</video:player_loc><video:duration>5084</video:duration><video:rating>0</video:rating><video:view_count>21</video:view_count><video:publication_date>2021-08-12T07:13:37.429Z</video:publication_date><video:tag>nix</video:tag><video:tag>nixos</video:tag><video:tag>docker</video:tag><video:tag>funtional programming</video:tag><video:tag>linux</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/iQCs5fGRrHbHmGhtFoGRVa</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/330815b7-df3a-4bbc-af7d-42fe9ea8ecbc.jpg</video:thumbnail_loc><video:title>Evolution of Yelp’s Elasticsearch-based Ranking Platform</video:title><video:description>This talk introduces Yelp’s new Elasticsearch-based search backend that serves billions of queries per year for tens of millions of unique users per month. In particular we discuss the challenges of transferring our existing complex custom Lucene-based ranking and text analysis functionality to Elasticsearch. We also highlight several new technologies such as our contributions to Learning to Rank that allow us to host machine learning models directly in Elasticsearch, as well as our Maptype plugin that enables our scoring logic to efficiently lookup sparse map-type data during query time.

Speakers: Guenther Starnberger, Umesh Dangat, Karthik Alle

Note: Also posted on [YouTube](https://www.youtube.com/watch?v=rv-SCLb2oOQ) (on a channel also owned by me)

[This work is licensed under CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/90758560-b921-468d-9b4c-dc8fc0b455af/3a44f2c4-c225-4d0d-99cb-4f080e10ebd2-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/iQCs5fGRrHbHmGhtFoGRVa</video:player_loc><video:duration>3929</video:duration><video:rating>0</video:rating><video:view_count>7</video:view_count><video:publication_date>2021-08-13T05:49:28.970Z</video:publication_date><video:tag>elastic</video:tag><video:tag>elasticsearch</video:tag><video:tag>learning to rank</video:tag><video:tag>search</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/tzzzEPFEFW5GEpxp8yqU1s</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/982c3417-0412-4ddc-a97b-c04c3071942a.jpg</video:thumbnail_loc><video:title>Yelp’s Elasticsearch-based Ranking Platform: Indexing and Defense Mechanisms</video:title><video:description>This talk shares how Yelp has scaled it’s Elasticsearch-based search backend into a Ranking Platform. We will start with the challenges on the indexing side and how we have developed a clean &amp; extensible Flink-based Ingestion API for Elasticsearch. We will discuss how we improved reliability by building a gate-keeper for safeguarding our Elasticsearch clusters. Finally, we will share how we monitor, manage and safely rollout cluster-level changes.

Speakers: Karthik Alle &amp; Tao Yu

Note: Also posted on [YouTube](https://www.youtube.com/watch?v=1D1ED4KxxWQ) (on a channel also owned by me)

[This work is licensed under CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/df56fba2-bae5-4f13-8fa8-c916e437e0ca/9863f056-4a3d-42cf-aa87-cb8deab48c5c-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/tzzzEPFEFW5GEpxp8yqU1s</video:player_loc><video:duration>3178</video:duration><video:rating>0</video:rating><video:view_count>4</video:view_count><video:publication_date>2021-08-13T06:49:56.249Z</video:publication_date><video:tag>elastic</video:tag><video:tag>elasticsearch</video:tag><video:tag>search</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/iPcv1vL7AWSyXhUpRULpWD</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/a2b3843b-9fd6-47dd-ab78-12dcaffb23df.jpg</video:thumbnail_loc><video:title>Elastic Cloud: Deploy, Ingest, Visualize  and Yelp’s Elasticsearch 7 Upgrade: Challenges and Lessons</video:title><video:description>Talk1: Elastic Cloud: Deploy, Ingest, Visualize by Amitai Porat

Ingesting data to visualization

Talk2: Yelp’s Elasticsearch 7 Upgrade: Challenges and Lessons by Sarthak Nandi

This talk shares the lessons we have learned from upgrading our Elasticsearch-based search backend that powers business search to Elasticsearch 7. We will start with an overview of Yelp’s Ranking Platform and then move to some of our custom scoring and deployment requirements. We’ll also share the challenges we faced during the upgrade and how we handled them.

Speakers Info:

Ami Porat spent a number of years as a software developer where he was introduced to the Elastic stack and cultivated his enthusiasm and appreciation for it, which in turn led to his current role as a Solutions Architect at Elastic. You can typically find Ami hunting up adventure in exotic locales, or helping Elastic customers with all things Elastic.

Sarthak Nandi is a software engineer on the Ranking Platform Team at Yelp. He worked on infrastructure to automate and scale the NoSQL datastore platform. He also worked on the learning-to-rank model deployment for Yelp’s Ranking Platform before leading the upgrade of Yelp’s highly customized Elasticsearch deployment for business search to Elasticsearch 7.

Note: Also posted on [YouTube](https://www.youtube.com/watch?v=2zjqmP1Ygjg) (on a channel also owned by me)

[This work is licensed under CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/904266d1-43a4-4b8a-846d-8d1728cc6c1d/226a922f-f084-44f2-a998-56d1e44ee26d-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/iPcv1vL7AWSyXhUpRULpWD</video:player_loc><video:duration>4358</video:duration><video:rating>0</video:rating><video:view_count>0</video:view_count><video:publication_date>2021-08-13T15:34:28.423Z</video:publication_date><video:tag>elastic</video:tag><video:tag>elasticsearch</video:tag><video:tag>search</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/opEz4Am8UfqK8fwji1EGCo</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/6bd9af3e-4622-49f7-adbd-36f29f52de3e.jpg</video:thumbnail_loc><video:title>Essential Effects By Adam Rosien</video:title><video:description>Essential Effects

Cats Effect is a library that makes it easy to write code that effectively uses multiple cores and doesn’t leak resources. This makes building complex applications, such as highly concurrent services, much more productive. This talk will introduce the meaning and role of side-effects and effects, how to encapsulate side-effects in a safer form, and show off the features of the Cats Effect library that provide parallelism, concurrency, resource-safety, and more!

About our speaker Adam Rosien (https://twitter.com/arosien)

As a Principal at Inner Product LLC, Adam focuses on building systems, teaching, and mentoring using functional programming. He previously helped various startups in many domains develop back-end systems and implement continuous deployment practices, and also spent five years as a developer at Xerox PARC.

Original event edition posted on [YouTube - functional.tv](https://www.youtube.com/watch?v=9TR--8gAcZ8)</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/b576ed46-8628-4933-b2b0-c709df3a02ee/f0665aa8-eb9e-48e6-8247-1d764ef89320-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/opEz4Am8UfqK8fwji1EGCo</video:player_loc><video:duration>4916</video:duration><video:rating>0</video:rating><video:view_count>25</video:view_count><video:publication_date>2021-11-14T01:49:37.448Z</video:publication_date><video:tag>scala</video:tag><video:tag>cats-effect</video:tag><video:tag>typelevel</video:tag><video:tag>functional programming</video:tag><video:tag>fp</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/7T2xNDFJdXcwdZ5GG6iqx9</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/6ff1a975-10ad-42f1-be98-190677c494de.jpg</video:thumbnail_loc><video:title>Introduction to Cats Parse  By Jeff Lewis</video:title><video:description>Introduction to Cats Parse  By Jeff Lewis

Building parsers is tedious and boring. Until you use Cats Parse that is! This talk will save you from boredom by giving you everything you need to get started using Cats Parse in your own projects.

About our speaker

Jeff Lewis is a Scala developer of five years and a functional programming enthusiast. He recently started Scala Monthly, a monthly coding challenge designed to help people learn about Scala libraries and language features.

Talk related links:

Slides for this talk: https://slides.com/lewisjkl/cats-parse

Original event edition posted on [YouTube - functional.tv](https://www.youtube.com/watch?v=wreCg30pyts)
</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/37b6b7eb-541e-45ef-886f-07fdc060b666/a5ebd2ef-965b-4242-b1af-24d859337b68-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/7T2xNDFJdXcwdZ5GG6iqx9</video:player_loc><video:duration>3457</video:duration><video:rating>0</video:rating><video:view_count>10</video:view_count><video:publication_date>2021-11-14T03:16:46.918Z</video:publication_date><video:tag>scala</video:tag><video:tag>cats-parse</video:tag><video:tag>typelevel</video:tag><video:tag>functional programming</video:tag><video:tag>parsing</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/nFrz9tXE3LdJjLADi3dz3L</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/df5c07c9-5d09-4238-9f43-29e4dbfea3eb.jpg</video:thumbnail_loc><video:title>Kiar - Key/Value store with MVCC based Transaction System By Sandeep Virdi</video:title><video:description> Kiar - Key/Value store with MVCC based Transaction System By Sandeep Virdi

Multi-version Concurrency Control, MVCC, is currently the most popular protocol among modern database management systems.
In this talk, we will look at an implementation of a MVCC based transaction system for an in-memory store.

A few highlights:

(1) Supports Delta Versioning
(2) Data Validation via Precision Locking
(3) Columnar Memory Layout using Apache Arrow
(4) Built using ZIO functional programming library.

Reference Paper:
Fast Serializable Multi-Version Concurrency Control for Main-Memory Database Systems: https://db.in.tum.de/~muehlbau/papers...

About our Speaker Sandeep Virdi

Sandeep Virdi is an engineer who likes to build things. He is interested in functional programming and all paradigms associated with it. In his free time he likes to hike and spend time with his kids.

Original event edition posted on [YouTube - functional.tv](https://www.youtube.com/watch?v=0XJuq3DYqF8)</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/af91ad89-7258-4605-842f-8077497a8a24/968ec8f6-f5e0-4297-9b4b-404ed52064c9-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/nFrz9tXE3LdJjLADi3dz3L</video:player_loc><video:duration>4851</video:duration><video:rating>0</video:rating><video:view_count>6</video:view_count><video:publication_date>2021-11-14T04:25:21.594Z</video:publication_date><video:tag>scala</video:tag><video:tag>jvm</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/iJeee1qtEuSxTCmNG4WAYp</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/74d6eb49-4129-4a3f-9bf3-080938cf78f6.jpg</video:thumbnail_loc><video:title>Getting Things Done In The Scala Repl By Li Haoyi</video:title><video:description>Getting Things Done In The Scala Repl By Li Haoyi

The Scala REPL lets you interactively run Scala code snippets and see the results. This talk will explore how far you can stretch the Scala REPL, performing difficult tasks that you may normally associate with larger efforts. Through these exercises, we will see how much useful work you accomplish with a tiny amount of Scala code.

About our Speaker

Li Haoyi graduated from MIT with a degree in Computer Science and Engineering, and since then has been a major contributor to the Scala community. He is the author of the book Hands-on Scala Programming, built open source tools like the the Ammonite REPL or Mill build tool, and was early contributor to Scala.js. Haoyi has used Scala professionally to build distributed backend systems, programming languages, high-performance web applications, and much more.

Original event edition posted on [YouTube - functional.tv](https://www.youtube.com/watch?v=RLPAf5LDeS4)</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/8f90bf63-3066-4232-a277-bebdcd3507af/bb16cfbc-d5fd-4b5c-bdf0-d3e31f0c4e62-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/iJeee1qtEuSxTCmNG4WAYp</video:player_loc><video:duration>4989</video:duration><video:rating>0</video:rating><video:view_count>7</video:view_count><video:publication_date>2021-11-14T06:40:42.498Z</video:publication_date><video:tag>scala</video:tag><video:tag>sbt</video:tag><video:tag>ammonite</video:tag><video:tag>build tools</video:tag><video:tag>jvm</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/1ie2anz4SLD6o1o3BAKQ8j</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/4848366a-9ffb-4c5b-95c5-b7bfe1360b62.jpg</video:thumbnail_loc><video:title>Metals A Retrospective By Chris Kipp</video:title><video:description>Metals A Retrospective By Chris Kipp

In 2020 there was almost 700 merged PRs to Metals! We saw 13 releases that brought all sorts of new features, plenty of bugfixes, and new exciting integrations. At the end of the year the Metals team gathered feedback from users which gave us some great insight into questions users have, features that are desired, and even what the breakdown looks like for various build tools, editors, and build servers. In this talk I hope to address all of these by giving an overview of the newest features and large changes that happened this past year, giving a preview of what is likely to come this year, and also spend some time addressing common misconceptions that users may have about Metals and the Metals ecosystem.

About our speaker: Chris Kipp (https://twitter.com/ckipp01)

Chris Kipp is a Software Engineer at Lunatech. He's an avid fan of Neovim, simple tech, and enjoys working on tooling. He's one of the current maintainers of Metals, the Scala language server.

Original event edition posted on [YouTube - functional.tv](https://www.youtube.com/watch?v=DRKx1a19c80)</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/0267aaff-e163-43f1-903f-eefb126279a0/6915701a-9316-470c-9176-d85feb62c2f6-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/1ie2anz4SLD6o1o3BAKQ8j</video:player_loc><video:duration>3302</video:duration><video:rating>0</video:rating><video:view_count>7</video:view_count><video:publication_date>2021-11-14T07:31:46.076Z</video:publication_date><video:tag>scala</video:tag><video:tag>build tools</video:tag><video:tag>metals</video:tag><video:tag>sbt</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/1H646bsu3sqFiRaDLGGwdD</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/6557c953-fce5-4d5f-a39d-433137876e8d.jpg</video:thumbnail_loc><video:title>How To Survive Algorithms In Scala By William Narmontas</video:title><video:description>How to survive algorithms in Scala By William Narmontas

A mention of an algorithm tends to conjure up images like 'i++' and 'a[x] = a[x-1] + a[x-2]' which come from the classic trinity of Python, C and Java. In 2020, Scala's immense growth has risen the bar from simply writing Java in Scala syntax, to thinking in immutable style.
In this talk, you will learn about my journey with algorithms in Scala and the educational website "Scala Algorithms".

About our speaker: William Narmontas (https://twitter.com/ScalaAlgorithms)

William has been consulting in Scala for 7½ years, all the way from low level performance optimization to software architecture; his focus has mostly been in finance where expressiveness of code plays a significant part.

Original event edition posted on [YouTube - functional.tv](https://www.youtube.com/watch?v=Ee2Y9V5ePVo)
</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/05bc9bd7-57b0-4c79-99ab-b9904303f215/87bdb6f2-a114-4623-962c-eba16adcf153-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/1H646bsu3sqFiRaDLGGwdD</video:player_loc><video:duration>3027</video:duration><video:rating>0</video:rating><video:view_count>3</video:view_count><video:publication_date>2021-11-14T16:43:02.056Z</video:publication_date><video:tag>scala</video:tag><video:tag>algorithms</video:tag><video:tag>coding challenge</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/bYpvvqzhTzcgmx7Ge6F7Qx</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/a12c6e2c-7a41-4eda-8d01-15d30b6a7747.jpg</video:thumbnail_loc><video:title>Ninny Json: Type Classes That Know That None Is Not Null by Nathan Fischer</video:title><video:description>Ninny Json: Type Classes That Know That None Is Not Null by Nathan Fischer

ninny-json is an experiment to look at what JSON type classes would look like if they made a distinction between absent JSON fields, and fields with null values.

About our Speaker:

Nathan Fischer is a San Francisco based developer using Scala to increase productivity and push the errors to compile time.

Original event edition posted on [YouTube - functional.tv](https://www.youtube.com/watch?v=3v-5Q4NLdNE)
</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/58db8687-26f1-4eb4-8143-571dfbc4545f/52797ecf-f0e4-405c-bcaa-d2b496afc514-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/bYpvvqzhTzcgmx7Ge6F7Qx</video:player_loc><video:duration>1755</video:duration><video:rating>0</video:rating><video:view_count>6</video:view_count><video:publication_date>2021-11-14T17:12:15.566Z</video:publication_date><video:tag>scala</video:tag><video:tag>json</video:tag><video:tag>type classes</video:tag><video:tag>functional programming</video:tag><video:tag>fp</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/44bD8ASpSkzmKifDBNMBkr</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/a9e43566-662a-4ad7-9871-59bfe4eaa31f.jpg</video:thumbnail_loc><video:title>Using scaladex.nvim</video:title><video:description>I created a [telescope](https://github.com/nvim-telescope) extension for [Neovim](https://neovim.io) in Lua that helps you search [Scaladex](https://index.scala-lang.org), choose a library and add it to your Scala projects build file. 

This recording shows you how to use this plugin and what it can do. 

See [scaladex.nvim](https://github.com/softinio/scaladex.nvim) for more details.</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/18bd345c-c2a5-41ed-9272-2b6ab63a685b/03b9c4a6-dda9-4eae-ae68-5d90915f495e-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/44bD8ASpSkzmKifDBNMBkr</video:player_loc><video:duration>531</video:duration><video:rating>0</video:rating><video:view_count>69</video:view_count><video:publication_date>2021-11-15T05:08:53.713Z</video:publication_date><video:tag>scala</video:tag><video:tag>neovim</video:tag><video:tag>vim</video:tag><video:tag>telescope</video:tag><video:tag>scaladex</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/uyNLZr9rtqZEKzTUg5CRJK</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/4f9da807-3641-468d-99ea-49dfb529b769.jpg</video:thumbnail_loc><video:title>Welcome to watch.softinio.com</video:title><video:description>Welcome to my channel on watch.softinio.com

This video is a quick introduction to me, my channel and the kind of content I will be producing and posting here.

Follow my blog: https://www.softinio.com
Follow me on Twitter: https://twitter.com/SalarRahmanian
Follow me on Mastedon: https://fosstodon.org/@softinio
Join my newsletter: http://newsletter.softinio.com
Subscribe to my YouTube Channel: https://softin.io/youtube

</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/e7548279-6a4c-46ae-80ed-5d434bb86f53/7a7a3567-a32b-46f5-80b8-0247abdebe55-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/uyNLZr9rtqZEKzTUg5CRJK</video:player_loc><video:duration>296</video:duration><video:rating>0</video:rating><video:view_count>32</video:view_count><video:publication_date>2021-11-23T23:18:31.513Z</video:publication_date><video:tag>content creation</video:tag><video:tag>introduction</video:tag><video:tag>programming</video:tag><video:tag>technology</video:tag><video:tag>software engineering</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/5vXCeqUpm7t7LZ2nRn7vnD</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/d07e798c-6a2d-4f37-b73b-e5000857a4a8.jpg</video:thumbnail_loc><video:title>Generating code from Type Signatures using the Curry-Howard Correspondence by Sergi Winitzki</video:title><video:description>Sergi Winitzki provides an overview of the curry-toward correspondence and how to use it to generate code from type signatures for the Bay Area Haskell Users Group (BAHUG) meeting March 22nd, 2018.

Slides are available here:  https://github.com/winitzki/talks/blob/master/ftt-fp/curryhoward-2018-haskell.pdf

Sergi also has a video tutorial on the Curry-Howard correspondence https://www.youtube.com/watch?v=KcfD3Iv--UM

Also available on YouTube: https://youtu.be/d1ffFRr_slo
</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/24936765-dd06-4087-b599-33fd1589239b/698b203a-9f14-47e5-8398-bd3357bcc2ff-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/5vXCeqUpm7t7LZ2nRn7vnD</video:player_loc><video:duration>2920</video:duration><video:rating>0</video:rating><video:view_count>13</video:view_count><video:publication_date>2022-01-09T00:35:20.930Z</video:publication_date><video:tag>haskell</video:tag><video:tag>fp</video:tag><video:tag>functionalprogramming</video:tag><video:tag>scala</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/o4a1ao2ipY2ukSQWj3RPUf</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/691e20cb-8f22-4e17-a254-90b102ea5d88.jpg</video:thumbnail_loc><video:title>Setting up a simple CI server using Haskell and Nix by Gabriel Gonzalez</video:title><video:description>Gabriel Gonzalez walks through how to set up a simple continuous integration server using Haskell, Nix, and AWS for the Bay Area Haskell Users Group (BAHUG) meeting on March 22nd, 2018.

You can find the code for the fully worked example here: https://github.com/Gabriel439/slides/tree/master/simple-ci

This recording is also available on YouTube: https://youtu.be/5Bvlg7UJ1Vw</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/b299d47a-9001-453a-b10b-37a836ceb7fa/4459bfb4-58b7-48c5-b230-c0246e5e80cc-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/o4a1ao2ipY2ukSQWj3RPUf</video:player_loc><video:duration>3690</video:duration><video:rating>0</video:rating><video:view_count>65</video:view_count><video:publication_date>2022-01-09T01:58:46.194Z</video:publication_date><video:tag>haskell</video:tag><video:tag>nix</video:tag><video:tag>functionalprogramming</video:tag><video:tag>scala</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/fuAuBiHmaH2VuEpaiTrrGr</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/925f6010-3f21-4fd9-b59a-2c20c45304a8.jpg</video:thumbnail_loc><video:title>Hasochistic Containers By Conor McBride</video:title><video:description>Conor McBride gives a talk at the Bay Area Haskell Users Group about writing containers in Haskell. A container is a functor with a "shapes and positions" presentation: the contained values are given as the image of a function from positions, but the type of positions depends on the value of the shape. Some container theory will be live-coded using many GHC language extensions.

Conor has a post on his blog about this topic as well: https://pigworker.wordpress.com/2015/06/06/hasochistic-containers-a-first-attempt/

Also available on YouTube: https://youtu.be/dGv9zJfTf58</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/755e0626-5a32-4592-b477-6a3241c37d25/f981b303-acc4-43db-8d8a-ad3fca6c4ac0-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/fuAuBiHmaH2VuEpaiTrrGr</video:player_loc><video:duration>3855</video:duration><video:rating>0</video:rating><video:view_count>2</video:view_count><video:publication_date>2022-01-09T03:49:33.490Z</video:publication_date><video:tag>haskell</video:tag><video:tag>agda</video:tag><video:tag>scala</video:tag><video:tag>functional programming</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/t6MRFeKoqxUKn2AJKVESyq</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/15f0d84f-b40d-4196-afed-d5343b85c087.jpg</video:thumbnail_loc><video:title>Shake before Make by Mark Fine</video:title><video:description>Mark Fine gives a talk at the Bay Area Haskell Users Group about discussing how to use the Shake build system as a replacement for make files.

Also available on YouTube: https://youtu.be/A1WE0E1gVbQ</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/db75b905-447b-4986-9ff7-18fb4b79bb00/f604e33c-1949-4e9b-a8a3-31651594fe77-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/t6MRFeKoqxUKn2AJKVESyq</video:player_loc><video:duration>2107</video:duration><video:rating>0</video:rating><video:view_count>10</video:view_count><video:publication_date>2022-01-09T04:44:21.602Z</video:publication_date><video:tag>haskell</video:tag><video:tag>functional programming</video:tag><video:tag>build</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/gfyK3dvAcTwwjEccWJsYaF</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/3db80726-2a83-4b22-b7f3-c538771af795.jpg</video:thumbnail_loc><video:title>Introduction to Cryptonite by Max Tagher</video:title><video:description>Max Tagher gave a talk at the August 2018 Bay Area Haskell Users Group meeting on Cryptonite, a repository on cryptographic primitives such as ciphers, hash functions, and more.

Demo Source Code: https://github.com/MaxGabriel/cryptonite-talk/tree/master/demos

Also available on YouTube: https://youtu.be/nsYwcjpYYFE</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/7b81abb1-880e-4aa1-a981-9903725068c1/66506014-0e9a-4283-96d8-46bd0d9a5d9d-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/gfyK3dvAcTwwjEccWJsYaF</video:player_loc><video:duration>2728</video:duration><video:rating>0</video:rating><video:view_count>2</video:view_count><video:publication_date>2022-01-09T05:28:24.748Z</video:publication_date><video:tag>haskell</video:tag><video:tag>cryptography</video:tag><video:tag>functional programming</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/puqXuNhsY4UCYee8hZQsHq</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/660e3b30-c342-415a-ad08-0050d994d786.jpg</video:thumbnail_loc><video:title>Proving theorems and certifying programs with Coq by Stephan Boyer</video:title><video:description>Talk by Stephan Boyer at the Bay Area Haskell Users Group (BAHUG) meetup at Formation, December 11 2018.

Have you ever wanted to formally prove an algorithm correct or a theorem true? This talk will show you how! We'll cover the fundamentals of computer-assisted theorem proving using Coq, one of the most popular proof assistants. Coq is a functional programming language whose type system can encode essentially any mathematical proposition.

Most introductions to Coq survey the landscape from a bird's eye view. You start by building proof scripts using high-level "tactics", and later you're introduced to the actual proofs generated by these tactics. For some, this is a bit too magical. You learn to prove simple theorems, but lack intuition for what the tactics are actually doing. That conundrum was frustrating for me when I was learning Coq in graduate school. This talk, in contrast, will feature no magic.

Instead, we will approach Coq from the perspective of a functional programmer. We'll start with the syntax, which will be familiar to Haskell programmers. We'll learn how to encode propositional logic in data types, which can be done in any functional language. Then we'll see how to encode quantifiers using dependent types, which completes the foundation of higher-order logic. Finally, we'll learn how to automate our proofs using Coq's tactic language. The more you automate, the shorter and more robust your proofs become!

Also available on YouTube: https://youtu.be/bCxqtD-jH48</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/be3a651a-9280-495a-9323-ba2ff8769a5a/a2380eee-6738-4a04-9f16-4842dc4428af-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/puqXuNhsY4UCYee8hZQsHq</video:player_loc><video:duration>4022</video:duration><video:rating>0</video:rating><video:view_count>3</video:view_count><video:publication_date>2022-01-09T19:57:38.275Z</video:publication_date><video:tag>Coq </video:tag><video:tag>Functional Programming</video:tag><video:tag>Theorem Proving</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/dqkfvcbeRnFvhSaCj94YBJ</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/5b982b19-2300-4706-b473-d32c03d16501.jpg</video:thumbnail_loc><video:title>Down the Wabbit Hole - Some Haskell Design Patterns in Machine Learning Engineering by Chris McKi...</video:title><video:description>Talk by Chris McKinlay of Formation for the Bay Area Haskell Users Group (BAHUG), December 11 2018.

In this talk, Chris goes through some battle hardened design patterns for working with multiple ML frameworks in a seamless and simple manner.

Also available on YouTube: https://youtu.be/DmR6lvCSn3E</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/649360ae-ed59-4259-aefb-841e488d51b0/5d7df98a-5f50-4d5d-9863-a08bec53adc5-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/dqkfvcbeRnFvhSaCj94YBJ</video:player_loc><video:duration>3259</video:duration><video:rating>0</video:rating><video:view_count>3</video:view_count><video:publication_date>2022-01-09T21:24:48.100Z</video:publication_date><video:tag>Haskell</video:tag><video:tag>Machine Learning</video:tag><video:tag>Functional Programming</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/aRAw55cVmBWVrvWg3xZQ32</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/5bff6ed1-499c-4a6f-906e-ba6ef951978a.jpg</video:thumbnail_loc><video:title>Ghost Hunting the Perfect API By Anthony Sheldon</video:title><video:description>Talk by Anthony Sheldon for the Bay Area Haskell Users Group (BAHUG) virtual meetup on May 2, 2020. Meetup link: https://www.meetup.com/Bay-Area-Haskell-Users-Group/events/270204729/

NoRedInk, a San Francisco company that uses Haskell, kindly offered to host this meetup at their office, but due to the COVID-19 pandemic we held this meetup virtually via Zoom. Software Engineer Katie Hughes from NoRedInk joined us to share some details about NoRedInk near the beginning of the video.

Agenda:
- 0:00 - Introduction (Stephan Boyer)
- 2:06 - About NoRedInk (Katie Hughes)
- 5:35 - Main talk (Anthony Sheldon)

Abstract for Anthony's talk:

Library authors are often faced with a design choice: should a function with preconditions be implemented as a partial function, or by returning a failure on incorrect usage? Neither option is ideal. Partial functions lead to frustrating run-time errors. Failure must be checked at the use-site, placing an unfair tax on the users who have ensured that the function’s preconditions were met. What if you could achieve many of the benefits of dependent and refinement types, whilst only requiring some minor and well understood extensions to haskell2010? TL;DR: You can use the same rank-2 types trick used in the ST monad to get the compiler to check a surprisingly wide range of API invariants and preconditions.

Slides: https://slides.com/anthony-1/deck-1c0c6a

Also available on YouTube: https://youtu.be/AaQtAAC29Es</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/4fcef725-e192-471f-aae1-010b50e9ba0d/0b737d9e-1ab9-4dbf-8a4f-537a61058b01-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/aRAw55cVmBWVrvWg3xZQ32</video:player_loc><video:duration>2923</video:duration><video:rating>0</video:rating><video:view_count>5</video:view_count><video:publication_date>2022-01-09T22:59:49.048Z</video:publication_date><video:tag>haskell</video:tag><video:tag>functional programming</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/tgDXLAUEAhGooiJiskwCFy</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/53b3a0cf-f7fa-4b3c-bf33-bdd4a9edb629.jpg</video:thumbnail_loc><video:title>Namespaced DeBruijn Indices By Gabriella Gonzalez</video:title><video:description>Namespaced DeBruijn Indices By Gabriella Gonzalez

This presentation describes a simple and elegant solution for avoiding name capture in interpreted languages that also improves the readability of inferred types and β-reduced normal forms. The name for the trick is "namespaced DeBruijn indices" because it combines the best features of both a named representation and De Bruijn indices.

About our speaker

Gabriella (a.k.a. Gabby) is an engineering manager at Arista Networks who will talk your ear off about functional programming if you give her the chance. She is best known for her blog at haskellforall.com and for authoring the Dhall configuration language.

Event details: https://www.meetup.com/Bay-Area-Haskell-Users-Group/events/284148984/

Recording also available on [YouTube](https://youtu.be/gU8_TxunKJY)

</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/dcd64b84-e48b-4b14-8d2b-139f0d774566/5586ce18-8c75-44b7-abaf-84649a3a4353-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/tgDXLAUEAhGooiJiskwCFy</video:player_loc><video:duration>2687</video:duration><video:rating>0</video:rating><video:view_count>136</video:view_count><video:publication_date>2022-04-20T05:07:18.189Z</video:publication_date><video:tag>haskell</video:tag><video:tag>functional programming</video:tag><video:tag>fp</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/pXQ44bknnpez5bJwudVbni</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/8827001d-1c08-46cf-8e53-7034f2bd297b.jpg</video:thumbnail_loc><video:title>Supercharging Data with SQL and Haskell By Ozgun Ataman</video:title><video:description>Supercharging Data with SQL and Haskell by Ozgun Ataman

We will be sharing the backstory/behind-the-scenes of a data engineering tool we’ve created over the past 5 years called “napkin” that lets data science/engineering teams construct sophisticated data transformations in SQL, manage lots of complexity as their pipelines grow and lean on modern databases like BigQuery to effortlessly scale up to massive volumes. We’ll soon be releasing napkin publicly (for free) and are excited to be making a noteworthy contribution to the broader “data engineering and analytics” community. We look forward to describing how Haskell has been a natural force multiplier in enabling sophistication on top of SQL and modern analytics databases.

About our speaker

Ozgun Ataman, CEO at Soostone, where we’ve been intensive commercial users of Haskell for the past 10 years focusing on production applications around machine learning, business optimization and analytics.

Slides: https://drive.google.com/file/d/1JXT4yEHWavdgkIioh5cYmZMw02fKUXQz/view?usp=sharing

Event details: https://www.meetup.com/Bay-Area-Haskell-Users-Group/events/284148984/

Recording also available on [YouTube](https://youtu.be/8u622WP5Ga8)
</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/c20db5c5-1ffa-4c52-a976-4e45d4256f43/3e2acaac-1ff9-4029-88e2-32d04e6e7d5e-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/pXQ44bknnpez5bJwudVbni</video:player_loc><video:duration>3429</video:duration><video:rating>0</video:rating><video:view_count>33</video:view_count><video:publication_date>2022-04-27T14:42:09.101Z</video:publication_date><video:tag>haskell</video:tag><video:tag>functional programming</video:tag><video:tag>sql</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/6cdcc4wz6Z2oKUVHxuHjPy</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/d4234603-5016-4c29-80a3-07e83faf5994.jpg</video:thumbnail_loc><video:title>SF Swift: Server-side Swift State Of The Union By Tim Condon</video:title><video:description>**Server-side Swift State Of The Union By [Tim Condon](https://www.timc.dev/)**

This talk takes a step back and looks at how server-side Swift is doing.

We'll cover the recent changes due to async/await, how it compares to other languages and what the future holds.

**About our speaker**

[Tim](https://www.timc.dev/) is a Swift developer from Manchester, UK and part of the [Vapor Core Team](https://vapor.codes/). He's the server-side Swift team lead at raywenderlich.com and has written the unofficial-official book on Vapor with the founders of the framework.

He founded [Broken Hands](https://www.brokenhands.io/) a few years ago and delivers talks and workshops on Vapor and server-side Swift around the world.

He also co-organises the ServerSide.swift conference - the world’s first and only conference focused on server-side Swift.

[Follow Tim on Twitter](https://twitter.com/0xTim) and do visit his [website](https://www.timc.dev/).

Event details: [https://www.meetup.com/swift-language/events/285667200/](https://www.meetup.com/swift-language/events/285667200/)

**For more information about Swift Language User Group (San Francisco) visit: [https://www.sfswift.com](https://www.sfswift.com)**

Also available on [YouTube](https://youtu.be/Te0aCoenCMg)</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/2a0e6391-736a-4fd1-a9f1-9c93bb4e4296/207d7d02-a34b-48b5-88f8-71169a9893cc-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/6cdcc4wz6Z2oKUVHxuHjPy</video:player_loc><video:duration>3027</video:duration><video:rating>0</video:rating><video:view_count>896</video:view_count><video:publication_date>2022-06-26T01:26:19.425Z</video:publication_date><video:tag>swift</video:tag><video:tag>swift lang</video:tag><video:tag>ios</video:tag><video:tag>apple</video:tag><video:tag>vapor framework</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/i55qwe9FiyHRzsTkYYJLhU</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/b7604979-9bbf-4c75-b98d-15e1a503c2f8.jpg</video:thumbnail_loc><video:title>Beginner-friendly introduction to Free Monads By Dmitrii Kovanikov</video:title><video:description>**Beginner-friendly introduction to Free Monads by [Dmitrii Kovanikov](https://kodimensional.dev)**

In this talk, I'd like to look into several diverse problems, their possible solutions and discuss drawbacks of with these ad-hoc solutions. After that, I'm going to introduce the idea of Data-Oriented Programming. I'll build the concept of Free Monad from ground up and explain the uniform approach for all the demonstrated different problems. I'm also going to discuss the drawbacks of Free Monads.

**About our speaker - [Dmitrii Kovanikov](https://kodimensional.dev)**
Functional Programming is one of my passions, and it has been a part of my professional life for quite a while already. I'm a Senior Software Engineer and I've been using Haskell in production, teaching and OSS for 7 years.

I do tons of open-source work including mentoring people, creating educational resources and maintaining projects. I'm an author and maintainer of dozens OSS libraries and applications. I also had been teaching Haskell at ITMO University for several years to undergrad students. I love making complicated topics accessible and sharing my knowledge with others!

Personal page and blog: [https://kodimensional.dev](https://kodimensional.dev)
Twitter: [https://twitter.com/chshersh](https://twitter.com/chshersh)
GitHub: [https://github.com/chshersh](https://github.com/chshersh)

**Event details:** [https://www.meetup.com/bay-area-haskell-user-group/events/288894864/](https://www.meetup.com/bay-area-haskell-user-group/events/288894864/)

Also available on my [YouTube channel](https://youtu.be/JPs0NRRIqUU)</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/8a3d0ed4-c13e-4479-b96b-9587f7ddf554/08db049f-0e4f-4042-9689-37cf654195bb-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/i55qwe9FiyHRzsTkYYJLhU</video:player_loc><video:duration>3459</video:duration><video:rating>0</video:rating><video:view_count>162</video:view_count><video:publication_date>2022-12-14T06:17:08.739Z</video:publication_date><video:tag>haskell</video:tag><video:tag>functional programming</video:tag><video:tag>monad</video:tag><video:tag>free monad</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/d6jiJFm5hEFrzmKw9kdgXC</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/509851b2-21be-4168-a2de-6a3937e86ee4.jpg</video:thumbnail_loc><video:title>SF Swift: A Tour through Swift Attributes By Marco Eidinger</video:title><video:description>**A Tour through Swift Attributes By [Marco Eidinger](https://blog.eidinger.info/)**

Learn about System Programming Interfaces (SPI) in Swift (aka @_spi ) and other Swift Attributes and how/when to use those attributes.

**About our speaker**

[Marco Eidinger](https://blog.eidinger.info/) is a Swift developer working on open source and enterprise mobile SDKs for iOS and macOS developers.

He writes weekly articles about Swift and iOS development and created open-source tools like:

[SwiftPlantUML](https://github.com/MarcoEidinger/SwiftPlantUML), an Xcode extension and command-line tool, to generate UML class diagrams from Swift code.

[XCSnippetsApp](https://github.com/MarcoEidinger/XCSnippetsApp), an macOS application to explore code snippets from the Swift and iOS community, view and edit the snippets before adding them conveniently to Xcode.

[swift-package-dependencies-check](https://github.com/MarcoEidinger/swift-package-dependencies-check), a GitHub action to detect outdated versions of your Swift package dependencies.

Follow [Marco on Twitter](https://twitter.com/MarcoEidinger) and do visit his [blog](https://blog.eidinger.info/).

Event details: https://www.meetup.com/swift-language/events/289345691/

For more information about Swift Language User Group (San Francisco) visit:

https://www.sfswift.com

Also available on our [YouTube](https://youtu.be/SJy3oruTEHk)</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/61ebaa03-5f0a-4b86-ba64-29642792f9c6/e689c412-d179-4169-aded-e51710b33441-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/d6jiJFm5hEFrzmKw9kdgXC</video:player_loc><video:duration>3137</video:duration><video:rating>0</video:rating><video:view_count>299</video:view_count><video:publication_date>2022-12-21T07:45:19.665Z</video:publication_date><video:tag>swift</video:tag><video:tag>swift language</video:tag><video:tag>apple</video:tag><video:tag>ios</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/dWHeMjvDs937etjuKkjHNW</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/9da29765-2d87-4e83-8608-7f037bf6f018.jpg</video:thumbnail_loc><video:title>Easy incremental builds with GHC 9.4 By Harry Garrood</video:title><video:description>**Easy incremental builds with GHC 9.4 by [Harry Garrood](https://harry.garrood.me/)**

One of the new features in GHC 9.4 is that GHC determines whether a source file has changed by checking its hash rather than its modification timestamp. I'll discuss why this is useful and how it can dramatically speed up your CI builds!

**About our speaker**

[Harry Garrood](https://harry.garrood.me/) is a software engineer based in Scotland, currently working with Mercury. He used to do a lot of OSS work, having been part of the PureScript core team, but now he spends less of his free time thinking about code, and more of it playing trombone, swimming, and playing video games.

**Personal page and Blog:** [Harry Garrood](https://harry.garrood.me/)
**Twitter:** [https://twitter.com/hdgarrood](https://twitter.com/hdgarrood)
**GitHub:** [https://github.com/hdgarrood](https://github.com/hdgarrood)

**Event details:** [https://www.meetup.com/bay-area-haskell-user-group/events/288894864/](https://www.meetup.com/bay-area-haskell-user-group/events/288894864/)

This recording is also available on our [YouTube](https://youtu.be/p2Fi3fJHDhg)

</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/68d13db7-6842-43dd-96c4-723f22269746/0e6afdb5-6258-4dfa-9029-0935302974fb-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/dWHeMjvDs937etjuKkjHNW</video:player_loc><video:duration>1593</video:duration><video:rating>0</video:rating><video:view_count>28</video:view_count><video:publication_date>2022-12-28T02:54:00.868Z</video:publication_date><video:tag>haskell</video:tag><video:tag>ghc</video:tag><video:tag>builds</video:tag><video:tag>functional programming</video:tag><video:tag>fp</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/xreydeDYNeWrZzKnYr2U5v</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/64822aea-b834-4658-bc14-0adba297c924.jpg</video:thumbnail_loc><video:title>You got Agda in my Haskell? By Ryan Orendorff</video:title><video:description>**You got Agda in my Haskell? By Ryan Orendorff**

One of your coworkers seems to write the most amazing Haskell code. It never breaks and it always fits the requirements precisely. You’ve never seen your coworker put in a bug fix for their code ever. One day you decide to ask them how they obtained these inhuman powers. With a huge grin on their face, they say “why that’s because I wrote all my provably correct code in Agda!”

In this talk, we will talk about a new tool called [agda2hs](https://jesper.sikanda.be/posts/agda2hs.html) which allows programmers to translate dependently typed Agda code into clean Haskell code, enabling the extraction of provably correct programs. We will look into specific examples on how the code can be used to prove that a piece of code has some desired specification such as invertibility.

**About our speaker**

Hi! My name is Ryan Orendorff, and I enjoy working on type theory, functional programming, linear algebra, and data privacy. If I am not working on those things you can likely find me on a mountain somewhere.

Personal page and Blog: [Ryan Orendorff](https://ryan.orendorff.io/)

Event details: https://www.meetup.com/bay-area-haskell-user-group/events/290844236/

This Recording is also available on [YouTube](https://youtu.be/Yjt8u36mKVY)
</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/fe913f1a-7c2f-487d-ad6f-e1de4e157dcd/e148140d-4def-4ef5-8c27-5785b0b0067b-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/xreydeDYNeWrZzKnYr2U5v</video:player_loc><video:duration>3848</video:duration><video:rating>0</video:rating><video:view_count>15</video:view_count><video:publication_date>2023-02-12T17:20:58.312Z</video:publication_date><video:tag>haskell</video:tag><video:tag>agda</video:tag><video:tag>functional programming</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/2e1YujJa1hQf5zNVsosBU9</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/54b5562a-62f1-4bd9-820c-2556740fc980.jpg</video:thumbnail_loc><video:title>Installing Nix on a New Apple MacBook Pro (M3 Max)</video:title><video:description>In December 2023 I bought myself a brand new Apple MacBook Pro (M3 Max). So I thought I record myself installing nix on there in case it is useful to anyone.

Note that this is just a short video showing me just installing Nix nothing else. I will record more about Nix in the future to take this further and share my knowledge.

Some useful references from my recording:

- [Zero to Nix](https://zero-to-nix.com)
- [Nix Installer by Determinate Systems](https://github.com/DeterminateSystems/nix-installer)

Also available on [YouTube](https://youtu.be/6Y_W9Yz-xC8?si=7s0kmu8jnxWWf5Iv)
</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/09ea686a-cf03-4168-b1f4-781bbced80ac/7bf2e157-3a78-470f-aae0-452d20779864-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/2e1YujJa1hQf5zNVsosBU9</video:player_loc><video:duration>231</video:duration><video:rating>5</video:rating><video:view_count>18</video:view_count><video:publication_date>2024-07-27T23:30:27.493Z</video:publication_date><video:tag>nix</video:tag><video:tag>nixos</video:tag><video:tag>linux</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/tnFvpbzrK1LfqqkLW1YRm4</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/3d57a1be-64d5-4996-9004-57d5e4ae6b61.jpg</video:thumbnail_loc><video:title>How Scala is made and how you can help? By  Krzysztof Romanowski</video:title><video:description>**Talk Title**

​How Scala is made and how you can help?

**​Talk Summary**

​I am using Scala from 2011 and since 2019, part of my job (and the main reason I picked it) is to grow Scala and its community. In this talk I will explain the inner workings of an organisation that goes into releasing, maintaining and developing Scala and core parts of its ecosystem. I will discuss what are those parts, what problems the team of teams face and what you can expect in the future.

​Later, I will focus about ways to support the ecosystem. The help comes in various shapes and I will try to convince you that there is one that fits your needs.

​As build tools are my pet peeve, expect some Scala CLI and Bazel as well!

​**Speaker**

[​Krzysztof Romanowski](https://www.linkedin.com/in/romanowskikr/) has dedicated the majority of his career to working on the Scala project and enhancing the Developer Experience (DX), often combining the two. He focuses on hands-on development of developer tools (like scala-cli) and leading teams working on Scala applications and DX/ developer tooling. Currently, he oversees the DX (tooling) and Scala departments at [VirtusLab](https://virtuslab.com/).

**Event Details**

- [Luma](https://lu.ma/qq7k3iem)
- [SF Scala](https://www.meetup.com/sf-scala/events/303718305)
- [Scala Bay](https://www.meetup.com/scala-bay/events/303718227/?eventOrigin=group_past_events)

SUBSCRIBE TO OUR MEETUP GROUPS ABOVE ^^

Also available on our YouTube channel here (please subscribe): https://youtu.be/ItE6pm8sn3k</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/ddadb5c1-05b8-40b0-bdda-61a058aecb6f/a6ba27b9-c79d-4158-a8d4-f9b2a2f9a833-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/tnFvpbzrK1LfqqkLW1YRm4</video:player_loc><video:duration>3656</video:duration><video:rating>5</video:rating><video:view_count>118</video:view_count><video:publication_date>2024-12-14T00:16:16.447Z</video:publication_date><video:tag>scala</video:tag><video:tag>functional programming</video:tag><video:tag>San Francisco</video:tag><video:tag>meetup</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/bCFjNZ71q1R2ZVbW8vFPBb</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/b54e9829-084d-481b-9553-cc0b289ef394.jpg</video:thumbnail_loc><video:title>Functional Programming In Scala - Part 1 of 3 -  By ​Maciej Gorywoda</video:title><video:description>**Functional Programming in Scala** is a set of three lectures that – as the title suggests – introduce you to the concepts of Functional Programming, with Scala being the programming language of the examples. During this short course, you will learn how to work with functions as first-class citizens of your code, how to use pattern matching and recursion to obtain complex yet readable code, and finally, what a monad is and what to do with it.

​In total, there are about four and a half hours of material: 1.5 hours of lecture on the basics and another 1.5 hours of joint work between the lecturer and students, where we use the knowledge from the previous lesson to write two more complicated programs, while discussing the details of programming in Scala, and another 1.5 hours of lecture on monads and effects systems. The whole series consists of slides and real-time programming. For coding we will use IntelliJ IDEA with the Scala Plugin.

​**About our speaker**

​[Maciej Gorywoda](https://www.linkedin.com/in/mgorywoda/) is a Product Marketing Manager in the IntelliJ Scala Plugin team at [JetBrains](https://www.jetbrains.com/). In 2005, he graduated from the Warsaw University of Technology with an MSc in Artificial Intelligence. He started working with Scala in  2014, and since then, it has become his favourite programming language for both professional work and various hobby projects. He speaks at conferences and produces YouTube videos on the basics of Functional Programming, Scala on Android, and Artificial Intelligence in video games. In 2024, he became an official Scala Ambassador.

​In his free time, Maciej writes fantasy, trains martial arts, and goes on long-distance bicycle trips.

**Event Details**

- [luma](https://lu.ma/exktvc5b)
- [SF Scala](https://www.meetup.com/sf-scala/events/305629251)
- [Scala Bay](https://www.meetup.com/scala-bay/events/305629540)

SUBSCRIBE TO OUR MEETUP GROUPS ABOVE ^^

Also available on our YouTube Channel (p...</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/561a6593-e690-4090-9279-b22390b7255c/9fbfda80-e35c-4ee3-8a6c-cb572d607b7b-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/bCFjNZ71q1R2ZVbW8vFPBb</video:player_loc><video:duration>6907</video:duration><video:rating>0</video:rating><video:view_count>78</video:view_count><video:publication_date>2025-03-13T06:30:36.483Z</video:publication_date><video:tag>scala</video:tag><video:tag>functional programming</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/qCvv9Bnj9HeGJNKwbdEPXj</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/fa84e1ad-7c70-4cf7-9d57-8b560061cba3.jpg</video:thumbnail_loc><video:title>Functional Programming In Scala - Part 2 of 3 - By ​Maciej Gorywoda</video:title><video:description>**Functional Programming in Scala** is a set of three lectures that – as the title suggests – introduce you to the concepts of Functional Programming, with Scala being the programming language of the examples. During this short course, you will learn how to work with functions as first-class citizens of your code, how to use pattern matching and recursion to obtain complex yet readable code, and finally, what a monad is and what to do with it.

​In total, there are about four and a half hours of material: 1.5 hours of lecture on the basics and another 1.5 hours of joint work between the lecturer and students, where we use the knowledge from the previous lesson to write two more complicated programs, while discussing the details of programming in Scala, and another 1.5 hours of lecture on monads and effects systems. The whole series consists of slides and real-time programming. For coding we will use IntelliJ IDEA with the Scala Plugin.

​**About our speaker**

​[Maciej Gorywoda](https://www.linkedin.com/in/mgorywoda/) is a Product Marketing Manager in the IntelliJ Scala Plugin team at [JetBrains](https://www.jetbrains.com/). In 2005, he graduated from the Warsaw University of Technology with an MSc in Artificial Intelligence. He started working with Scala in  2014, and since then, it has become his favourite programming language for both professional work and various hobby projects. He speaks at conferences and produces YouTube videos on the basics of Functional Programming, Scala on Android, and Artificial Intelligence in video games. In 2024, he became an official Scala Ambassador.

​In his free time, Maciej writes fantasy, trains martial arts, and goes on long-distance bicycle trips.

**Event Details**

- [luma](https://lu.ma/t4f3qq1e)
- [SF Scala](https://www.meetup.com/sf-scala/events/305629309)
- [Scala Bay](https://www.meetup.com/scala-bay/events/305629560)

SUBSCRIBE TO OUR MEETUP GROUPS ABOVE ^^

Also available on our YouTube Channel (p...</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/c7744900-1cb9-44ee-88aa-ff80c85f1614/5017653a-cbd5-4a85-a102-136ef0621c64-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/qCvv9Bnj9HeGJNKwbdEPXj</video:player_loc><video:duration>6972</video:duration><video:rating>0</video:rating><video:view_count>7</video:view_count><video:publication_date>2025-03-13T08:20:19.066Z</video:publication_date><video:tag>scala</video:tag><video:tag>functional programming</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/9CUrxr4YRXuy2DGrwDyjJK</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/0125cfc7-82ce-4147-acbb-db2595718855.jpg</video:thumbnail_loc><video:title>Functional Programming In Scala - Part 3 of 3 - By ​Maciej Gorywoda</video:title><video:description>**Functional Programming in Scala** is a set of three lectures that – as the title suggests – introduce you to the concepts of Functional Programming, with Scala being the programming language of the examples. During this short course, you will learn how to work with functions as first-class citizens of your code, how to use pattern matching and recursion to obtain complex yet readable code, and finally, what a monad is and what to do with it.

​In total, there are about four and a half hours of material: 1.5 hours of lecture on the basics and another 1.5 hours of joint work between the lecturer and students, where we use the knowledge from the previous lesson to write two more complicated programs, while discussing the details of programming in Scala, and another 1.5 hours of lecture on monads and effects systems. The whole series consists of slides and real-time programming. For coding we will use IntelliJ IDEA with the Scala Plugin.

​**About our speaker**

​[Maciej Gorywoda](https://www.linkedin.com/in/mgorywoda/) is a Product Marketing Manager in the IntelliJ Scala Plugin team at [JetBrains](https://www.jetbrains.com/). In 2005, he graduated from the Warsaw University of Technology with an MSc in Artificial Intelligence. He started working with Scala in  2014, and since then, it has become his favourite programming language for both professional work and various hobby projects. He speaks at conferences and produces YouTube videos on the basics of Functional Programming, Scala on Android, and Artificial Intelligence in video games. In 2024, he became an official Scala Ambassador.

​In his free time, Maciej writes fantasy, trains martial arts, and goes on long-distance bicycle trips.

**Event Details**

- [luma](https://lu.ma/mkovmplm)
- [SF Scala](https://www.meetup.com/sf-scala/events/305629359)
- [Scala Bay](https://www.meetup.com/scala-bay/events/305629578)

SUBSCRIBE TO OUR MEETUP GROUPS ABOVE ^^

Also available on our YouTube here: 

...</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/45f033d9-1626-4ee9-9105-747bfd351687/c0dbcccd-454a-46c3-bbfc-38678fc083b3-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/9CUrxr4YRXuy2DGrwDyjJK</video:player_loc><video:duration>5743</video:duration><video:rating>0</video:rating><video:view_count>6</video:view_count><video:publication_date>2025-03-14T07:58:22.744Z</video:publication_date><video:tag>scala</video:tag><video:tag>functional programming</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/kd4jF8jWHCpWbnckAcre6S</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/4db36949-0999-4f22-815d-885f3d5fac8a.jpg</video:thumbnail_loc><video:title>Let's Teach LLMs to Write Great Scala! By Kannupriya Kalra</video:title><video:description>**Let's Teach LLMs to Write Great Scala! By Kannupriya Kalra**

​Large Language Models (LLMs) are transforming how we build intelligent applications, but most tooling and best practices are centered around Python. Why should Python have all the fun? In this talk, we'll explore how LLMs work, from zero-shot prompting to agentic feedback loops, and discuss why typed languages like Scala offer a better foundation for building reliable, maintainable AI-powered applications.

​We'll examine lessons from Python’s ecosystem—LangChain, LiteLLM, and PydanticAI—and why Scala deserves its own first-class LLM toolkit. Enter LLM4S, a project bringing structured, type-safe AI development to Scala. We'll dive into how we can leverage Scala’s strengths for robust tool calling, multi-step workflows, and agentic programming.

​Join us to see how we can teach LLMs to generate great Scala code—and why that’s a game-changer for AI development.

​**About Kannupriya Kalra**

​Kannupriya Kalra is a functional programming enthusiast and Scala developer with 10 years of experience in building scalable software solutions. Currently a Software Engineer at Sky in London, she develops and maintains critical backend applications using functional Scala. She has previously contributed to Scala projects in various organizations in India, focusing on data engineering. Her expertise includes Scala, Akka, and big data technologies.

​As a Google Summer of Code 2024 mentor with Scala Center, she contributed to Scaladex and Scala CLI projects. Additionally, Kannupriya is the org admin for the Google Summer of Code 2025 program with Scala Center, where she plays a pivotal role in guiding and shaping future open-source contributions. In 2024, she represented Scala Center at the Google Open Source Conference in Sunnyvale, California. With a passion for sharing knowledge, Kannupriya has delivered talks in four countries, inspiring and engaging developers worldwide.

​Learn more about Kannupr...</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/9b8c9b65-aad4-4d5f-8817-6f4507295c40/32e719c4-8d6b-4b7a-b551-edcd043188e3-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/kd4jF8jWHCpWbnckAcre6S</video:player_loc><video:duration>1227</video:duration><video:rating>0</video:rating><video:view_count>95</video:view_count><video:publication_date>2025-03-16T18:02:50.304Z</video:publication_date><video:tag>scala</video:tag><video:tag>functional programming</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/24qQJ3y1S31hmzduVcH3LZ</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/b7f47bf4-c69f-40b3-9c6b-8d07c10ca80f.jpg</video:thumbnail_loc><video:title>Designing the library powering Netflix's QoE with Scala 3 By Joan Goyeau</video:title><video:description>**Designing the library powering Netflix's QoE with Scala 3**

​From raw data to business metrics, Netflix calculates more than 750 measures like: hours streamed, play delay, rebuffers… across multiple teams and at scale!

Join me to understand how Scala 3 played an important role in designing the library that powers those measures, using direct style, opaque types, typeclasses, macros...

**​About Joan Goyeau**

​Joan is a Playback Data Engineer in the Data Science and Engineering org at Netflix.

​As a functional programming enthusiast, Scala is his weapon of choice due to its grammatical simplicity combined with its powerful features.

​He is often contributing to Scala related open source projects like Mill, Kubernetes Client, Avro4s...

​Learn more about Joan Goyeau on [LinkedIn](https://www.linkedin.com/in/goyeau/)

**Event Details**

- [luma](https://lu.ma/5fz2y9or)
- [SF Scala](https://www.meetup.com/sf-scala/events/306178453)
- [Scala Bay](https://www.meetup.com/scala-bay/events/306178503)

SUBSCRIBE TO OUR MEETUP GROUPS ABOVE ^^

Also available on our YouTube here: 

https://youtu.be/2FiZ6ka7YQ0

</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/0893ad9f-8f18-4244-8dda-f8759b5bd4b1/8fe8cac5-0edf-4955-b616-1b0019a38f53-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/24qQJ3y1S31hmzduVcH3LZ</video:player_loc><video:duration>2478</video:duration><video:rating>0</video:rating><video:view_count>127</video:view_count><video:publication_date>2025-03-17T06:00:51.128Z</video:publication_date><video:tag>scala</video:tag><video:tag>functional programming</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/6byUakH8mgVomcB4sayKmN</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/d26f453c-b568-4e05-8600-29c2a08f0d22.jpg</video:thumbnail_loc><video:title>Solving Scala's Build Problem with the Mill Build Tool By Li Haoyi</video:title><video:description>**Solving Scala's Build Problem with the Mill Build Tool By Li Haoyi**

​[Mill](https://mill-build.org) is a Scala build tool that improves upon every aspect of the venerable SBT toolchain: more performant, easier to understand, and scalable to larger codebases. Unlike most build tools, Mill makes build configuration easy: easier to write, easier to navigate, and easier to understand. This talk will explore how Mill works, demonstrate its advantages over SBT in a live-coding setting, and dive into the novel techniques that a modern build tool uses to improve upon older build tools of years and decades past.

**​About Li Haoyi**

​Li Haoyi graduated from MIT with a degree in Computer Science and Engineering, since then has built core infrastructure for high-growth companies like Dropbox and Databricks, and has been a major contributor to the open source community. Author of the "com-lihaoyi" suite of OSS Scala projects, these projects have over 10,000 stars on Github, and are downloaded over 20,000,000 times a month. Haoyi has deep experience in the JVM and has professionally built distributed backend systems, programming languages, high-performance web applications, and much more.

​Learn more about Li Haoyi by visiting his website/blog here:

​https://www.lihaoyi.com

**Event Details**

- [Luma](https://lu.ma/dccyo635)
- [SF Scala](https://www.meetup.com/sf-scala/events/306928330)
- [Scala Bay](https://www.meetup.com/scala-bay/events/306928356/)

SUBSCRIBE TO OUR MEETUP GROUPS ABOVE ^^

Also available on our YouTube here: https://youtu.be/oW8D6LwJmYI
</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/29f767eb-1cd0-455f-88f1-8795172c4bd2/55b518b3-3cb3-4887-9871-aa429e1b90a5-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/6byUakH8mgVomcB4sayKmN</video:player_loc><video:duration>3273</video:duration><video:rating>0</video:rating><video:view_count>16</video:view_count><video:publication_date>2025-06-21T17:34:43.076Z</video:publication_date><video:tag>scala</video:tag><video:tag>functional programming</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/mVkLgtcQw8Qv5vA4v8SDHB</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/5b905fbd-3286-472f-ac83-8c41c3e2a902.jpg</video:thumbnail_loc><video:title>​Search, Retrieval, Training, and Analytics with Modern AI Data Lake By Chang She</video:title><video:description>**​Search, Retrieval, Training, and Analytics with Modern AI Data Lake By Chang She**

​As AI systems become increasingly complex and data-driven, the underlying infrastructure for search, retrieval, training, and analytics has emerged as a critical bottleneck. This talk explores the next generation of AI data lakes, presenting a comprehensive approach to managing large-scale, multimodal datasets that can dramatically accelerate machine learning workflows.

​Drawing from his extensive experience in working with the most cutting edge Gen AI companies, LanceDB’s CEO Cofounder Chang She will demonstrate how modern data infrastructure transforms AI development. The presentation will cover innovative techniques for efficient vector search, optimized training pipelines with dataset construction, and integrated analytics, showcasing real-world implementations from leading AI companies that highlight the potential of purpose-built data management solutions.

**​About Chang She**

​Chang She is the CEO and cofounder of LanceDB, the developer-friendly, open-source database for multi-modal AI. A serial entrepreneur, Chang has been building DS/ML tooling for nearly two decades and is one of the original contributors to the pandas library. Prior to founding LanceDB, Chang was VP of Engineering at TubiTV, where he focused on personalized recommendations and ML experimentation.

​Learn more about Chang She here:

​https://www.linkedin.com/in/changshe/

​Learn more about LanceDB here:

​https://lancedb.com

**Event Details**

- [Luma](https://lu.ma/rpbg4xp8)
- [Meetup](https://www.meetup.com/sf-data-and-ai-engineering/events/306945414)

SUBSCRIBE TO OUR MEETUP GROUPS ABOVE ^^

Also available on our YouTube here: https://youtu.be/7w-EeWMmC_Y

</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/a9695f5d-e200-4ee0-9dd5-4f81773b9ac1/4cba36a9-5292-40cd-a637-b5b6d5481d4b-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/mVkLgtcQw8Qv5vA4v8SDHB</video:player_loc><video:duration>2217</video:duration><video:rating>0</video:rating><video:view_count>7</video:view_count><video:publication_date>2025-06-21T18:55:16.894Z</video:publication_date><video:tag>Artificial Intelligence</video:tag><video:tag>Search</video:tag><video:tag>Data Engineering</video:tag><video:tag>AI</video:tag><video:tag>Database</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/6T6tpf8U5yLLCaxMpLv55Z</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/9e0a2906-e45e-4302-90b9-91a8817e8056.jpg</video:thumbnail_loc><video:title>Securing sensitive data in logs like a pro By Vivek Ragunathan &amp; Bahul Jain</video:title><video:description>**Securing sensitive data in logs like a pro By Vivek Ragunathan &amp; Bahul Jain**

Logging is vital for system observability and debugging, but writing sensitive data to logs poses several challenges and risks - Security &amp; data breaches, Compliance and legal issues, Loss of customer confidence and damage to reputation

​As a solution, we are going to discuss about the "Sanitizer" library we developed that makes it easy for developers to safely log data.

**​Speakers**

​Vivek Ragunathan
​Links: ​https://mastodon.social/@hktpe and &lt;https://blog.rhetoricalmusings.com&gt;‬ 
​
Bahul Jain
Links: ​https://github.com/bahuljain and ​https://mastodon.social/@bahuljain

**Event Details**

- [Luma](https://lu.ma/780luqac)
- [SF Scala](https://www.meetup.com/sf-scala/events/308661435/)
- [Scala Bay](https://www.meetup.com/scala-bay/events/308661456/?eventOrigin=group_past_events)

SUBSCRIBE TO OUR MEETUP GROUPS ABOVE ^^

Also available on our YouTube here: https://youtu.be/Te2YbQg_LZ8

</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/2f9fff81-b284-419e-ad41-f6cedefa5c19/36408476-eedc-4ef0-bf00-e3397d697561-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/6T6tpf8U5yLLCaxMpLv55Z</video:player_loc><video:duration>3002</video:duration><video:rating>0</video:rating><video:view_count>34</video:view_count><video:publication_date>2025-07-28T05:25:59.869Z</video:publication_date><video:tag>scala</video:tag><video:tag>functional programming</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/w/6Ubx9SPfjXDH2yBke158R4</loc><video:video><video:thumbnail_loc>https://watch.softinio.com/lazy-static/thumbnails/ec0dbac4-224c-40a9-bf68-d496cc83f832.jpg</video:thumbnail_loc><video:title>Demystifying Scala 3 Types By Bill Venners</video:title><video:description>**Demystifying Scala 3 Types**

​Scala 3 offers a rich and expressive type system—but to unlock its potential you need to understand it. In this talk we will walk you through the key concepts, including bounds, kinds, variance, type lambdas, type and kind lattices, polymorphic functions, abstract types, and wildcard type arguments. We'll give you mental models that can help you use the type system effectively in your day-to-day Scala coding.

​**Speaker**

**​Bill Venners**

​Bill Venners is president of Artima, Inc. He is the lead developer of the ScalaTest and Scalactic open source libraries and coauthor of Programming in Scala, Fifth Edition and Advanced Programming in Scala, Fifth Edition.

​Links:

​https://www.linkedin.com/in/bill-venners-27570a1/
​https://www.artima.com/books

**Event Details**

- [Luma](https://luma.com/780luqac)
- [SF Scala](https://www.meetup.com/sf-scala/events/308661435)
- [Scala Bay](https://www.meetup.com/scala-bay/events/308661456)

SUBSCRIBE TO OUR MEETUP GROUPS ABOVE ^^

Also, Available on our YouTube: https://youtu.be/nOfefWAQRoU
</video:description><video:content_loc>https://watch.softinio.com/static/streaming-playlists/hls/2fc6dcf2-43eb-4294-a1af-ab8cbc618519/7ae31ec8-588c-4b6a-8af6-5bd7dab49897-master.m3u8</video:content_loc><video:player_loc>https://watch.softinio.com/videos/embed/6Ubx9SPfjXDH2yBke158R4</video:player_loc><video:duration>3308</video:duration><video:rating>0</video:rating><video:view_count>340</video:view_count><video:publication_date>2025-10-14T04:29:43.976Z</video:publication_date><video:tag>scala</video:tag><video:tag>functional programming</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://watch.softinio.com/c/softinio/videos">Salar Rahmanian</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://watch.softinio.com/c/softinio/videos</loc></url><url><loc>https://watch.softinio.com/a/salar/video-channels</loc></url></urlset>