$30 off During Our Annual Pro Sale. View Details »

On Solving Problems

On Solving Problems

In which I discuss progress and means of achieving it.

Baishampayan Ghose

July 19, 2014
Tweet

More Decks by Baishampayan Ghose

Other Decks in Programming

Transcript

  1. 㔳䒭
    䒉眠
    On
    Solving
    Problems

    View Slide

  2. 㔳䒭
    䒉眠
    Or, how
    the present can’t lead us
    वैश$पायन घोष (बीजी)
    CTO/Co-founder

    Helpshift, Inc.
    to our future

    View Slide

  3. 㔳䒭
    䒉眠
    The problem
    Human Powered
    Flight

    View Slide

  4. 㔳䒭
    䒉眠
    A centuries
    old puzzle…
    da Vinci’s Notebook

    View Slide

  5. 㔳䒭
    䒉眠
    Paul
    MacCready

    View Slide

  6. 㔳䒭
    䒉眠
    Paul
    MacCready
    Kremer Prize 1977

    View Slide

  7. 㔳䒭
    䒉眠
    Paul
    MacCready
    Kremer Prize 1977 & 1979

    View Slide

  8. 㔳䒭
    䒉眠
    The problem is, that
    we don’t
    understand
    the problem.

    View Slide

  9. 㔳䒭
    䒉眠
    How is it done here?

    View Slide

  10. 㔳䒭
    䒉眠
    Doghouse
    Pattern

    View Slide

  11. 㔳䒭
    䒉眠
    x 100
    {h=3, w=3, b=3}
    Let’s scale this,
    baby!

    View Slide

  12. 㔳䒭
    䒉眠
    x 100
    {h=3, w=3, b=3}
    Let’s scale this,
    baby!

    View Slide

  13. 㔳䒭
    䒉眠
    x 100
    {h=3, w=3, b=3}
    Let’s scale this,
    baby!

    View Slide

  14. 㔳䒭
    䒉眠
    x 100
    {h=3, w=3, b=3}
    It’s a feature!
    Let’s scale this,
    baby!

    View Slide

  15. 㔳䒭
    䒉眠
    Functional
    Imperative
    Object Oriented
    Relational
    Yadda Yadda
    Our
    Programming
    Approach

    View Slide

  16. 㔳䒭
    䒉眠
    Functional
    Imperative
    Object Oriented
    Relational
    Yadda Yadda
    Make and fix
    Our
    Programming
    Approach

    View Slide

  17. 㔳䒭
    䒉眠
    Architecture
    n. the art or practice of designing structures

    View Slide

  18. 㔳䒭
    䒉眠
    You’re here
    Where we stand today

    View Slide

  19. 㔳䒭
    䒉眠
    Where we want to be
    You’re here

    View Slide

  20. 㔳䒭
    䒉眠
    future = f(past)

    View Slide

  21. 㔳䒭
    䒉眠
    B5000
    Burroughs

    View Slide

  22. 㔳䒭
    䒉眠
    B5000
    Burroughs
    ca. 1961
    Bob Barton

    View Slide

  23. 㔳䒭
    䒉眠
    B5000
    Burroughs
    ca. 1961
    High level bytecode
    Automatic thread safety
    Capabilities
    Multiple processors
    Uncrashable(!)
    Bob Barton

    View Slide

  24. 㔳䒭
    䒉眠
    Internet
    The

    View Slide

  25. 㔳䒭
    䒉眠
    Internet
    The
    ca. 1983
    Vint Cerf
    Bob Kahn

    View Slide

  26. 㔳䒭
    䒉眠
    Internet
    The
    ca. 1983
    Capable of organic evolution
    Upgrade, modify running system

    Never stopped since started
    Vint Cerf
    Bob Kahn

    View Slide

  27. 㔳䒭
    䒉眠
    Lessons learnt
    Understand the problem
    Ignore history at your own risk
    Design should be a deliberate practice
    Our software need to support evolution

    View Slide

  28. 㔳䒭
    䒉眠
    hack
    integrate
    test
    ship
    repeat

    View Slide

  29. 㔳䒭
    䒉眠
    hack
    integrate
    test
    ship
    repeat
    Grow your software.
    Hell, yeah!

    View Slide

  30. 㔳䒭
    䒉眠
    "We can't learn to see
    unless we realise we're blind!”
    — Alan Kay

    View Slide

  31. 㔳䒭
    䒉眠
    Thank you!
    @ghoseb

    View Slide

  32. 㔳䒭
    䒉眠
    λ

    View Slide