Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Power
of the
Paradig
Quotations from smarter people.
Even when the experts all
agree,
they may well be mistaken.
Bertrand Russell
Paradigm
A model of thought
Paradigm
Con rmation Bias
In science it often happens that scientists say
You know that’s a really good argument;
my position is mistaken,
and then ...
In science it often happens that scientists say
You know that’s a really good argument;
my position is mistaken,
and then ...
Change is sometimes painful
•Confusion
•Fear
•Embarrassment
•Loss
•Fight or flight
Faced with the choice between
changing one’s mind and proving
that there is no need to do so,
almost everyone gets busy on...
Paradigms in Programming
• Stored program concept
• Subroutines
• Structured programming
• Methods
• Higher order function...
The problem with purity:
The universe is not pure.
A new scientific truth does not triumph
by convincing its opponents and making
them see the light, but rather because
its ...
Science advances one funeral at a time.
Max Planck
Progress waits not on discovery,
but on consensus.
Paradigm Confusion
• Shoot the messenger.
• I do not understand how x can be true.
• Violent disagreement with irrelevant ...
More computing sins are committed
in the name of efficiency
(without necessarily achieving it)
than for any other single r...
The new shiny object is
part of the old paradigm.
It is difficult to distinguish a new
paradigm from a really bad idea.
• The Old Paradigm •
Sequential Programming
• The Next Paradigm •
Asynchronous Message Passing
• The Old Paradigm •
Sequential Programming
• The Next Paradigm •
Asynchronous Message Passing
• The Old Paradigm •
Sequential Programming
• The Next Paradigm •
Asynchronous Message Passing
Asynchronous Message Passing
• Sending a message to another process or
system.
• The sender does not wait for a response. ...
Actors
1973
postMessage
NodeJS
Clinging to the Old Paradigm
•RPC, HTTP, SOAP, REST
•Sync functions
•Generators
•Promises
•async await
A single mechanism provides
Concurrency
Communication
Security
The Seif Project
Rhymes with “safe”
Seif: A secure, efficient, asynchronous
JSON & blob messaging system
Seif does not require
DNS
HTTP
Certificates
Passwords
Seif provides a module adding
cryptographic services to Node JS
•ECC 521
•AES 256
•SHA3-256
•Random generation and entropy...
Zooko’s Triangle
Human
Meaningful
Securely
Unique
Decentralized
ECC521 public keys as unique
identifiers
Seif Protocol
Secure JSON Over TCP
Efficient sessions
Symmetric
S(plaintext) => ciphertext
S(ciphertext) => plaintext
Asymmetric
P(plaintext) => ciphertext
R(ciphertext) => pla...
Seif Handshake
Alice
•PA Alice’s public key
•RA Alice’s private key
•PB Bob’s public key
•H Handshake key
•S Session key
B...
Seif Handshake
Alice
•PA Alice’s public key
•RA Alice’s private key
•PB Bob’s public key
•H Handshake key
•S Session key
B...
Seif Handshake
Alice
•PA Alice’s public key
•RA Alice’s private key
•PB Bob’s public key
•H Handshake key
•S Session key
B...
Seif Handshake
Alice
•PA Alice’s public key
•RA Alice’s private key
•PB Bob’s public key
•H Handshake key
•S Session key
B...
Seif Handshake
Alice
•PA Alice’s public key
•RA Alice’s private key
•PB Bob’s public key
•H Handshake key
•S Session key
B...
Seif Handshake
Alice
•PA Alice’s public key
•RA Alice’s private key
•PB Bob’s public key
•H Handshake key
•S Session key
B...
Seif Handshake
Alice
•PA Alice’s public key
•RA Alice’s private key
•PB Bob’s public key
•H Handshake key
•S Session key
B...
Seif Handshake
Alice
•PA Alice’s public key
•RA Alice’s private key
•PB Bob’s public key
•H Handshake key
•S Session key
B...
Seif Message Send
• Normal send
• Automatic persistent retry
• Status send
• For telemetry and gaming
• Messages may be di...
seif: publickey @ ipaddress /
referral
Difficulty of software security
•Does what it should
•Doesn’t do what it shouldn’t
•No software is initially secure
•Only ...
There is nothing new here.
The goal of the Seif Project is to
provide safe and effective relationship
management on the web.
Still to do
• Port the Seif Protocol to other platforms,
including
• Java
• Unix
• IOS
• Windows
• Development of framewor...
The Seif Project
http://www.seif.place/
• The Next Paradigm •
Asynchronous Message Passing
It ought to be remembered that there is nothing more
difficult to take in hand, more perilous to conduct, or
more uncertai...
JS Fest 2018. Douglas Crockford. The Power of the Paradigm
Upcoming SlideShare
Loading in …5
×

