November 1, 2019

Weekend long read suggestions 2019/44

Elixir

Rust

  • Ownership and impl Trait

    Article focuses on gotchas when using impl Trait in Rust. impl Trait is very useful for making code easier to read. Author takes us through impact of implicit lifetime when using impl Trait and how to work around them.

Machine learning

  • Two interesting papers from the optimization space trying to bring optimality guarantees given the constraints fed to them:

    • Optimized Risk Scores

      Slightly older paper describing `RiskSLIM` algorithm, which produces risk score with proof of optimality. They introduce the latice cutting plane algorithm (LCPA) in order to avoid the stalling behavior for non-convex settings of existing cutting plane algorithms. Sources are also [available](https://github.com/ustunb/risk-slim).
    • Learning Certifiably Optimal Rule Lists for Categorical Data

      > CORELS (**C**ertifiable **O**ptimal **R**ul**E** **L**ist**S**) is a custom discrete optimization technique for building rule lists over a categorical feature space. Our algorithm provides the optimal solution, with a certificate of optimality.
      
      That is potentially very important for decision trees used in fintech or other areas having direct impact on humans. Source codes have been made [available](https://github.com/nlarusstone/corels).
  • DeepPavlov

    Open source (Keras and TensorFlow based) project for building conversationals chatbots.

Learning

Interesting tools

  • pg_flame

    A flamegraph generator for Postgres EXPLAIN ANALYZE output.