Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Excel The Ultimate

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

Excel The Ultimate

How treating Excel Workbooks as persistentreactive data structures ca ease your work and increase business adoption/velocity.

Avatar for Christophe Grand

Christophe Grand

October 24, 2013
Tweet

More Decks by Christophe Grand

Other Decks in Programming

Transcript

  1. Who am I? • Christophe Grand, @cgrand • Early Clojure

    adopter (5+ years) • Clojure Programming co-author • Independent dev, trainer, associated in http://lambdanext.eu/
  2. Maslow’s hierarchy of PL Rub ASM, C Java, C# Physiologial

    Security Love, belonging Esteem Self-actualization
  3. Maslow’s hierarchy of PL Rub ASM, C Java, C# Ruby,

    Python, JS Physiologial Security Love, belonging Esteem Self-actualization
  4. Maslow’s hierarchy of PL Rub ASM, C Java, C# CLJ,

    Haskell Ruby, Python, JS Physiologial Security Love, belonging Esteem Self-actualization
  5. Maslow’s hierarchy of PL Rub ASM, C Java, C# CLJ,

    Haskell Excel Ruby, Python, JS Physiologial Security Love, belonging Esteem Self-actualization
  6. Formula Language • The #1 functional language • ok maybe

    not that functional • but expression-based • IF is not a statement • and pure
  7. Spreadsheets are cool • Reactive • Live feedback • Declarative

    • No one cares when/where evaluation happens • The grid is legacy though
  8. I’m tired of • reverse-engineering a spreadsheet to turn in

    into real code • only to get a revised version next morning
  9. Double inefficiency • More grunt work for devs • Business

    users are not free/agile anymore • Rules set in stone • Update delays
  10. Business excelers • Business users able to model their stuff

    in a spreadsheet should be an asset not a liability for IT • More power to them! • unless you want more rogue IT
  11. POI • Allow you to read/write/evaluate XLS • Workbooks objects

    • Expensive to create/clone • Memory footprint
  12. ForkedEvaluator • Little hidden gem of POI • Lightweight evaluation-only

    workbook • Crippled impl • Taught me how to rebuild it in Clojure
  13. Power to the users! • Allowing key users to customize

    apps • Have their XLS logic tapping db, events, etc. • Always on • A super IFTTT for the enterprise
  14. Risk assessment • You can efficiently test workbooks • Unit

    tests • Regression tests • Compare with previous version based on history