Successfully reported this slideshow.
Your SlideShare is downloading. ×

PyConJP Keynote Speech (English version)

Loading in …3

Check these out next

1 of 75 Ad

More Related Content

Similar to PyConJP Keynote Speech (English version) (20)

More from nishio (20)


Recently uploaded (20)

PyConJP Keynote Speech (English version)

  1. 1. Rediscover with Python Cybozu Labs. NISHIO Hirokazu PyCon JP Keynote Speech English version 2014-09-17 14年9月17日水曜日1
  2. 2. I gave my speech in Japanese and unfortunately simultaneous interpretation was not recorded. So I rewrite important part of my slide into English for non-Japanese speakers. 14年9月17日水曜日2
  3. 3. self introduction 14年9月17日水曜日3
  4. 4. self introduction • Cybozu Labs. 14年9月17日水曜日3
  5. 5. self introduction • Cybozu Labs. • Researching next generation groupware 14年9月17日水曜日3
  6. 6. self introduction • Cybozu Labs. • Researching next generation groupware • What is groupware? 14年9月17日水曜日3
  7. 7. examples of groupware kintone is our product: 14年9月17日水曜日4
  8. 8. What is groupware? coined by Douglas C. Engelbart, the inventor of mouse and GUI 14年9月17日水曜日5
  9. 9. What is groupware? Group + Software coined by Douglas C. Engelbart, the inventor of mouse and GUI 14年9月17日水曜日5
  10. 10. Augmenting Human Intellect Augment Human’s ability with software Douglas C. Engelbart "Augmenting Human Intellect: A Conceptual Framework" (1962) 14年9月17日水曜日6
  11. 11. Augmenting Group Intellect Augment group’s ability with software = Groupware 14年9月17日水曜日7
  12. 12. word2vec Computer read text and understand relation between words in the text my book. published on May 14年9月17日水曜日8
  13. 13. 人間 コンピュータ You may think like this 14年9月17日水曜日9
  14. 14. 人間+コンピュータ =増強された人間 人間 I prefer to think like this 14年9月17日水曜日10
  15. 15. Example To monitor yourself won’t works well. When you are in bad condition, monitoring is also in bad condition. So you can’t notice you are in bad condition. One solution is monitoring by another person. But sense of shame and pride will cause problems. 14年9月17日水曜日11
  16. 16. Another solution is monitoring by computer. It solves “shame and pride” problems. 14年9月17日水曜日12
  17. 17. This is a prototype. You can consult with the system to motivate yourself. 13000 people used it and 6000 people was motivated. 14年9月17日水曜日13
  18. 18. 14 channels brain wave sensor Another approach is going. 14年9月17日水曜日14
  19. 19. Human→Machine touch panel Machine→Human liquid crystal (multi-touch) switch mouse keyboard camera scanner paper CRT 3D TV e-ink HMD Method to copy information from/to human is evolved 14年9月17日水曜日15
  20. 20. Machine→Human paper CRT liquid crystal 3D TV e-ink HMD book e-book But books are not evolved much We need next generation “book reading”. Computer should monitor human reading books, and augment its performance. I think brain-wave and hi-reso HMD are the key to future. 14年9月17日水曜日16
  21. 21. 4 elements to augment human • 1: Artifacts: computer, software, etc. • 2: Language: jargon to refer special concepts, design patterns, etc. • 3: Methodology: procedure and strategy for solving problems, etc. • 4: Training: achieve skills to use 1~3 Engelbart "Augmenting Human Intellect: A Conceptual Framework" (1962) 14年9月17日水曜日17
  22. 22. theme of this conference: Rediscover with Python 14年9月17日水曜日18
  23. 23. How to discover? →Methodology to find unknown 14年9月17日水曜日19
  24. 24. When you see something... 14年9月17日水曜日20
  25. 25. You see some part of the object 14年9月17日水曜日21
  26. 26. If you see the object from the left side, it looks like a sphere. But if you see it from the bottom side, you find it has a tail! It is the process to discover unknown 14年9月17日水曜日22
  27. 27. How to discover? →Change Perspective 14年9月17日水曜日23
  28. 28. known ↔ unknown Two? no, it’s not correct. 14年9月17日水曜日24
  29. 29. obviously known obviously unknown Between known and unknown... 14年9月17日水曜日25
  30. 30. obviously known obviously unknown 不明not obvious There are things which you don’t know that you don’t know them. “obvious” = “明” in Japanese 14年9月17日水曜日26
  31. 31. blind spot • Between “Things you know” and “Things you don’t know”, “Things you don’t know that you don’t know them” exists • You don’t see it, but you don’t notice you don’t see it, that is the blind spot 14年9月17日水曜日27
  32. 32. Clarify what you know obviously known obviously unknown 14年9月17日水曜日28
  33. 33. ←blind spot Out of the border you can find blind spot obviously known obviously unknown 14年9月17日水曜日29
  34. 34. ←blindspot Then the border expands obviously known obviously unknown 14年9月17日水曜日30
  35. 35. How to find blind spot? 14年9月17日水曜日31
  36. 36. In my book published in April 2013, I introduced three way to learn Comparison History Experience Japanese, Korean, Chinese version are available, English version is on going. 14年9月17日水曜日32
  37. 37. In my special feature article in this April, I added two Comparison History Experience + Abstraction Communication 14年9月17日水曜日33
  38. 38. How to find blind spot? Comparison History Experience Abstraction Communication 14年9月17日水曜日34
  39. 39. Comparison • You can find blind spot by comparing programming languages “In Ruby, 0 is true?! In Python it is false!” “It differs among languages?” “What is the definition in Python??” object.__nonzero__(self) Called to implement truth value testing and the built-in operation bool(); 14年9月17日水曜日35
  40. 40. History • You can find blind spot by learning history. “Why Python has new-style class and old class?” →(Learn history) → “To unify types and classes? It’s important!” “Old class has problem on method resolution order, so we need new-style class. I got it.” Unifying types and classes in Python 2.2 | 14年9月17日水曜日36
  41. 41. Experience • You can find blind spot by doing based on your understanding. Especially it won’t work as you think. “Oops, why 1/2 goes into 0? I think it goes 0.5!” PEP 238 -- Changing the Division Operator If you think it is obviously goes into 0, you didn’t find your blind spot. You should experience Python 3. 14年9月17日水曜日37
  42. 42. Abstraction • You can find blind spot by learning abstract model and connect it to your experience. It helps you verbalize implicit knowledge. “Ah, I’m used to the coding pattern but I didn’t know it was called Mediator Pattern!” “Mailing lists are also Mediator Pattern in information sharing domain!” Abstract model can connect experiences in different domain/person/situation. 14年9月17日水曜日38
  43. 43. Communication • You can find blind spot by talking with other people who have different experiences. “I have a problem...” “You can solve it by ...” “Oh! Nice idea!” “But it is common in GUI programming” “Hmm, I don’t know on GUI” 14年9月17日水曜日39
  44. 44. How to find blind spot? Comparison History Experience Abstraction Communication 14年9月17日水曜日40
  45. 45. Communication 14年9月17日水曜日41
  46. 46. Office Hour 13:00-13:30 Blog, Mail see 14年9月17日水曜日42
  47. 47. Q&A 14年9月17日水曜日43
  48. 48. Q: Some people ignore the chance to find blind spot. How can I manage them? 14年9月17日水曜日44
  49. 49. A: “U Theory” is targeting the problem. I’ll give lecture on that in Kyoto Univ. Summer Design School. After that you can read my slides on U soon. 14年9月17日水曜日45
  50. 50. A: First, “How to manage others” is not good attitude. Change yourself first. 14年9月17日水曜日46
  51. 51. A: Second, you (and I) sometimes ignore the chance to find blind spot too. It’s common. Be aware and be careful. That helps you find blind spot. 14年9月17日水曜日47
  52. 52. A: Start from small step. Make useful result by finding blind spot. Successful experience make you confident. 14年9月17日水曜日48
  53. 53. from my lecture U Curve PDCA Cycle and U Curve U Curve Otto Scharmer “U Theory”   state action 14年9月17日水曜日49
  54. 54. from my lecture U Curve PDCA Cycle and U Curve U Curve ←You stick on false belief and you don’t see. Otto Scharmer “U Theory”   state action 14年9月17日水曜日50
  55. 55. from my lecture U Curve PDCA Cycle and U Curve U Curve ←You see, but from your perspective. Otto Scharmer “U Theory”   state action You draw boundary between self and others, thinking “they don’t do ...(some good action)” 14年9月17日水曜日51
  56. 56. Q: Is it important to make abstract models? 14年9月17日水曜日52
  57. 57. A: Yes, it’s important. 14年9月17日水曜日53
  58. 58. Section 3 of my special feature is how to make models. You can read them(but in Japanese) 14年9月17日水曜日54
  59. 59. A: Sense of “I got it” is also hypothesis. Hypothesis should be tested. Do action based on your understanding and check the result. 14年9月17日水曜日55
  60. 60. A: If the result differ from your understanding, it is chance to adjust your models. To repeat the process you can achieve better models, and then based on that you can make larger model. This is a method. 14年9月17日水曜日56
  61. 61. A: Another method KJ method and grounded theory. They are used in domains, in which experiments are difficult. 14年9月17日水曜日57
  62. 62. A: I’ll introduce KJ method roughly. First, collect a lot of data. Don’t filter based on your prejudice. Spread all data on your desk. 14年9月17日水曜日58
  63. 63. A: Human’s woring memory is about seven. But if you put data on your desk, you can see 100~200 data at a time. 14年9月17日水曜日59
  64. 64. A: Seeing 100 data, moving them physically, making structure from bottom up, and then you get models on your desk. (Models in my book and special features are also developed with KJ method) 14年9月17日水曜日60
  65. 65. Q: 5 ways to find blind spot are not same on time series. 14年9月17日水曜日61
  66. 66. A: Good point. It’s my blind point. Sure, “Abstraction” is follower. A person without any programming experience can not find blind spot by reading design patterns textbooks. Abstract models in book doesn’t connect to his experience. 14年9月17日水曜日62
  67. 67. Q: How to share know-how among testers. (detail omitted) 14年9月17日水曜日63
  68. 68. A: It looks a problem to share implicit, not verbalized, knowledge. One method is “work together” 14年9月17日水曜日64
  69. 69. A: By working together, we can share knowledge without verbalizing them. Additionally, if one person is prohibited to do anything except for talking what to do, it prompt verbalization. Ref: Keith Sawyer "Group Genius: The Creative Power of Collaboration" 14年9月17日水曜日65
  70. 70. A: We can make manuals only after we verbalized our knowledge. Verbalization is difficult job. Delegating the job without any training is bad idea. 14年9月17日水曜日66
  71. 71. not verbalized knowledge   Ikujiro Nonaka "The knowledge creating company" Japanese version p93   from my lecture verbalized not verbalized 14年9月17日水曜日67
  72. 72. not verbalized knowledge   Ikujiro Nonaka "The knowledge creating company" Japanese version p93   from my lecture verbalized not verbalized ↑pair programming, work together 14年9月17日水曜日68
  73. 73. Q: I make template to share information and use it. By answering questions, required information will be collected. 14年9月17日水曜日69
  74. 74. A: Nice method. Even if someone can not verbalize himself, they can answer to specific questions. It’s common. Making good questions are useful. 14年9月17日水曜日70
  75. 75. A: However, be careful. Sometimes we lose information which is not fit to the template. Innovative information don’t fit to existing template. 14年9月17日水曜日71