Real world functional programming in Ads serving

schedule Oct 15th 12:30 PM - 01:15 PM place Grand Ball Room 1 people 5 Attending

This talk will be about how we applied Typed functional programming and object-functional concepts inspired from languages like Scala, Haskell in building an Ads serving engine using Java 8 and made the stack extensible for multiple Ads serving usecases like App, Desktop, Exchange and ML model execution for CTR prediction, Guaranteed delivery etc.

This talk will focus on how we solved problems in an Ads serving engine using functional programming constructs for:

  • Relevance and Ranking
  • CTR prediction
  • Bidding models
  • Guaranteed delivery (Convex Optimization)
  • Explore / Exploit (Multi-armed bandit)
  • Attribution, Deduplication etc

From a language level, it will focus on how we applied our learnings from other functional languages like Scala, Clojure, Haskell in Java 8 to write elegant code for:

  • Composing Ad selection workflows from reusable components
  • Reasoning about code through immutability
  • Defining interfaces like function types. Functions as first class objects to express behaviour.
  • Using Builders and Filter predicates for adding new features
  • Transforming collections using streams, lambdas, map, reduce, flatMap, groupBy
  • Optional for writing null safe code and handling defaults using map, flatMap, orElse
  • Functional operations like partition, zip for simplifying code
  • Pattern matching and other features from libraries
  • Caching and memoization
 
8 favorite thumb_down thumb_up 3 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

  1. Problem statement for Ads serving engine
  2. Domain and Functional modeling for different components
  3. Application and advantages of functional programming concepts for different components
  4. Code demo + comparison with Scala/Haskell

Learning Outcome

Audience can learn about how to apply functional programming concepts in a real world application without working in a purely functional language in the context of an Ads serving engine.

Target Audience

Beginner and Experienced functional programmers

schedule Submitted 1 year ago

Comments Subscribe to Comments

comment Comment on this Proposal
  • Sathish Kumar
    By Sathish Kumar  ~  1 year ago
    reply Reply

    Hi Naresh, Glad you found it interesting. I've presented at JSFoo 2012 and Rubyconf 2013 before. Links: https://www.youtube.com/watch?v=lfPf6hpa0Jo

    • Mushtaq Ahmed
      By Mushtaq Ahmed  ~  1 year ago
      reply Reply
      The talk indeed looks very good.
  • Naresh Jain
    By Naresh Jain  ~  1 year ago
    reply Reply

    Thanks Sathish for your proposal. It looks very interesting. Would you have a link to any previous videos where you are presenting? This will help the program committee understand your presentation skills.


  • Liked Vagmi Mudumbai
    keyboard_arrow_down

    Vagmi Mudumbai - Reactive Programming with RxSwift

    Vagmi Mudumbai
    Vagmi Mudumbai
    CTO
    TarkaLabs
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    We have been rewriting our CoreData and NSOperationQueue based sync system with RxSwift. This talks presents our benefits with moving with RxSwift and some of the challenges we faced while we implemented a persistent job queue with RxSwift.