วันจันทร์ที่ 22 เมษายน พ.ศ. 2562

The Consolations of Philosophy Quotes

“Not everything which happens to us occurs with reference to something about us.”
“ ไม่ใช่ทุกสิ่งที่เกิดขึ้นกับเราเกิดขึ้นกับการอ้างอิงถึงบางสิ่งเกี่ยวกับเรา”

We may be powerless to alter certain events, but we remain free to choose our attitude towards them, and it is in our spontaneous acceptance of necessity that we find our distinctive freedom.”
“ เราอาจไม่มีอำนาจที่จะเปลี่ยนแปลงเหตุการณ์บางอย่าง แต่เรายังคงมีอิสระที่จะเลือกทัศนคติของเราที่มีต่อพวกเขาและมันเป็นการยอมรับความจำเป็นโดยธรรมชาติของเราที่เราพบว่ามีอิสรภาพที่โดดเด่นของเรา”

“Nothing satisfies the man who is not satisfied with a little.”
“ ไม่มีอะไรที่ทำให้คนที่ไม่พอใจเล็กน้อย”

“We don’t exist unless there is someone who can see us existing, what we say has no meaning until someone can understand, while to be surrounded by friends is constantly to have our identity confirmed; their knowledge and care for us have the power to pull us from our numbness.”
“ เราไม่มีตัวตนเว้นแต่ว่ามีใครบางคนที่สามารถมองเห็นเราที่มีอยู่สิ่งที่เราพูดไม่มีความหมายจนกว่าจะมีใครสามารถเข้าใจได้ในขณะที่การถูกล้อมรอบด้วยเพื่อนนั้นจะมีการยืนยันตัวตนของเราอย่างต่อเนื่อง ความรู้และการเอาใจใส่ของพวกเขาสำหรับเรามีพลังที่จะดึงเราออกจากความมึนงงของเรา”

“If you wish to put off all worry, assume that what you fear may happen is certainly going to happen.”
“ หากคุณต้องการขจัดความกังวลให้คิดว่าสิ่งที่คุณกลัวอาจเกิดขึ้นจะเกิดขึ้นอย่างแน่นอน”

“We will cease to be so angry once we cease to be so hopeful”
“ เราจะหยุดโกรธเช่นนี้เมื่อเราหมดหวัง”

“Of all the things that wisdom provides to help one live one’s entire life in happiness, the greatest by far is the possession of friendship.”
“ ในทุกสิ่งที่สติปัญญาให้เพื่อช่วยให้คนหนึ่งมีชีวิตอยู่ด้วยความสุขตลอดชีวิตสิ่งที่ยิ่งใหญ่ที่สุดก็คือการมีมิตรภาพ”

“Not everything which makes us feel better is good for us. Not everything which hurts may be bad.”
“ ไม่ใช่ทุกสิ่งที่ทำให้เรารู้สึกดีขึ้นเป็นสิ่งที่ดีสำหรับเรา ไม่ใช่ทุกสิ่งที่ทำให้เราเจ็บอาจจะทำให้เราแย่”

creature on earth seemed to Schopenhauer to be equally committed to an equally meaningless existe
สิ่งมีชีวิตบนโลกดูเหมือนว่ามีความหมายเท่าเทียมกัน

We are richer than we think, each one of us
“ เราร่ำรวยยิ่งกว่าที่เราคิดพวกเราแต่ละคนคิด”

“What should worry us is not the number of people who oppose us, but how good their reasons are for doing so. We should therefore divert our attention away from the presence of unpopularity to the explanations for it. It may be frightening to hear that a high proportion of a community holds us to be wrong, but before abandoning our position, we should consider the method by which their conclusions have been reached. It is the soundness of their method of thinking that should determine the weight we give to their disapproval. We”
“ สิ่งที่ควรกังวลคือไม่ใช่คนที่ต่อต้านเรา แต่เหตุผลของพวกเขานั้นดีเพียงใดสำหรับการทำเช่นนั้น ดังนั้นเราจึงควรหันเหความสนใจของเราออกไปจากการปรากฏตัวของคำอธิบายที่ไม่เป็นที่นิยม อาจเป็นเรื่องที่น่าตกใจที่ได้ยินว่าชุมชนที่มีสัดส่วนสูงทำให้เราผิด แต่ก่อนที่จะละทิ้งตำแหน่งของเราเราควรพิจารณาวิธีการที่ข้อสรุปของพวกเขามาถึง มันเป็นความสมบูรณ์ของวิธีคิดของพวกเขาที่ควรกำหนดน้ำหนักที่เราให้กับการไม่อนุมัติของพวกเขา เรา"

“Everyone endeavours to eliminate through the other individual his own weaknesses, defects, and deviations from the type, lest they be perpetuated or even grow into complete abnormalities in the child which will be produced.”
“ ทุกคนพยายามที่จะกำจัดจุดอ่อนข้อบกพร่องและการเบี่ยงเบนของตัวเองออกจากบุคคลอื่นโดยไม่เกรงว่าพวกเขาจะชุลมุนหรือเติบโตเป็นความผิดปกติอย่างสมบูรณ์ในเด็กซึ่งจะเกิดขึ้น”

“If we accord importance to the kind of portraits which surround us, it is because we fashion our lives according to their example, accepting aspects of ourselves if they concur with what others mention of themselves.”
“ ถ้าเราให้ความสำคัญกับภาพบุคคลที่ล้อมรอบเรานั่นเป็นเพราะเรากำหนดชีวิตของเราตามแบบอย่างของพวกเขายอมรับมุมมองของตัวเราเองหากพวกเขาเห็นพ้องกับสิ่งที่คนอื่นพูดถึงตัวเอง”

“Setting people examination papers measuring wisdom rather than learning would probably result in an immediate realignment of the hierarchy of intelligence – and a surprising new élite. Montaigne delighted in the prospect of the incongruous people who would now be recognized as cleverer than the lauded but often unworthy traditional candidates.”
“ ความรักไม่สามารถชักจูงเราให้รับภาระในการขยายพันธุ์โดยไม่สัญญากับเราถึงความสุขที่ยิ่งใหญ่ที่สุดที่เราจินตนาการได้”

