~/talk

Integrating Kotlin into a Poliglot JVM Environment

Talkat Conference for Kotliners 2020 · on Friday, 2020-06-05· [kotlin, machine-learning]
links:none on file
slides:none on file

A Kotlin machine learning library trains on Spark/Scala, reads data from S3, and ships as a self-contained JAR embedded in Clojure services; integration succeeds but surfaces concrete surprises: Kotlin ML library calls need Seq/vararg conversions and extension wrappers to call Spark APIs, UDFs require Java SAM or wrapper objects, and Kotlin collection views and primitive arrays non-serializable break Spark task shipping. JSON deserialization and shading force a Jackson workaround, and boxed number handling causes null doubles become 0 bugs that required explicit type handling.

AI-written summary · about

  1. 0:00Intro
  2. 0:56Ekata - Who we are?
  3. 1:44Identity Check
  4. 2:38The machine learning lifecycle
  5. 3:42Our approach
  6. 5:37Kotlin code in the prod web-service
  7. 6:11Predictor (model + code)
  8. 7:08Kotlin code in the ML training pipeline
  9. 7:49Original project structure
  10. 9:04Evolving codebase
  11. 9:50Calling varargs
  12. 12:08Varargs summary
  13. 12:20Scala closures
  14. 14:49Seamless above Scala 2.12
  15. 15:25Extension helps in 2.11
  16. 15:43Spark also has a Java interface
  17. 16:24Closures summary
  18. 16:57Some lists are not java.io.Serializable
  19. 18:50Why serialization is important?
  20. 20:04Serializable summary
  21. 20:33scala.Double
  22. 22:194. kotlin.Double?
  23. 23:36Double summary
  24. 26:465. Clojure maps
  25. 27:59Maps summary
  26. 29:16Broken shaded extension functions
  27. 30:30Shading summary
  28. 31:02Open sourcing the ML library
  29. 31:45What we learned
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.