filter_list help_outline
  • Liked Andrea Leopardi
    keyboard_arrow_down

    Andrea Leopardi - Software Librarians

    Andrea Leopardi
    Andrea Leopardi
    Core Team Member
    Elixir Lang
    schedule 1 month ago
    Sold Out!
    45 Mins
    Keynote
    Beginner

    Libraries are the building blocks of software. All applications I've worked with make heavy use of libraries. But who writes the libraries? In this talk, I want to share my perspective as a library author, and talk about library design, open source, extensibility, documentation, and people.

  • Liked Tarun Maini
    keyboard_arrow_down

    Tarun Maini - Testing AI/ML Applications

    Tarun Maini
    Tarun Maini
    Team Lead
    Thoughtworks
    schedule 1 month ago
    Sold Out!
    90 Mins
    Workshop
    Intermediate

    With the seismic shift in industry QA’s testing approaches is also changing, we must know the right strategies and algorithms to test. One of the latest technology is Artificial/Machine Learning Applications like Self driving cars, Virtual Assistants. They have great impact in our life and most of our decisions, behaviour & destinations depend on them.

    So in this presentation/Workshop i would like to present all the ways/strategies/ challenges faced while testing AI/ML applications

  • Liked Alexander Granin
    keyboard_arrow_down

    Alexander Granin - Hierarchical Free Monads and Software Design in Functional Programming

    Alexander Granin
    Alexander Granin
    Sr. Haskell Developer
    Juspay
    schedule 1 month ago
    Sold Out!
    45 Mins
    Talk
    Advanced

    Functional Programming is going through the same process of rethinking as Object Oriented Programming has passed already. FP today is not only something mystical, something barely applicable for day-to-day tasks, but rather a whole philosophy of building big, complex applications, with own tools, approaches and methodologies. We can see a lot of ideas about software design and architecture emerging from the FP community: talks, books, articles. We’re actively discussing Final Tagless, Free Monads, effect systems and other approaches, but it seems the theme not yet covered and we don’t know about possibilities we have.

    In this talk, I’ll tell you about the power of Free Monads in building complex applications in Haskell and PureScript. These applications will be satisfying the requirements like maintainability, testability, simplicity. You’ll know how to create a safe concurrent application state, how to divide the application into layers and how to keep the code sane. In fact, you can do the same with Final Tagless or extensible effects, but the approach with hierarchical Free Monads has some specific properties making it the best tool to separate concerns and create a very interesting eDSLs with different semantics.

    The talk is based on the ideas I’m describing in my book “Functional Design and Architecture”. I also gave several talks about this theme earlier (you can find all my talks here).

    I’ve used these ideas to build software for different companies, including Juspay (Bengaluru), Restaumatic (Poland), Enecuum (Hong Kong). We’ve created several interesting technologies that were not possible to make without Free Monads. Some of them are open sourced.

  • Liked Mangala Kader
    keyboard_arrow_down

    Mangala Kader - Understanding the pitfalls in Erlang / Elixir and steering clear from them

    45 Mins
    Talk
    Beginner

    Erlang has been in production for more than 30 years and a highly battle-tested robust system, which is being used by everybody including Telecom systems that provides 99.99% uptime. Elixir has been built on top of Erlang overcoming the shortcomings of the language and also using meta-programming, it has opened a new paradigm of looking at the language itself. I want to show what Elixir is to the audience and minute nuances that every experienced or inexperienced developer should be aware of before jumping into the magical erlang and elixir world.

  • Liked Harmeet Singh
    keyboard_arrow_down

    Harmeet Singh - Type System: The Beauty And The Beast

    45 Mins
    Talk
    Intermediate

    The type system plays an important role in building type-safe applications that reduce runtime exceptions and developer mistakes. This sophisticated system is leveraged by Scala’s most famous functional libraries, such as Scala-Cats and ScalaZ. This feature-rich system allows implementing pure functional programming on the JVM. It is a beast due to its complex syntax, as it prevents developers from exploring its beautiful aspects like partially applying types in Scala. In this talk, we will tame the beast and use its beauty to solve real-life issues faced during coding. Our examples will be based on generics, constraints, type lambdas, and the kind projector plugin.

    The following are the learning objectives of this talk:

    1. Practical use cases of the type system using real-life coding examples.

    2. Implementing custom higher kinded types and handling partially applied types via type lambdas and the kind projector plugin.

  • Liked Siddharth Kulkarni
    keyboard_arrow_down

    Siddharth Kulkarni - Functional Programming in Rust Lang

    45 Mins
    Talk
    Beginner

    Rust is a new systems programming language that is garnering a lot attention from higher level programmers alike. It has a strong type system that enables some interesting functional programming patterns. Through this talk, I would like to demonstrate the Zero Cost Functional Abstractions in Systems Programming and Otherwise. The talk assumes intermediate level knowledge of FP principles and basic understanding of Rust Lang.

  • Liked Nikhil More
    keyboard_arrow_down

    Nikhil More - Do you OOP in Elixir?

    Nikhil More
    Nikhil More
    Sr. Engineer
    Volansys
    schedule 1 day ago
    Sold Out!
    20 Mins
    Experience Report
    Beginner

    One of the strategies being adopted by RoR or Java software developers in adopting Elixir is they have not yet adapted themselves to unlearn the OOP in developing the web systems. This has caused OOP concepts to creep into full fledged Elixir systems. This presentation seeks to highlight these subtle points that need to be avoided to make the code more FP and less OOP.

  • Liked ANKIT JAIN
    keyboard_arrow_down

    ANKIT JAIN - Designing powerful real-time systems using Scala and Akka

    45 Mins
    Talk
    Advanced

    Sky BML (Beat/Meet/Lose) is a streaming system that produces real time Competitive Intelligence about Expedia's Lodging Supply.

    This competitive information is being used, among others, in Expedient for Market Managers to negotiate with hotels for better rates and avail. Competitiveness is proportional to the share of BML Losses that Expedia incurs. This is why Market Managers focus their energies on minimising losses.

    However, it is not easy to understand why losses occur and consequently their resolution takes proportionately long. Root Cause Engine(RCE) is a system that tries to simplify this and hence accelerate resolution of losses.

    To develop this system, we fully leveraged the power of different functional features of Scala and used Structured Spark Streaming as the processing engine in combination with Akka Clustering(for better app supervision and lifecycle management of the nodes).

    There are many benefits that we accrue from using Akka Clustering. e.g. there are no longer stray processes formed during re-deployment of a new build for our Streaming-system. This stems from the way Akka enables us to handle the shutdown of its actors in a graceful way.

    Similarly, some of the complex challenges are solved very naturally using functional programming features of easily. We had this complex problem of traversing a decision tree (based on conditional expressions) and then evaluating the child nodes(which are also expressions) with different lookup services responsible for mapping the symbols used in Expressions.

    I will be discussing in detail on how we tactically use Functional Programming concepts like Implicits, currying, High-Order Functions to get rolling with this problem with ease.

    Similarly, I will discuss on the way we have apply OOP principles to handle different kinds of inputs(streaming/batch) with minimal code duplication.

    Overall, it will be lot of fun to discuss the way to think about our problems and how our thinking is shaped by different concepts available in Scala and Akka.

  • Liked Yogesh Sajanikar
    keyboard_arrow_down

    Yogesh Sajanikar - Approximating time series data

    45 Mins
    Case Study
    Intermediate

    Overview

    IOT is ubiquitous now a days. With time series data pouring in from all possible sources, there is an increasing need to process the data at near real time. However, the transmission, storage and compute cost associated with this data is ever increasing.

    Approximation of Time Series

    In this talk, we will look at discrete transforms implemented using Haskell, combined with streaming libraries such as conduit/streamly. We will look at how we can use discrete wavelet transform to use with stream, where we do not know the size of the stream beforehand.

    Then we will look at how this data can be used to create and update sketches for supporting aggregation query on the time series data. We conclude that using approximate time series is very beneficial in applications such as IOT analytics, finance etc. We will also see how a simple Haskell list based application can be scaled using conduit not only for ingesting data, but also for querying it dynamically.

    Use Case

    Especially, we will look at CPU utilization of few machines and present the comparative study between query over raw CPU utilization data, and same queries over approximate time series.

    Current Status

    Currently being studied at my organization, such functional application is found to be useful in representing data for quick analytics.

  • Liked Sandeep Virdi
    keyboard_arrow_down

    Sandeep Virdi - ArKi-KV : Abusing Tagless Final Approach to build key-value store

    45 Mins
    Talk
    Intermediate

    There has been a lot of interest in the Tagless Final Approach/Pattern in the Scala-FP community. ArKi-KV is a simple LSM (Log Structured Merge Tree) based key value store that explores multiple functional programming concepts, including the Tagless Final Approach/Pattern. ArKi-KV uses cats/cats-effects for its functional and concurrent parts and jnr/jffi for off heap memory management.

  • Liked Andrea Leopardi
    keyboard_arrow_down

    Andrea Leopardi - Building a real-time, reliable, resilient web application in one day with Elixir and Phoenix

    Andrea Leopardi
    Andrea Leopardi
    Core Team Member
    Elixir Lang
    schedule 1 month ago
    Sold Out!
    480 Mins
    Workshop
    Beginner

    We'll explore how to built connected, real-time web applications using Elixir and the Phoenix framework.

    • Look at the basics of Elixir, or rather the things we need to dive into the workshop
    • Get started with the basics of Phoenix and how to build simple HTML web applications with it
    • Introduce channels and learn how to use them in order to communicate with clients in real time
    • Talk about distribution and how to work with Phoenix on multiple servers
    • Talk about LiveView and learn how to update data on a page from the server without any JavaScript

  • Liked Andrea Leopardi
    keyboard_arrow_down

    Andrea Leopardi - Papers We Love - Elixir Edition

    Andrea Leopardi
    Andrea Leopardi
    Core Team Member
    Elixir Lang
    schedule 1 month ago
    Sold Out!
    20 Mins
    Talk
    Beginner

    Elixir is a modern programming language built for concurrency, robustness, and maintainability. Although the Elixir team comes from “industry” backgrounds, the history of Elixir is full of cases where the team has reached for existing research in order to solve problems arising with the language. For example, we based our implementation of a code formatter on a series of papers on pretty printing and formatting code. In this talk, I’d like to go share our learnings and experiences as a bunch of industry folks getting help from academia to approach and tackle real-world problems and come up with real-world solutions.

  • Liked Anish George
    keyboard_arrow_down

    Anish George - Demystifying Function Sub-typing

    Anish George
    Anish George
    UI Developer
    Thoughtworks
    schedule 1 month ago
    Sold Out!
    20 Mins
    Talk
    Advanced

    What is a Type for a function? When can you say that a function is a sub-type of another function? Why should you even bother?

    Function sub-typing is one of the most confusing areas of FP. In this talk, I'll take a deep dive and explain the core concepts of function types which applies to many different languages. More than just explaining the mere rules, I will be deriving those rules in a step-by-step fashion till the eureka moment so that you will never be confused again.

    The topics covered:

    1. Sub-typing basics
    2. Covariance & Contravariance
    3. Function sub-typing
    4. Implementation gotchas in different languages (Java, Scala, Haskell, JavaScript)
  • No more submissions exist.