https://www.goodreads.com/work/quotes/14280291-the-consolations-of-philosophy

วันพฤหัสบดีที่ 11 เมษายน พ.ศ. 2562

เข้าใจตัวเอง เข้าใจคนอื่น

เข้าใจตัวเอง (Self awareness) คือ การเข้าใจความรู้สึกของตนเอง และจุดมุ่งหมายของชีวิตทั้งระยะสั้นและระยะยาว ตลอดจน การรู้จักจุดเด่นจุดด้อยของตนเองอย่างไม่ลำเอียงเข้าข้างตนเอง” อย่างน้อยที่สุดคุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับตัวคุณเองและวิธีการใช้ชีวิตให้สอดคล้องกับตัวตนของคุณอย่างแท้จริง
เข้าใจผู้อื่น ( Empathy ) หมายรวมถึง ความสามารถรับรู้อารมณ์ผู้อื่น เข้าใจถึงมุมมองของคนเหล่านั้น เป็นความรู้สึกแบบ “เอาใจเขามาใส่ใจเรา” และให้ความสนใจต่อความกังวลใจของคนดังกล่าว การที่จะเข้าใจคนอื่นได้ดีต้องเปิดใจตนเองรับรู้กรอบสัญญานทางอารมณ์ได้อย่างกว้างขวาง จึงไวในการรับรู้ถึงความรู้สึกทางอารมณ์ของผู้อื่นโดยไม่ต้องพูด เป็นผู้รับฟังอย่างตั้งใจและสามารถจับประเด็นที่เป็นมุมมองของผู้อื่นได้ดี ด้วยทักษะในการเข้าใจความรู้สึกผู้อื่น เราจะเข้ากับบุคคลต่าง ๆ ที่มาจากความหลากหลายทางภูมิหลัง และวัฒนธรรมได้ 

