- 2014-09-17
- Materials
Rediscover with Python Cybozu Labs NISHIO Hirokazu Q&A Added Version2014-09-17 Wednesday, September 17, 20141
evil pythonista Wednesday, September 17, 14 2
evil pythonista Wednesday, September 17, 14 3
evil pythonista -2006 LL Ring âJanken 2.0â Wednesday, September 17, 14, 2006 3
evil pythonista -2006 LL Ring âJanken 2.0â - programmers of various languages write programs in each language and play rock-paper-scissors-paper in a communication game Wednesday, September 17, 14 3
evil pythonista -2006 LL Ring âJanken 2.0â - Programmers of various languages write programs in each language and play rock-paper-scissors-paper in a communication game - this kind of program can be written in one line! You can write a program like this in one line! Wednesday, September 17, 14 3
Canât use syntax with line breaks -if -while -try..except Wednesday, September 17, 14 4
How to? Wednesday, September 17, 14 5
How to?-use short-circuit evaluation of if âand/or Wednesday, September 17, 14 5
How to? -if âuse short-circuit evaluation of and/or -while âuseful library for infinite yield from itertools import count Wednesday, September 17, 14 5
How to? -if âuse short-circuit evaluation of and/or -while âconvenience library for infinite yieldfrom itertools import count -try..except â Start a âprocess that may throw an exception and dieâ as a child process and read the error output on exitWednesday, September 17, 145
Wednesday, September 17, 14 6 http://www.nishiohirokazu.org/blog/2006/08/python_12.html
Serious Self-Introduction Wednesday, September 17, 14 7
Serious Self-Introduction - Cybozu Labs Wednesday, September 17, 14 7
Serious Self-Introduction - Cybozu Labs - Research and Development of Technologies that Will Serve as the Foundation for the Next Generation of Groupware from a Medium- to Long-Term Perspective7 Wednesday, September 17, 14
Serious Self-Introduction-Cybozu Labs-Research and development of technologies that will form the basis of the next generation of groupware from a medium- to long-term perspective-One Liner not writtenWednesday, September 17, 14, 7
Python Usage Scenes at Cybozu - Automation - Infrastructure - Analysis Wednesday, September 17, 14 8
Automation - VM, storage and various configurations management - Testing: easy to write and mock - as Jenkins scripts â Requests to hit kintone API and others Wednesday, September 17, 14 9
Infrastructure14 Wednesday, September 17, 10
Remote Backup Wednesday, September 17, 14 https://enterprise.cybozu.com/topics131111/ 11
P2P automatic failure recovery system Wednesday, September 17, 14 http://developer.cybozu.co.jp/tech/?p=5799 12
P2P automatic failure recovery system Wednesday, September 17, 14 http://developer.cybozu.co.jp/tech/?p=5799 13
Infrastructure - C++ and Java for the parts that require performance -Python to stitch those components together14 Wednesday, September 17, 14
Analysis Wednesday, September 17, 1415
Analysis - Data Collection Wednesday, September 17, 14 15
Analysis - Data Collection - Cleansing and Filtering Wednesday, September 17, 14, 15
Analysis - Data Collection - Cleansing and Filtering - Statistical Processing is also easy with NumPy and SciPy14, Wednesday, September 17, 1415
Analysis - Data collection - Cleansing, filtering, and statistical processing is also easy with NumPy and SciPy from scipy.stats import chi2_contingency chi2_ contingency(data) Wednesday, September 17, 1415
Python Usage Scenes at Cybozu - Automation - Infrastructure - Analysis â talk about specific examples Wednesday, September 17, 14 16
Wednesday, September 17, 14 17
Recommended Graph Chart recommendation -Create a graph from data -Various options for what kind of graph to create -Computer assistedWednesday, September 17, 14 http://developer. cybozu.co.jp/tech/?p=3874 18
Recommend charts using statistics of data distribution Wednesday, September 17, 14 19
Recommended Graph Chart recommendation -Flask and NumPy for prototypes -collections in the standard library are also useful -product version is implemented in JavaScript14 years Wednesday, September 17 http://developer.cybozu.co.jp/tech/?p=3874 20
What is groupware? Wednesday, September 17, 14 21
What is groupware? Group + Software Wednesday, September 17, 14 21
Augmenting Human Intellect software augments human abilities Engelbert, âAugmenting Human Intellect: A Conceptual Frameworkâ (1962) Wednesday, September 17, 14 22
Augmenting Group Intellect Software Enhances Collective Capacity = Groupware Wednesday, September 17, 14 23
Give word2vec a sentence and the computer will understand the meaning of the word24 Wednesday, September 17, 14
Human Computer Wednesday, September 17, 14 25
Human + Computer = Augmented Human Human Wednesday, September 17, 14 26
Wednesday, September 17, 1427
Wednesday, September 17, 1428
Wednesday, 9/17/14 Search 29 for âmotivational adviceâ
14 channels brain wave sensor Wednesday, September 17, 14 30
Human to Machine keyboard switch mouse camera touch panel (multi-touch) scanner Machine to Human paper CRT liquid crystal e-ink 3D TV HMD Wednesday 17 Sep 14 31
MachineâHuman paper CRT liquid crystal e-ink 3D TV HMD book e-book Wednesday, September 17, 14 32
Four elements of human enhancement -1: Artifacts: computers, software, etc. -2: Language: terminology for concepts, design patterns, etc. -3: Methodology: procedures, strategies, etc. Methodology: procedures, strategies, etc. for problem solving -4: Training: acquiring skills to use 13 Wednesday, September 17, 14 Engelbert, âAugmenting Human Intellect: A Conceptual Frameworkâ (1962) 33 Frameworkâ (1962) 33
Four elements of human enhancement -1: Artifacts: computers, software, etc. -2: Language: terminology for concepts, design patterns, etc. -3: Methodology: procedures, strategies, etc. Methodology: procedures, strategies, etc. for problem solving -4: Training: acquiring skills to use 13 Wednesday, September 17, 14 Engelbert, âAugmenting Human Intellect: A Conceptual Frameworkâ (1962) 34 Frameworkâ (1962) 34
theme of this conference: Rediscover with Python Wednesday, September 17, 1435
How to discover? âMethodology to ïŹnd unknown Wednesday, September 17, 14 36
Wednesday, September 17, 1437
Wednesday, September 17, 1438
Wednesday, September 17, 1439
How to discover? âChange Perspective Wednesday, September 17, 14, 40
Change Perspective - No matter what perspective you look at things, there is always something you donât see - change your perspective to see what you donât seeWednesday, September 17, 1441
known (cid:15511) unknown Wednesday, September 17, 1442
Obviously I donât know 43 Obviously I know Wednesday, September 17, 14
Obviously unknowing Unknown Obviously knowing Wednesday, September 17, 14, 44
BLIND SPOT -The area between the âobviously knowâ area and the âobviously donât knowâ area. -They donât see it, but they donât know they donât see it. That is the blind spot.Wednesday, September 17, 1445
Obviously you donât know Obviously you know Wednesday 9/17/14 âHow much do you know? â46
Obviously donât know Obviously know Wednesday 9/17/14 â blindspot blindspot 47
Obviously donât know Obviously know Wednesday 9/17/14 â blindspot blindspot 48
How to ïŹnd blind spot? Wednesday, September 17, 1449
Comparison History Experience Wednesday 9/17/14 50
Comparison History Experience + Abstraction Communication Wednesday 9/17/14 51
How to ïŹnd blind spots? Comparison History Experience Abstraction Communication Wednesday, September 17, 14 52
Comparison - e.g., by comparing multiple languages, we notice âWhat? In Python itâs false, right? âWhat is true in different languages?â âWhat about other languages?â How is it defined in Python?â Wednesday 9/17/14 object.nonzero(self) Called to implement truth value testing and the built-in operation bool(); 53
History - Example: By following the history, you will notice a blind spot âWhy does Python have two types of classes, New-style classes and non-New-style classes? â History - realizing that the order of method name resolution needed to be changed for the purpose of merging types and classes Wednesday, September 17, 2002Unifying types and classes in Python 2.2 | Python.org https://www.python. org/download/releases/2.2.3/descrintro 54
Experience - real use will help you notice blind spots âHey, I thought 1/2 was going to be 0.5, but now itâs 0?â Wednesday 9/17/14 PEP 238 â Changing the Division Operator http://legacy.python.org/dev/peps/pep-0238/ 55
Abstraction - verbalizing oneâs experience by exposing concrete examples to abstractions âOh, this writing style that I somehow used was named the Mediator Pattern!â Wednesday, September 17, 1456
Communication -Conversations with others who have different experiences can help you to recognize blind spots, such as, âIâm having trouble with this problem,â or, âWhy donât you do it this way? âI see, I didnât think of that idea!â âNo, itâs a common idea in GUI. No, itâs a normal idea in GUI.â âIâm a server specialist.
How to ïŹnd blind spots? Comparison History Experience Abstraction Communication Wednesday, September 17, 14 58
Communication Wednesday, September 17, 14 59
OfïŹce Hour 13:00-13:30 Blog, Mail see http://nhiro.org/ Wednesday, September 17, 14 60
Q&A â very helpful in reminding me of my question! Thanks! PyCon JP 2014 Day 3 Thoughts and Notes#pyconjp |Koemuâs Editorial Postscripthttp://www.koemu.com/blog/2014/09/15/pycon-jp-2014-day3/ Wednesday, September 17, 1461
Q: Some people may see information that gives them a âchance to notice blind spotsâ but still think âthat canât be trueâ due to cognitive dissonance. What should we do with such people in terms of augmenting the organization? How do we educate them? Wednesday, September 17, 1462
A: I will be explaining the âU Theoryâ that is trying to answer that very point at the Kyoto University Summer Design School starting 9/24, and I will be presenting the materialâŠhttp://www.design.kyoto-u.ac.jp/sds2014/ja/theme01⊠html 63 Wednesday, September 17, 14
A: I have two points to make. First, the âhow to change othersâ stance will not work. You need to change yourself.Wednesday, September 17, 1464
A: Next, realize that it is common for people, including yourself, to get into a state of âseeing but not seeing. âWednesday, September 17, 1465
A: It can be small at first, and you should accumulate âsuccess storiesâ that yield beneficial results from your awareness. This will give you confidence.Wednesday, September 17, 1466
PDCA Cycle and U-Curve Relationship U-Curve Supplemental Slide U-Curve State Behavior Wednesday, September 17, 14, 67 C. Otto Scharmer, âU Theory.â
PDCA Cycle and U-Curve Relationship U-Curve Supplemental Slide U-Curve â State of affairs where you can see it but are not looking at it properly because of assumptions Wednesday, September 17, 14, 68 C. Otto Scharmer, âU Theory.â
PDCA Cycle and U-Curve Relationship U-Curve Supplemental Slide U-Curve â I see it, but only from my perspective. State behavior âthey wonât do it because they wonât do it,â we think. Drawing boundaries between self and othersWednesday, 9/17/1469 C. Otto Scharmer, âU Theory.â
Q: Isnât it also important how the modeling is done? Wednesday, September 17, 1470
A: Yes, itâs important.Wednesday, 9/17/1471
You can read the entire three chapters of this special issue on the web at http://gihyo.jp/lifestyle/feature/01/engineer-studying Wednesday, September 17, 14 http://gihyo.jp/lifestyle/feature/01/engineer-studying 72
A: Hypotheses are created from experience. The feeling of âunderstandingâ is also a hypothesis. Hypotheses need to be tested by experimentation. Act on the understanding and check the results Wednesday, September 17, 1473
A: If the results of an action differ from expectations, the model needs to be modified. Repeating this process creates a âlikely correctâ model, which is then combined to create a larger model. This is one methodology Wednesday, September 17, 1474
A: Another methodology, the KJ method or grounded theory, is used in the humanities, where experimentation is not easy.14 Wednesday, September 17, 75
A: First collect a large amount of data from interviews, etc., and then list it without filtering it out with your own biases and saying âthis is noiseâ Wednesday, September 17, 14, 76
A: Human working memory is only about seven, but if you put the data on paper and spread it out on a desk, you can see 100 or 200 Wednesday, September 17, 14, 77
A: After making a list of 100 data, build a model by moving them around on the desk, which is the KJ method (I failed to mention this at the meeting, but it is also important to build a structure from the data bottom-up, rather than applying Existing Structure in a top-down manner). (Incidentally, the book and feature article I introduced above were modeled using the KJ method on Wednesday, September 17, 200278)
Question Q in OïŹce Hour: Arenât the 5 ways to notice blind spots not parallel but back and forth in time? Wednesday, September 17, 1479.
A: That was a blind spot! Itâs true that abstractions canât be used out of the blue, right from the start. If someone with no programming experience reads a book on design patterns, they wonât be able to connect it to their own experience.Wednesday, September 17, 1480
Q: How can we share our testing expertise among testers (detailed situation description omitted) Wednesday 9/17/14 81
A: It seems to me that the question is how to share knowledge that is not verbalized. One methodology is âworking together. â82 Wednesday, 9/17/14
A: By working together, know-how can be shared without verbalization. Furthermore, separating âthose who instruct without operating and those who operateâ encourages the verbalization of knowledge in order to instruct.14 Wednesday, September 17, 2002Reference âA group of mediocre geniuses can beat a lone genius. â83
A: Only when verbalization is done can manualization, etc. be done. Linguization is a rather difficult task, so if it is suddenly left to each individual without training that skill, it will not work.Wednesday, September 17, 1484
Unverbalized Knowledge Supplement Slides Knowledge is created by turning this spiral âThe Knowledge Creation Enterpriseâ p93 85 Wednesday, September 17, 14
Unverbalized Knowledge Supplemental SlidesupPair Pro/Collaborative Work is the equivalent here Knowledge is created by turning this spiral âThe Knowledge Creation Enterpriseâ p93 86 Wednesday, September 17, 14
Q: I am creating a template for verbalizing information. Answer the questions and you will have the information you need.Wednesday, 9/17/14 87
A: That is a good approach. Often, even those who canât do it when told to âverbalize,â can answer when asked specific questions. Asking the right questions is important.Wednesday, September 17, 1488
A: In that sense, there are advantages to templating. However, we need to be aware of the disadvantage that information that cannot be expressed in a template is discarded. New and important information is not templated.Wednesday, September 17, 1489
This page is auto-translated from [/nishio/PyCon JP 2014 ćșèȘżèŹæŒ](https://scrapbox.io/nishio/PyCon JP 2014 ćșèȘżèŹæŒ) using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. Iâm very happy to spread my thought to non-Japanese readers.