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

Metaphors We Compute By

Metaphors We Compute By

We think in words, we talk with words, we understand the world thanks to words. Metaphors take words to the next level explaining concepts that were escaping our understanding before. In 1980 George Lakoff revolutionised the Linguistic and Philosophic worlds when he studied how metaphors affect our thinking, how they influence our actions and even shape who we are. What happens with the metaphors that we use in the Software Industry?

In this talk we are going to review the importance that metaphors have in our code quality, in the algorithms we choose, and the products we ship.

As a practical example we are going to see why Microservices and Containers have been so successful in the past couple of years. We’ll try to understand why they have redefined how we package and ship products in our industry.

Alvaro Videla

January 27, 2017
Tweet

More Decks by Alvaro Videla

Other Decks in Programming

Transcript

  1. METAPHORS PERMEATE ALL AREAS OF OUR LIVES METAPHORS DICTATE ▸

    How we think ▸ How we behave ▸ How we perceive
  2. METAPHORS PERMEATE ALL AREAS OF OUR LIVES METAPHORS DICTATE ▸

    How we think ▸ How we behave ▸ How we perceive ▸ How our conceptual system is built
  3. METAPHORS IN EVERYDAY EXPRESSIONS ARGUMENT IS WAR ▸ Your claims

    are indefensible ▸ He attacked every weak point in my argument
  4. METAPHORS IN EVERYDAY EXPRESSIONS ARGUMENT IS WAR ▸ Your claims

    are indefensible ▸ He attacked every weak point in my argument ▸ I demolished his argument
  5. METAPHORS IN EVERYDAY EXPRESSIONS ARGUMENT IS WAR ▸ Your claims

    are indefensible ▸ He attacked every weak point in my argument ▸ I demolished his argument ▸ I never won an argument with him
  6. METAPHORS IN EVERYDAY EXPRESSIONS ARGUMENT IS WAR ▸ Your claims

    are indefensible ▸ He attacked every weak point in my argument ▸ I demolished his argument ▸ I never won an argument with him ▸ His criticisms were right on target
  7. “SOMETIMES OUR TOOLS DO WHAT WE TELL THEM TO. OTHER

    TIMES, WE ADAPT OURSELVES TO OUR TOOLS' REQUIREMENTS” Nicholas Carr THE SHALLOWS
  8. “TO PROGRAM IS TO WRITE TO ANOTHER PROGRAMMER ABOUT OUR

    SOLUTION TO A PROBLEM” Charles Baker A PROGRAMER’S ROLE
  9. “NO ONE HAS SEEN A PROGRAM WHICH THE MACHINE COULD

    NOT COMPREHEND BUT WHICH HUMANS DID” Charles Baker A PROGRAMER’S ROLE
  10. Whenever nodes need to agree on a common value, we

    start a consensus algorithm to decide on a value. There's usually a leader process that takes care of making the final decision based on the votes it has received from its peers. SEVEN METAPHORS DISTRIBUTED SYSTEMS METAPHORS
  11. SEVEN METAPHORS DISTRIBUTED SYSTEMS METAPHORS Nodes communicate sending messages over

    a channel, which might get congested due to too much traffic. This could create an information bottleneck, with queues at each end of the channels backing up.
  12. FOUR METAPHORS DISTRIBUTED SYSTEMS METAPHORS These bottlenecks might render one

    or more nodes unresponsive, causing network partitions. Is the process that's taking too long to respond dead? We won't know unless we set a timeout…
  13. MICROSERVICES ▸ Decentralised Governance ▸ Monolith vs. Microservice ▸ Isolation

    ▸ Collaboration ▸ Small is better - Big is cumbersome ▸ David vs. Goliath
  14. “IN ANOTHER DIRECTION, ONE COULD ARGUE THAT MICROSERVICES ARE THE

    SAME THING AS THE ERLANG PROGRAMMING MODEL, BUT APPLIED TO AN ENTERPRISE APPLICATION CONTEXT”
  15. REFERENCES ▸ Lakoff, George, and Mark Johnson. “Metaphors We Live

    By” ▸ Gleick, James. “The Information: A History, a Theory, a Flood” ▸ Geary, James. “I Is an Other: The Secret Life of Metaphor and How It Shapes the Way We See the World” ▸ Demers, Alan, Dan Greene, Carl Hauser, Wes Irish, and John Larson. “Epidemic Algorithms for Replicated Database Maintenance”
  16. CREDITS - CC BY-NC-ND ▸ Office Workers: https://flic.kr/p/5WwpeV ▸ Sun:

    https://flic.kr/p/9Q6SY1 ▸ Queue: https://flic.kr/p/8AqWW7 ▸ Consensus: https://flic.kr/p/aws7dH ▸ Bottlenecks: https://flic.kr/p/EJ5Q3 ▸ Gossip: https://flic.kr/p/4bCDr2 ▸ Containers: https://flic.kr/p/nWLQxE