How to Practice Self-Awareness (https://lifeskillsthatmatter.com/self-awareness/)

Step #1
The first step for practicing self-awareness is gaining a greater awareness of your emotions.

Step #2
The second step to practicing self-awareness is making a habit of tracking your feelings

Step #3
The third step for practicing self-awareness is expanding your practice to areas of your life beyond your feelings.

Here are four recommended exercises:
#1 Daily writing habit.
       Self-Reflect: What did you learn about yourself today?
       Connect: Did you meet someone new today?
       Create: What impactful work did you create today?
       Skill: What skill or concept did you learn today.
#2 Be aware of your strongest reactions.
#3 Monitor your most negative and positive feelings.

Include as much detail about when it occurred as possible.
    When did it happen?
    With whom or who was it about?
    Where were you?
    Can you think of the sprak that caused you to have that feeling?
#4 Pay attention to just one aspect of your life you want to change.
Self-awareness is the mechanism that helps us being our habits into alignment with the goals we’ve set for ourselves.
การรับรู้ตนเองเป็นกลไกที่ช่วยให้เราเป็นนิสัยของเราให้สอดคล้องกับเป้าหมายที่เราตั้งไว้สำหรับตัวเราเอง

How to develop and increase self-awareness (https://www.developgoodhabits.com/what-is-self-awareness/)
1. Look at yourself objectively.
วิธีง่ายๆในการเริ่มต้น
-พยายามระบุความเข้าใจปัจจุบันของคุณโดยการเขียนการรับรู้ของคุณ นี่อาจเป็นสิ่งที่คุณคิดว่าคุณทำได้ดีหรือคุณต้องปรับปรุง
-คิดเกี่ยวกับสิ่งที่คุณภูมิใจหรือความสำเร็จที่โดดเด่นตลอดชีวิตของคุณ
-คิดเกี่ยวกับวัยเด็กของคุณและสิ่งที่ทำให้คุณมีความสุขในตอนนั้น มีการเปลี่ยนแปลงอะไรและอะไรที่ยังคงเหมือนเดิม? อะไรคือสาเหตุของการเปลี่ยนแปลง?
- ส่งเสริมให้ผู้อื่นซื่อสัตย์กับคุณเกี่ยวกับความรู้สึกที่มีต่อคุณและนำสิ่งที่พวกเขาพูดไปสู่หัวใจ

2. Keep a journal. 
3. Write down your goals, plans, and priorities.
4. Perform daily self-reflection.
5. Practice meditation and other mindfulness habits.
6. Take personality and psychometric tests.
7. Ask trusted friends to describe you.
8. Ask for feedback at work.

Self-awareness simply means paying attention.
You pay attention to . . .
-what you are thinking
-what you are speaking
-how you are acting
-how you are feeling
-what you are eating
-how you are reacting
-what (and who) you are attracting 
-how you make decisions
-what you are hiding
-what patterns you are seeing in your life
-how your body is responding

ประโยชน์ของการรู้จักตนเอง (https://www.trackinghappiness.com/why-self-awareness-important/)
หากยังไม่ชัดเจนมีประโยชน์มากมายที่มาพร้อมกับการรับรู้ตนเอง

จัดการกับปัจจัยภายนอกที่ไม่สามารถควบคุมได้ดีขึ้น
นี่คือประโยชน์ที่สำคัญที่สุดของการตระหนักในตนเอง

เราอาจไม่สามารถควบคุมปัจจัยภายนอกที่ดูเหมือนว่าจะดำเนินชีวิตของเราทุกคน เดียว วัน.

แต่เราสามารถควบคุมวิธีที่เราตอบสนองต่อปัจจัยภายนอกเหล่านั้น

เพื่อควบคุมวิธีที่เราตอบสนองต่อสถานการณ์ภายนอกเราจำเป็นต้องทราบอย่างแน่ชัดว่ารัฐภายในความต้องการทรัพยากรและสัญชาติญาณของเราทำงานอย่างไร สถานการณ์ภายนอกส่งผลกระทบต่อสภาพจิตใจของเราอย่างไร การรู้ที่ทำให้เราสามารถตอบสนองต่อปัจจัยภายนอกได้อย่างกระตือรือร้น

เราสามารถตัดสินใจได้ว่าสิ่งใดที่ทำให้เราเศร้าโกรธหรือตื่นเต้น

ใช่มันอาจจะไม่ใช่เรื่องง่ายเสมอไป แต่นี่คือประโยชน์ที่ใหญ่ที่สุดสำหรับการตระหนักในตนเอง

คาดการณ์ว่าเหตุการณ์บางอย่างจะส่งผลกระทบต่อสภาพจิตใจของคุณอย่างไร
การรับรู้ตนเองในระดับที่สูงขึ้นทำให้เราสามารถคาดการณ์ได้ดีขึ้นว่าสถานการณ์ในอนาคตจะมีอิทธิพลต่อสภาวะจิตใจของเราอย่างไร

ด้วยวิธีนี้เราสามารถคัดท้ายชีวิตของเราไปในทิศทางที่ดีที่สุด

การตระหนักถึงปัจจัยภายนอกบางอย่างที่มีผลกระทบด้านลบต่อชีวิตของเราช่วยให้เราสามารถหลีกเลี่ยงสถานการณ์เหล่านี้ได้ดีขึ้นในอนาคต การรู้สิ่งนี้ทำให้เราสามารถตัดสินใจได้อย่างมีเหตุผลว่าจะรับชมซีรีส์หรือโกรธใครบางคน

ตัวอย่างโง่บางที แต่ควรค่ากับการคิดอย่างแท้จริง!

เข้าใจอารมณ์ของคนรอบข้างได้ดีขึ้น
การตระหนักรู้ในตนเองช่วยให้เราสามารถทราบสถานะภายในความชอบทรัพยากรและสัญชาติญาณของเราได้ดียิ่งขึ้น


แต่ความรู้นี้ไม่ได้จบเพียงแค่นั้น

การตระหนักรู้ในตนเองช่วยให้เราเข้าใจอารมณ์ของผู้คนรอบข้างได้ดีขึ้น

ลองคิดดู หากเราไม่ได้ตระหนักถึงสภาพจิตใจของเราเองเราจะพยายามเข้าใจว่าคนรอบตัวเราอาจตอบสนองต่อเหตุการณ์บางอย่างได้อย่างไร

ด้วยความตระหนักในตนเองจะมีความรู้ที่ดีขึ้นเกี่ยวกับวิธีการที่คนบางประเภทอาจตอบสนองต่อเหตุการณ์บางอย่าง

ตัวอย่างเช่นคิดถึงเพื่อนสนิทหรือพี่น้องของคุณ หากคุณรู้ว่าคุณจะตอบสนองต่อปัจจัยภายนอกอย่างไรคุณก็จะเข้าใจได้ง่ายขึ้นว่าอะไรเกิดขึ้นในใจของคนอื่น

ด้วยวิธีนี้คุณสามารถช่วยทั้งตัวคุณเองและเพื่อนหรือพี่น้องโดยการหลีกเลี่ยงอารมณ์ที่ไม่ลงตัว

มีอิทธิพลเชิงบวกต่อสภาพจิตใจของคนรอบข้าง
สิ่งนี้เกี่ยวข้องกับประโยชน์ที่ได้รับก่อนหน้านี้ของการตระหนักรู้ในตนเอง แต่เป็นเนื้อหาที่สำคัญที่สุดของพวกเขาทั้งหมด

การตระหนักรู้ในตนเองอย่างเต็มที่ทำให้เราสามารถเปลี่ยนความคิดของผู้คนรอบตัวเราได้ คุณเห็นไหมว่ามนุษย์มักจะเคลื่อนไหวเป็นกลุ่ม เรามักจะเลียนแบบพฤติกรรมของผู้อื่นและอย่างที่บางคนอาจรู้: อารมณ์สามารถติดต่อได้!

หากคู่ของคุณหรือเพื่อนสนิทเศร้าหรือโกรธก็มีความเป็นไปได้ที่คุณจะรู้สึกถึงอารมณ์นั้นเช่นกัน

แต่งานเดียวกันเพื่อความสุข

ความสุขของคุณสามารถเปล่งแสงให้ผู้อื่นได้ รอยยิ้มของคุณมีพลังที่จะนำรอยยิ้มมาสู่ใบหน้าของคนอื่น!


และนั่นคือประโยชน์ที่ใหญ่ที่สุดของการรับรู้ด้วยตนเอง หากเราตัดสินใจเผชิญหน้ากับสถานการณ์ที่ไม่ดีด้วยความสุขแทนที่จะโกรธก็คือความสุขนั้นจะส่งผลดีต่อผู้คนรอบตัวเรา!


Ten Lessons I Learned While Teaching Meself to Code

บทเรียน 10 ข้อที่ผมได้จากการหัดเขียนโปรแกรมด้วยตนเอง

คุณอยากเขียนโปรแกรมเป็นใช่ไหม
คุณคิดว่า จะเรียนการเขียนโปรแกรมด้วยตนเองได้หรือเปล่า
คำตอบสั้นๆ คือ ได้
คำตอบยาวๆ คือ บทความนี้
เหตุผลที่ผมคิดว่าคุณทำได้ เพราะผมเป็นนักเขียนบทความด้านวิทยาศาสตร์ที่ใช้เวลา 3 ปีสัมภาษณ์โปรแกรมเมอร์ 200 กว่าคนในการเขียนหนังสือของผมชื่อ Coders
ถึงแม้ว่าโปรแกรมเมอร์ส่วนใหญ่เรียนจบด้านคอมพิวเตอร์ แต่ก็มีหลายคนที่เรียนด้วยตนเอง บางคนเป็นศิลปิน นักบัญชี นักการตลาด นักดนตรี หรืออาชีพต่างๆ แต่พวกเขาศึกษาด้วยตนเอง
พวกเขาทำให้ผมเกิดแรงบันดาลใจบ้าง ผมเคยหัดเขียนภาษา BASIC ตอนเป็นเด็กสมัยที่คอมพิวเตอร์ต่อจอโทรทัศน์ ผมเรียนจบด้านรัฐศาสตร์และภาษาอังกฤษ และรู้การเขียนเว็บเพจบ้าง แต่ไม่ได้จบด้านคอมพิวเตอร์
ผมตัดสินใจที่จะหัดเขียนโปรแกรมด้วยตนเองในยามว่าง แต่ไม่ได้อยากเป็นโปรแกรมเมอร์หรอกนะ
ผมไม่เคยคิดที่จะเขียนแอปแล้วขอเงินจากนักลงทุน ผมแค่อยากรู้ว่า การเขียนโปรแกรมเป็นทักษะที่เรียนรู้ได้หรือเปล่า และผมเก่งพอที่จะเขียนซอฟต์แวร์ที่เป็นประโยชน์ได้ไหม
คำตอบคือ ได้
ผมได้เรียนรู้มากมาย และเขียนสคริปต์หรือโปรแกรมสั้นๆ เป็นประจำเพื่อช่วยงานด้านการเป็นนักข่าวและนักเขียนของผม และผมก็เริ่มสนุกกับมัน
ต่อไปนี้เป็นข้อคิดที่มาจากประสบการณ์ของผม บางข้อมาจากผู้เชี่ยวชาญที่สอนการเขียนโปรแกรม และบางข้อมาจากโปรแกรมเมอร์ที่เรียนรู้ด้วยตนเอง

1. เริ่มต้นที่ออนไลน์ เพราะโลกออนไลน์เป็นเพื่อนคุณ

ยุคนี้มีแหล่งเรียนรู้ออนไลน์มากมายซึ่ง 10 ปีก่อนแทบเป็นไปไม่ได้ แต่หลังจากที่คุณอ่านบทความผมแล้ว คุณเริ่มเรียนออนไลน์ได้ทันที
ตอนที่ผมหัดเรียนภาษา Javascript ครั้งแรก ผมเรียนที่เว็บไซต์ Codeacademy ซึ่งเป็นเว็บไซต์ที่เหมาะกับมือใหม่อย่างมาก เพราะมีบทเรียนสั้นๆ
หลังจากที่ผมเรียนจากเว็บไซต์นี้หลายอาทิตย์ ก็ได้อ่านบทความในเว็บชื่อ freeCodeCamp ซึ่งเป็นอีกเว็บหนึ่งที่เหมาะกับมือใหม่ โดยสอนภาษา Javascript ควบคู่กับ HTML และ CSS ซึ่งเป็นภาษาในการทำเว็บไซต์
ผมไม่ได้ยึดติดกับภาษาเดียว เมื่อผมทราบว่าภาษา Python ก็เหมาะกับมือใหม่เช่นกันและใช้ในการวิเคราะห์ข้อมูลซึ่งเป็นสิ่งที่ผมสนใจ แทนที่ผมจะเรียนจากออนไลน์อย่างเดียว ผมอ่านหนังสือชื่อ Learn Python The Hard Way ซึ่งมีคนยกย่องมาก รวมทั้งหนังสือเล่มอื่นๆ เช่น Crash Course in Python, Automate the Boring Stuff With Python, Eloquent JavaScript ซึ่งการอ่านหนังสือก็ยังเป็นประโยชน์ในการหัดเขียนโปรแกรม
แต่สิ่งหนึ่งที่คุณต้องระวังในการเรียนออนไลน์คือ คอร์สหรือบทเรียนส่วนใหญ่ที่บอกว่าเหมาะกับมือใหม่ แต่เมื่อคุณเรียนไปได้ซักครึ่งนึงแล้ว หลักสูตรเหล่านี้ก็คิดว่าคุณน่าจะรู้เรื่อง object หรือ IDE ทันที ซึ่งจะทำให้คุณหงุดหงิดมาก เพราะคุณไม่เคยทราบเรื่องเหล่านี้มาก่อน และคิดว่าเป็นความผิดของคุณที่ไม่เข้าใจ แต่ที่จริงแล้วมันไม่ใช่ ดังนั้นควรอ่านรีวิวก่อนตัดสินใจเรียน

2. อย่าซีเรียสเรื่องภาษาในตอนแรกมากนัก

อย่าซีเรียสเรื่องการเลือกภาษาที่ “สมบูรณ์แบบ” ในการเรียนรู้ เป้าหมายคุณในช่วงแรกคือคุ้นเคยกับหลักการพื้นฐานการเขียนโปรแกรมซึ่งคล้ายกันในทุกภาษา
Quincy Larson ผู้ก่อตั้ง freeCodeCamp บอกว่า ถ้าคุณเรียนรู้ภาษาหนึ่งแล้ว คุณก็เรียนรู้ภาษาอื่นได้ และการเลือกภาษาเริ่มต้นก็ไม่สำคัญมากอย่างที่คุณคิด คุณอาจเรียนภาษาที่เหมาะกับมือใหม่เช่น Python หรือ Javascript หรือ Ruby แล้วตั้งใจเรียน ซึ่งคุณเปลี่ยนใจ เลือกภาษาอื่นในตอนหลังก็ได้
เช่น ผมเองชอบภาษา Python แต่เนื่องจากว่า Javascript ก็มีประโยชน์ในการทำเครื่องมือของเว็บที่ใช้ผมนำไปใช้ได้ ผมจึงเรียนทั้งสองภาษา
อย่าไปเสียเวลาค้นในกูเกิลว่า “ฉันควรเรียนภาษาอะไร” เพราะมีการทะเลาะอย่างไม่มีวันสิ้นสุดว่าภาษาไหนดี ภาษาไหนห่วย ซึ่งไม่ใช่สิ่งที่คุณควรสนใจ
แต่มีข้อยกเว้นคือ ถ้าคุณต้องการเขียนโปรแกรมเป็น เพราะเบื่องานเต็มทีแล้วหรืออยากทำงานด้านโปรแกรมเมอร์ให้เร็วที่สุด ตอนนี้การเลือกภาษาจะเป็นเรื่องสำคัญ คุณต้องดูในพื้นที่คุณว่า มีความต้องการภาษาอะไร
ตัวอย่างเช่น คุณอาจได้ยินว่าตอนนี้ Javascript กำลังดัง จึงอยากหัดเขียน Javascript ให้เป็น แต่กลับกลายเป็นว่าไม่มีความต้องการโปรแกรมเมอร์ Javascript ในพื้นที่ของคุณเลย แต่ตลาดต้องการโปรแกรมเมอร์ที่รู้ .NET ซึ่งคุณไม่ได้เรียนรู้ภาษานี้

3. เขียนโปรแกรมทุกวัน

เรื่องนี้สำคัญมาก คุณควรฝึกเขียนโปรแกรมทุกวันอย่างน้อยวันละครึ่งชั่วโมง
ทำไมหรือ ? เพราะว่ามันเหมือนการเรียนรู้ภาษาต่างประเทศ ความเชี่ยวชาญเกิดจากการฝึกฝนอย่างสม่ำเสมอ การเขียนโปรแกรมคือการพูดกับคอมพิวเตอร์ ดังนั้นคุณต้องฝึกพูดบ่อยๆ การเขียนโปรแกรมแค่ในวันหยุด มันน้อยเกินไป
ภาษาคอมพิวเตอร์ก็คือภาษา ดังนั้นการเรียนรู้ภาษาแค่ช่วงวันหยุดไม่ได้ช่วยให้คุณใช้มันได้อย่างเป็นธรรมชาติ คุณต้องฝึกฝนทุกวัน แต่ถ้าคุณไม่ว่างล่ะ จะหาเวลาที่ไหนมาเขียนโปรแกรม
เพื่อนผมบอกว่า ก็เอาเวลาที่คุณใช้ในเรื่องอื่นเช่น ดูโทรทัศน์ เที่ยวกับเพื่อน เล่นเกม ดูกีฬา มาใช้ในการเขียนโปรแกรม “เขียนโปรแกรมวันละ 1 ชั่วโมงทุกวัน ดีกว่าเขียน 10 ชั่วโมงในวันเสาร์”
ตอนที่ผมเขียนโปรแกรมทุกวัน ผมรู้สึกได้เลยว่าเข้าใจหลักการสำคัญได้ง่ายขึ้น แต่ถ้าผมหยุดเขียน 2–3 วันหรือหยุดนานๆ เช่น 2–3 อาทิตย์ มันแทบจะกลายเป็นการเริ่มต้นใหม่
กว่าที่คุณจะเขียนโปรแกรมได้เก่งพอ จนสร้างบางอย่างที่เป็นประโยชน์ต่อตัวคุณเองและคนอื่นได้ ไม่ใช่ว่าจะเกิดขึ้นได้ทันที
เมื่อก่อนมีหนังสือชื่อทำนองว่า เรียน Java ใน 10 ชั่วโมง ซึ่งเป็นเรื่องตลกมาก มันควรเปลี่ยนชื่อเป็น เขียนโปรแกรมใน 10 เดือน มากกว่า เพราะต้องใช้เวลาหลายเดือนก่อนที่ผมจะเขียนโปรแกรมหรือเครื่องมืออื่นๆที่เป็นประโยชน์ต่องานของผม
ถึงแม้ว่าการเขียนโปรแกรมวันละครึ่งชั่วโมงจะเป็นเรื่องดี แต่ถ้าคุณมีเวลามากกว่านั้น ก็ยิ่งดี เพราะการเขียนโปรแกรมนั้นต้องอาศัยการทุ่มเท

4. ทำชีวิตให้เป็นอัตโนมัติ

เวลาที่มีคนคิดว่า “ฉันอยากเขียนโปรแกรมเป็น” พวกเขามักนึกว่า จะต้องทำแอปแบบ Facebook หรือ Uber
ใช่ มันอาจเป็นแบบนั้นก็จริง แต่เหตุผลที่แท้จริงในการหัดเขียนโปรแกรมอาจเป็นเรื่องง่ายๆ หรือพื้นๆ ใกล้ตัวคุณ เช่น เปลี่ยนงานน่าเบื่อให้เป็นอัตโนมัติมากขึ้น
ทั้งนี้เพราะว่าคอมพิวเตอร์เก่งมากในการทำงานน่าเบื่อและทำงานอย่างถูกต้อง ดังนั้นคุณอาจหาวิธีในการทำให้งานน่าเบื่อหรือยุ่งยากซับซ้อนให้ง่ายขึ้น
ตัวอย่างเช่น ผมต้องดึงคำปราศรัยจากยูทูบมาแปะใส่ในไฟล์ แต่จะมีรหัสต่างๆ ติดมาด้วยทุกครั้ง ทำให้อ่านยากและเสียเวลาในการลบรหัสเหล่านั้น ผมจึงเขียนโปรแกรมง่ายๆ เพื่อดึงคำพูดจากยูทูบ แล้วแปลงข้อความให้อ่านง่ายขึ้น
ผมยังเขียนโปรแกรมสั้นๆ อีกมากมายในการทำเรื่องน่าเบื่อ เช่นครูของลูกผมจะโพสต์การบ้านในเว็บไซต์ แต่บางครั้งเธอก็โพสต์ช้ามาก จนลูกผมต้องกดรีเฟรชเพจบ่อยๆ เพื่อดูว่าเมื่อไหร่ที่เธอจะโพสต์การบ้าน ผมจึงเขียนโปรแกรมที่ตรวจเพจทุกๆ 5 นาที และเมื่อโปรแกรมพบว่าครูได้โพสต์การบ้านแล้ว มันก็จะส่งข้อความมาหาผมกับลูกโดยอัตโนมัติ ทำให้ลูกผมมีเวลาไปทำอย่างอื่น โดยไม่ต้องนั่งคอยหน้าจอ
ผมเคยเขียนโปรแกรมเพื่อบันทึกว่าจอดรถไว้ที่ไหน แล้วมันจะส่งข้อความมาเตือนให้ผมย้ายรถ ก่อนโดนใบสั่ง
นี่แหละคือคุณค่าของการเขียนโปรแกรม ผมไม่ได้คิดว่า จะหยุดงานหรือตั้งบริษัทเขียนซอฟต์แวร์หรือเปลี่ยนอาชีพเป็นโปรแกรมเมอร์ แต่การเขียนโปรแกรมทำให้ผมทำงานได้อย่างมีประสิทธิภาพมากขึ้น ทุกอาชีพในโลกเกี่ยวข้องกับการทำงานที่น่าเบื่อซ้ำซาก ซึ่งทำให้ง่ายขึ้นได้ถ้าเขียนโปรแกรมเป็น
มีโปรแกรมเมอร์คนหนึ่งซึ่งเคยทำงานเป็นเลขาในปารีส จากนั้น เธอเขียนโปรแกรมที่ทำให้คนในสำนักงานส่งสเปรดชีต และดึงข้อมูลจากสเปรดชีตเข้าไปที่ฐานข้อมูลทันทีเลย ซึ่งเป็นสิ่งที่มีค่ามาก เธอบอกว่า “ตอนนั้นฉันไม่รู้เลยว่า นี่คือการเขียนโปรแกรม !
ดังนั้น แทนที่คุณเปลี่ยนอาชีพมาเป็นโปรแกรมเมอร์ การเขียนโปรแกรมเป็นจะทำให้คุณมีคุณค่ามากขึ้นในอาชีพการงานของคุณ และอาจช่วยเพิ่มเงินเดือนคุณได้

5. เตรียมพร้อมความกดดันหรือหงุดหงิด

การเขียนโปรแกรมทำให้หงุดหงิดได้
ทำไมล่ะ ? ก็เพราะว่าคอมพิวเตอร์ทำตามที่คุณสั่งอย่างเคร่งครัด แค่ผิดพลาดเพียงเล็กน้อยเช่นลืมใส่เครื่องหมายบางอย่าง ก็ทำให้โปรแกรมหยุดทำงานโดยสิ้นเชิง
นี่คือสิ่งที่โปรแกรมเมอร์ทุกคนเคยพบ หลังจากที่ผมได้สัมภาษณ์โปรแกรมเมอร์จำนวนมากในหนังสือของผม ก็ได้ข้อสรุปที่น่าสนใจว่า แค่คิดแบบเป็นขั้นตอนและเป็นระบบยังไม่พอ แต่พวกเขายังต้องเตรียมรับมือกับความล้มเหลวหรืออุปสรรคที่เกิดขึ้นตลอดเวลา

6. สร้างโปรแกรมเยอะๆ เข้าไว้

เมื่อคุณเรียนการเขียนโปรแกรม คุณควรสร้างโปรแกรมที่ได้ใช้จริง
แน่นอนว่า บทเรียนขั้นพื้นฐานและหนังสือมีประโยชน์ แต่สิ่งที่จะทำให้คุณเขียนโปรแกรมเป็นคือการที่คุณสร้างซอฟต์แวร์ที่ทำบางอย่างได้ มันเหมือนกับความแตกต่างระหว่างการเรียนศัพท์ภาษาฝรั่งเศสจากตำรา แล้วไปสั่งอาหารจากภัตตาคาร
เมื่อผมพูดว่าสร้างสิ่งของ ผมไม่ได้หมายความว่า ให้คุณสร้าง Facebook หรือ Snapchat แต่หมายถึงบางสิ่งบางอย่างเล็กน้อยที่คุณได้ใช้จริงๆ หรือโชว์ให้คนอื่นได้
ตัวอย่างเช่นตอนที่ผมหัดเรียน Javascript กับ HTML ผมสร้างเว็บแอปตัวเล็กๆ ที่ทำเรื่องตลก เช่น แสดงชื่อโปเกม่อน
ตัวอย่างสุดโต่งของวิธีนี้ คือ นักออกแบบคนหนึ่งชื่อ Jen Dewalt ซึ่งไม่เคยเขียนโปรแกรมมาก่อน แต่เธอเริ่มหัดเรียนรู้การเขียนโปรแกรมด้วยตัวเองตอนอายุ 30 ดังนั้นเธอจึงฝึกทำเว็บไซต์เป็นเวลา 180 วัน
ในตอนแรก เป็นเพียงเพจง่ายๆ เช่นปุ่มกดที่เปลี่ยนสีพื้นหลัง แต่หลายอาทิตย์ต่อมา เธอเริ่มทำเกมหรือนาฬิกาที่แสดงเวลาเป็นข้อความได้ และในช่วงท้ายเธอก็เขียนโปรแกรมที่ซับซ้อน
เธอแนะนำว่า ให้เริ่มจากโครงการเล็กๆที่จับต้องได้ และเมื่อเธอต้องการสร้างบางอย่าง เธอจะใช้โค้ดของคนอื่นโดยไม่สนใจว่าเข้าใจหรือเปล่า ตราบใดที่มันทำงานได้
แต่เธอพิมพ์โค้ดด้วยตัวเอง แทนที่จะ copy และ paste ซึ่งอย่างน้อยก็ช่วยให้จำได้และมีเวลาคิด
ดังนั้น คำแนะนำสำคัญของเรื่องนี้คือ ยิ่งทำสิ่งของมากเท่าไหร่ คุณจะยิ่งเรียนรู้มากขึ้น โดยไม่ต้องทำอะไรใหญ่โต แต่ขอให้ทำสิ่งของเล็กน้อยที่จับต้องได้

7. ใช้โค้ดของคนอื่นให้เป็นประโยชน์

ถ้าคุณอยากทราบว่านาฬิกาทำงานอย่างไร คุณน่าจะถอดชิ้นส่วนและประกอบขึ้นมาอีกครั้ง ใช่ไหมครับ
โปรแกรมก็เช่นเดียวกัน เมื่อคุณเริ่มสร้างโปรแกรมใหม่ คุณไม่จำเป็นต้องเริ่มต้นตั้งแต่ศูนย์ คุณอาจหยิบของที่มีอยู่แล้ว และศึกษาว่ามันทำงานอย่างไร นี่เป็นวิธีที่ยอดเยี่ยมในการเรียนรู้
ตัวอย่างเช่น ตอนที่ผมหัดเรียนการเขียนโปรแกรมครั้งแรก ผมอยากทำเว็บไซต์ที่เข้ารหัสและถอดรหัสลับให้ลูกผม แต่ยังไม่รู้ HTML และ Javascript มากพอที่จะทำได้ ผมจึงเข้าไปที่เว็บไซต์ที่มีคนโพสต์โปรแกรม แล้วนำโค้ดที่ผมต้องการใช้และเพิ่มส่วนเข้ารหัส
ในที่สุดโปรแกรมผมก็ทำงานได้ และการที่ผมดูโปรแกรมคนอื่นก็ทำให้ผมได้เรียนรู้สิ่งใหม่หลายอย่าง

8. สร้างโปรแกรมที่คุณต้องการใช้เอง

เมื่อผมเขียนโปรแกรมเป็นมากขึ้น ผมก็รู้ว่า สามารถทำโปรแกรมเล็กๆ หลายตัวที่เป็นประโยชน์สำหรับผม
ตัวอย่างเช่น ผมอยากทำนาฬิกาโพโมโดโระ (Pomodoro) ของตัวเอง ซึ่งหลักการของโพโมโดโระคือ คุณทำงาน 25 นาทีหรือ 15 นาทีอย่างเต็มที่ โดยไม่วอกแวกกับเรื่องอื่น
แต่ผมเป็นคนวอกแวกง่าย ดังนั้นผมจึงต้องการนาฬิกาโพโมโดโระที่ทำงานแค่ 5 นาทีหรือแม้กระทั่ง 1 นาที
สำหรับผมแล้ว แค่ตั้งใจทำงาน 1 นาทีก็ถือว่าประสบความสำเร็จแล้ว แต่ยังไม่มีซอฟต์แวร์โพโมโดโระตัวไหนที่สร้างขึ้นมาสำหรับคนที่ผัดวันประกันพรุ่งมากๆ อย่างผม
ในที่สุด ผมตัดสินใจเขียนโปรแกรมด้วยตัวเองด้วยภาษา Python ที่ทำให้ผมระบุนาทีที่ผมต้องการได้ หรือแม้กระทั่งวินาที ! รวมทั้งมีข้อความหรือเสียงให้กำลังใจว่าทุกครั้งที่ทำเสร็จ
แม้ว่ามันเป็นซอฟต์แวร์ที่ประหลาดมาก แต่มันก็เป็นสิ่งที่ผมต้องการ เพราะคงไม่มีใครในโลกที่จะทำโปรแกรมแบบนี้ออกมา ผมจึงต้องทำด้วยตัวเอง ซึ่งผมก็ยังใช้อยู่ทุกวันนี้
ยิ่งผมเขียนโปรแกรมคล่องมากขึ้นเท่าไหร่ ผมก็ยิ่งพบว่า มีหลายอย่างที่ผมทำได้ด้วยตัวเองเพื่อทำให้ชีวิตง่ายขึ้น
ดังนั้น วิธีกระตุ้นตัวเองให้คุณหัดเรียนการเขียนโปรแกรมก็คือ การสร้างโปรแกรมเล็กๆที่ทำบางสิ่งบางอย่างที่คุณต้องการ

9. รู้จักวิธีการเรียน

ในขณะที่ผมเขียนหนังสือเล่มนี้ ผมเยี่ยมโปรแกรมเมอร์คนหนึ่งที่ร่วมก่อตั้งบริษัท Y Combinator ผมถามเขาว่า ความลับของการเป็นโปรแกรมเมอร์ที่ดีคืออะไร
เขาหัวเราะแล้วตอบว่า ความสามารถในการหาข้อมูลในกูเกิล เช่น เวลาที่จำบางคำสั่งหรือรายละเอียดปลีกย่อยของการเขียนโปรแกรมไม่ได้ ก็ค้นหาคำตอบในกูเกิล
ดังนั้น ในขณะที่คุณหัดเรียนการเขียนโปรแกรม ทักษะสำคัญอย่างหนึ่งคือการเรียนรู้สิ่งใหม่ๆ อยู่เสมอ มีภาษาและเครื่องมือใหม่ๆ เกิดขึ้นตลอดเวลา การเป็นโปรแกรมเมอร์หมายความว่าคุณจะเป็นนักเรียนตลอดไป

10. รู้จักโปรแกรมเมอร์คนอื่น

การเขียนโปรแกรมอาจเป็นกิจกรรมคนเดียวที่ใช้เวลาหลายชั่วโมงอยู่หน้าคอมพิวเตอร์ ถึงแม้ว่าคุณควรทำต่างๆด้วยตัวเอง แต่บางครั้งวิธีแก้ปัญหาที่ดีที่สุดคือ การถามคนอื่นว่ามันทำยังไง
เกือบทุกคนที่ผมรู้ว่าเรียนการเขียนโปรแกรมด้วยตัวเองจะมีเครือข่ายบางอย่าง เช่น พวกเขาไปพบโปรแกรมเมอร์คนอื่น ไปงานสัมมนาหรือแฮคกาทอน ไปร่วมสตาร์ทอัพหรือกลุ่มเมคเกอร์สเปซซึ่งทำให้รู้จักคนจำนวนมาก และมีแรงจูงใจในการหัดเขียนโปรแกรม
ถ้าผมรู้เรื่องนี้ตั้งแต่แรก ผมจะเข้าสังคมให้มากขึ้น เพราะมีหลายครั้งที่ผมแก้ปัญหาไม่ออก แต่เมื่อถามคนอื่น ทุกคนจะช่วยแนะนำวิธีที่แก้ปัญหาได้

วันศุกร์ที่ 5 เมษายน พ.ศ. 2562

ความผิดปกติของบุคลิกภาพ

บางคนเขาไม่ได้ปกติ ไม่ได้เป็นโรคประสาท ไม่ได้เป็นโรคจิต
แต่ผิดปกติเฉพาะในส่วนบุคลิกภาพเท่านั้น
- Antisocial/Psychopathic
- Avoidant
- Borderline
- Obsessive-Compulsive
- Schizotypal types

วันจันทร์ที่ 1 เมษายน พ.ศ. 2562

Designing Your Life: Design Thinking

Bill Burnett และ Dave Evans

"ชีวิตที่ดี" เป็นเป้าหมายที่ใครต่อใครใฝ่หา แต่ชีวิตไม่ได้มีสูตรตายตัวเหมือนคณิตศาสตร์ เราต่างเผชิญปัญหาไม่คาดคิด ทางเลือกโหดหิน และความล้มเหลวได้ทุกเมื่อ การฝ่าฟันอุปสรรคในชีวิตไม่อาจพึ่งพาโชคหรือความทุ่มเทเพียงอย่างเดียว แต่ต้องอาศัย 'สายตา' ที่มองทะลุถึงปัญหาและแก้ไขให้ถูกจุด นี่คือวิธีคิดอย่างนักออกแบบ หรือ Design Thinking 

Workview Compass

A Workview Compass should answer the following questions:
  • Why work?
  • What's work for?
  • What does work mean?
  • How does it relate to the individual, others, society?
  • What defines good or worthwhile work?
  • What does money have to do with it?
  • What do experience, growth, and fulfillment have to do with it?

Lifeview Compass

A lifeview compass should answer the following questions:
  • Why are we here?
  • What is the meaning and purpose of life?
  • What is the relationship between the individual and others?
  • Where do family, country and the rest of the world fit in?
  • What is good, and what is evil?
  • Is there a higher power, God, or something transcendent and if so, what impact does this have on your life?
  • What is the role of joy, sorrow, justice, injustice, love, peace and strife in life?

Three Alternative Life Plans

The three alternative life plans they encourage participants to design are:

Life One—That Thing You Do

"Your first plan is centered on what you've already got in mind—either your current life expanded forward or that hot idea you've been nursing for some time"

Life Two—That Thing You'd Do if Thing One Were Suddenly Gone

"Imagine that your life one idea is suddenly over or no longer an option. What would you do?"

Life Three—That Thing You'd Do If Money or Image Were No Object

"If you knew you could make a decent living at it and you knew no one would laugh at your or think less of you for doing it—what would you do?"

Odyssey Plans

ขั้นต่อไปในการออกแบบชีวิตคือการลองสร้าง Odyssey Plans หรือแบบจำลองของชีวิตในอีก 5 ปีข้างหน้า 3 แบบ เพื่อมาเป็นตัวเลือกในการ prototype ต่อไป ทั้ง 3 แผนเป็นแผนที่ดีทั้งหมด ไม่ใช่มีบางแผนเป็นแผนสำรองของแผนอื่น ๆ และทั้ง 3 แผนต้องเป็นแผนที่ต่างกันโดยสิ้นเชิง เช่น เป็นหมอที่กรุงเทพ ฯ กับเป็นหมอที่เชียงใหม่ อันนี้ถือว่าไม่ต่างกันพอ
ทั้ง 3 แผนนั้นคือ
  1. แผนที่เรามีอยู่แล้ว ณ ปัจจุบัน หรือแผนที่วางแผนจะทำจริง ในระยะใกล้ๆ เช่น ทำงานเป็นหมอเก็บเงินไปสิบปีแล้วลาออกไปสร้างธุรกิจบางอย่าง
  2. สิ่งที่เราจะทำถ้าแผนแรกหายไปจากโลก เช่น จู่ ๆ โลกมีวัคซีนที่ทำให้คนไม่ป่วยเลย โลกไม่ต้องการหมอแล้ว เราจะทำอะไร บางคนอาจบอกเปิดร้านกาแฟ
  3. สิ่งที่เราจะทำถ้าเรามีเงินล้นเหลือในชีวิต เช่น บางคนอาจบอกว่าจริง ๆ อยากเป็น dancer

ตัวอย่าง Choice A – Choice B – Choice C
วิธีการสร้าง Odyssey Plans
  1. ลองวาดภาพเป็น timeline เล่า story ของแผนต่าง ๆ นำสิ่งอื่น ๆ ในชีวิตที่เกี่ยวข้องมาอยู่ในภาพด้วย เช่น สมมติ แต่งงาน, ย้ายบ้าน, เลี้ยงหมา ฯลฯ
  2. ตั้งชื่อแผนนั้น
  3. ตั้งคำถาม 2- 3 ข้อสำหรับแต่ละแผน เช่น อะไรที่เป็น challenge ของแผนนั้น หรือสิ่งที่เราไม่ค่อยเข้าใจ
  4. สร้าง Dashboard สำหรับแต่ละแผน โดยมีตัวชี้วัดคือ:
  • Resources – เรามี resource ด้าน เวลา, เงิน, ทักษะ สำหรับแผนนี้หรือไม่
  • Likability – เราชอบแผนนี้ไหม
  • Confidence – เรามีความมั่นใจแค่ไหนในการเดินตามแผนนี้
  • Coherence – แผนนี้สอดคล้องกับ Workview และ Lifeview ของเราหรือไม่
  • ปัจจัยอื่น ๆ ที่ควร พิจารณา เช่น เราจะอยู่ที่ไหน, เราจะเรียนรู้อะไร, มีผลกระทบอะไรบ้าง, ชีวิตจะเป็นยังไง (ตำแหน่งอะไร อุตสาหกรรมไหน บริษัทประมาณไหน)
Dysfunctional Belief: To be happy, I have to make the right choice.
Reframe: There is no right choice—only good choosing.