of

JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 1 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 2 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 3 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 4 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 5 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 6 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 7 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 8 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 9 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 10 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 11 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 12 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 13 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 14 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 15 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 16 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 17 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 18 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 19 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 20 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 21 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 22 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 23 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 24 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 25 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 26 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 27 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 28 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 29 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 30 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 31 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 32 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 33 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 34 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 35 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 36 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 37 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 38 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 39 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 40 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 41 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 42 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 43 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 44 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 45 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 46 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 47 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 48 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 49 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 50 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 51 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 52 JS Fest 2018. Douglas Crockford. The Power of the Paradigm Slide 53
Upcoming SlideShare
What to Upload to SlideShare
Next

1 Like

Share

JS Fest 2018. Douglas Crockford. The Power of the Paradigm

Progress in our profession happens slowly as we clumsily shift from one paradigm to another. This talk looks at the next important advance in programming, and why we are trying to prevent its adoption.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

JS Fest 2018. Douglas Crockford. The Power of the Paradigm

  1. 1. Power of the Paradig
  2. 2. Quotations from smarter people.
  3. 3. Even when the experts all agree, they may well be mistaken. Bertrand Russell
  4. 4. Paradigm A model of thought
  5. 5. Paradigm Con rmation Bias
  6. 6. In science it often happens that scientists say You know that’s a really good argument; my position is mistaken, and then they would actually change their minds and you never hear that old view from them again. They really do it. It doesn’t happen as often as it should, because scientists are human and change is sometimes painful. But it happens every day. I cannot recall the last time something like that happened in politics or religion. Carl Sagan
  7. 7. In science it often happens that scientists say You know that’s a really good argument; my position is mistaken, and then they would actually change their minds and you never hear that old view from them again. They really do it. It doesn’t happen as often as it should, because scientists are human and change is sometimes painful. But it happens every day. I cannot recall the last time something like that happened in politics or religion. Carl Sagan
  8. 8. Change is sometimes painful •Confusion •Fear •Embarrassment •Loss •Fight or flight
  9. 9. Faced with the choice between changing one’s mind and proving that there is no need to do so, almost everyone gets busy on the proof. John Kenneth Galbraith
  10. 10. Paradigms in Programming • Stored program concept • Subroutines • Structured programming • Methods • Higher order functions • Pure functions
  11. 11. The problem with purity: The universe is not pure.
  12. 12. A new scientific truth does not triumph by convincing its opponents and making them see the light, but rather because its opponents eventually die, and a new generation grows up that is familiar with it. Max Planck
  13. 13. Science advances one funeral at a time. Max Planck
  14. 14. Progress waits not on discovery, but on consensus.
  15. 15. Paradigm Confusion • Shoot the messenger. • I do not understand how x can be true. • Violent disagreement with irrelevant details. • Intensify imperfection. • Distortion. • Partial adoption. • Obsess about performance.
  16. 16. More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason —including blind stupidity. William A. Wulf
  17. 17. The new shiny object is part of the old paradigm.
  18. 18. It is difficult to distinguish a new paradigm from a really bad idea.
  19. 19. • The Old Paradigm • Sequential Programming • The Next Paradigm • Asynchronous Message Passing
  20. 20. • The Old Paradigm • Sequential Programming • The Next Paradigm • Asynchronous Message Passing
  21. 21. • The Old Paradigm • Sequential Programming • The Next Paradigm • Asynchronous Message Passing
  22. 22. Asynchronous Message Passing • Sending a message to another process or system. • The sender does not wait for a response. The sender is free to do more work, including sending more messages. • Every receiver has a queue, or mailbox, that holds incoming messages. • Messages will be handled one by one. • Shared nothing.
  23. 23. Actors 1973
  24. 24. postMessage
  25. 25. NodeJS
  26. 26. Clinging to the Old Paradigm •RPC, HTTP, SOAP, REST •Sync functions •Generators •Promises •async await
  27. 27. A single mechanism provides Concurrency Communication Security
  28. 28. The Seif Project Rhymes with “safe”
  29. 29. Seif: A secure, efficient, asynchronous JSON & blob messaging system
  30. 30. Seif does not require DNS HTTP Certificates Passwords
  31. 31. Seif provides a module adding cryptographic services to Node JS •ECC 521 •AES 256 •SHA3-256 •Random generation and entropy harvesting
  32. 32. Zooko’s Triangle Human Meaningful Securely Unique Decentralized
  33. 33. ECC521 public keys as unique identifiers
  34. 34. Seif Protocol Secure JSON Over TCP Efficient sessions
  35. 35. Symmetric S(plaintext) => ciphertext S(ciphertext) => plaintext Asymmetric P(plaintext) => ciphertext R(ciphertext) => plaintext
  36. 36. Seif Handshake Alice •PA Alice’s public key •RA Alice’s private key •PB Bob’s public key •H Handshake key •S Session key Bob •PB Bob’s Public Key •RB Bob’s Private Key •PA Alice’s public key •H Handshake key •S Session key → {"seif": 1, PB(H), H(PA )}
  37. 37. Seif Handshake Alice •PA Alice’s public key •RA Alice’s private key •PB Bob’s public key •H Handshake key •S Session key Bob •PB Bob’s Public Key •RB Bob’s Private Key •PA Alice’s public key •H Handshake key •S Session key → {"seif": 1, PB(H), H(PA )}
  38. 38. Seif Handshake Alice •PA Alice’s public key •RA Alice’s private key •PB Bob’s public key •H Handshake key •S Session key Bob •PB Bob’s Public Key •RB Bob’s Private Key •PA Alice’s public key •H Handshake key •S Session key → {"seif": 1, PB(H), H(PA)}
  39. 39. Seif Handshake Alice •PA Alice’s public key •RA Alice’s private key •PB Bob’s public key •H Handshake key •S Session key Bob •PB Bob’s Public Key •RB Bob’s Private Key •PA Alice’s public key •H Handshake key •S Session key → {"seif": 1, PB(H), H(PA)}
  40. 40. Seif Handshake Alice •PA Alice’s public key •RA Alice’s private key •PB Bob’s public key •H Handshake key •S Session key Bob •PB Bob’s Public Key •RB Bob’s Private Key •PA Alice’s public key •H Handshake key •S Session key → {"seif": 1, PB(H), H(PA)}
  41. 41. Seif Handshake Alice •PA Alice’s public key •RA Alice’s private key •PB Bob’s public key •H Handshake key •S Session key Bob •PB Bob’s Public Key •RB Bob’s Private Key •PA Alice’s public key •H Handshake key •S Session key → {"seif": 1, PB(H), H(PA)} ← H({PA (S)})
  42. 42. Seif Handshake Alice •PA Alice’s public key •RA Alice’s private key •PB Bob’s public key •H Handshake key •S Session key Bob •PB Bob’s Public Key •RB Bob’s Private Key •PA Alice’s public key •H Handshake key •S Session key → {"seif": 1, PB(H), H(PA)} ← H({PA(S)})
  43. 43. Seif Handshake Alice •PA Alice’s public key •RA Alice’s private key •PB Bob’s public key •H Handshake key •S Session key Bob •PB Bob’s Public Key •RB Bob’s Private Key •PA Alice’s public key •H Handshake key •S Session key → {"seif": 1, PB(H), H(PA)} ← H({PA(S)})
  44. 44. Seif Message Send • Normal send • Automatic persistent retry • Status send • For telemetry and gaming • Messages may be discarded
  45. 45. seif: publickey @ ipaddress / referral
  46. 46. Difficulty of software security •Does what it should •Doesn’t do what it shouldn’t •No software is initially secure •Only a minimal approach can produce software that is eventually secure
  47. 47. There is nothing new here.
  48. 48. The goal of the Seif Project is to provide safe and effective relationship management on the web.
  49. 49. Still to do • Port the Seif Protocol to other platforms, including • Java • Unix • IOS • Windows • Development of frameworks that use Seif. • Browser support.
  50. 50. The Seif Project http://www.seif.place/
  51. 51. • The Next Paradigm • Asynchronous Message Passing
  52. 52. It ought to be remembered that there is nothing more difficult to take in hand, more perilous to conduct, or more uncertain in its success, than to take the lead in the introduction of a new order of things. Because the innovator has for enemies all those who have done well under the old conditions, and lukewarm defenders in those who may do well under the new. This coolness arises partly from fear of the opponents, who have the laws on their side, and partly from the incredulity of men, who do not readily believe in new things until they have had a long experience of them. Niccolò Machiavelli
  • GuidoDAlbore

    Apr. 15, 2018

Progress in our profession happens slowly as we clumsily shift from one paradigm to another. This talk looks at the next important advance in programming, and why we are trying to prevent its adoption.

Views

Total views

496

On Slideshare

0

From embeds

0

Number of embeds

2

Actions

Downloads

0

Shares

0

Comments

0

Likes

1

×