ไปเรียนทำคราฟต์โซดา

ไปเรียนทำคราฟต์โซดามากับ Castown เป็นคลาสสั้น ๆ 3 ชั่วโมงครึ่ง (เรียนจริง ๆ ประมาณ 5 ชั่วโมง เพราะปล่อยไหลไปตามเรื่องตามราว และเป็นคลาสช่วงบ่ายด้วย ไม่มีคลาสเรียนต่อ เลยปล่อยไหลยาวเลย) ช่วงแรกจะเป็นช่วงทฤษฎี มีคุณเติ้งมาเล่าที่มาที่ไปให้ฟัง ที่เหลือลงมือทำ มีคุณบอมบ์จะมาสอนทำ ในแผนที่จะต้องทำจะต้องทำคราฟต์โซดา 4 รส คือ จิงเจอร์เอล โคล่า เชอร์รี่โคล่า และแลคโตะ แต่คุณบอมบ์บอกว่า หาซื้อเชอร์รี่ที่จะเอามาใช้สอนไม่ได้เลย เลยไม่ได้ทำ

พี่ครับผมอยากได้ Feedback

การที่เรามีเป้าหมายในชีวิตย่อมเป็นเรื่องที่ดี (Goal) มันช่วยทำให้เรารู้ว่าเราควรใช้ชีวิตไปในทิศทางใด (Direction) แต่ก่อนที่เราจะรู้ทิศทางที่เราต้องเดินไปนั้น เราจำเป็นที่จะต้องรู้ก่อนว่าตอนนี้เราอยู่ที่ไหน ในทำนองเดียวกันกับการทำงาน เรามีเป้าหมายของงานที่เรากำลังทำคืออะไร (Goal) ตอนนี้ตำแหน่งที่เราอยู่ เราอยู่ตรงไหนแล้ว และเราต้องไปในทิศทางไหน (Direction) เพื่อให้ไปถึงเป้าหมายนั้น ทั้งหมดนี้จะช่วยให้เรารู้ว่าเราต้องทำอะไรบ้าง (What) เพื่อที่จะไปตอบสนองความต้องการที่แท้จริงของเราได้ (Why)

พลังของ Yes, but กับ Yes, and ในการ Brainstorm

มีโอกาสได้ไปเรียนคลาส Design thinking กับพี่รูฟเมื่อหลายเดือนก่อน ในคลาสนั้นเจนกับจั๊วะได้เอาเรื่อง Yes, but กับ Yes, and มาเล่าให้ฟัง ซึ่งจริง ๆ ก็คุ้น ๆ ว่าจั๊วะเคยเล่าให้ฟังตอนสมัยทำงานด้วยกัน แต่สุดท้ายก็ลืมเอาไปใช้ วันนี้มีโอกาสได้มาฟังเจนพูดถึงเรื่องนี้อีกทีในคลาส Product discovery ก็เลยเอามาบันทึกไว้เสียหน่อย จะได้ไม่ลืมอีก

Upgrade WordPress จาก MySQL 5.7 ไปเป็น 8.0 ใน docker

เสือกอุตริไปนั่งอัพเกรด image ใน docker เพราะอยากจะทำให้มันเป็นของใหม่ ๆ ก็ไปเจอ docker compose ของเว็บนี้แหละ มันใช้ mysql 5.7 อยู่ เลยไปค้น ๆ ดู ตอนนี้ mysql มันออก 8.0 แล้ว และไอ้ 5.7 เนี่ย มันหลายปีก่อนมากแล้ว เลยคิดว่า เออ อัพเกรดแม่งเลยละกัน เริ่มต้นจากอัพเกรดแม่งดื้อ ๆ เลย แก้ tag จาก 5.7 ไปเป็น 8.0.14 ซึ่งเป็นเวอร์ชั่นล่าสุดตอนนี้ แล้วก็สั่ง build เลย … ทำจนทุก container ขึ้น ok หมดก็นึกได้ว่า สัส!! ไม่ได้ backup อะไรไว้เลย

Caddy บน Docker กับ การขอ Cert บน Let’s Encrypt แล้วติด Rate Limit

ตอนโน้น เคยจดบันทึกเอาไว้เรื่องการใช้ Caddy บน docker แล้วมันจะเอา cert จาก let’s encrypt มาติดตั้งและ enable HTTPS ให้โดยอัตโนมัติ ทีนี้ใช้งานไปใช้งานมาสักพัก ก็เจอปัญหาใหม่ตอนที่พยายาม start container บ่อย ๆ แล้วมันไปเอา cert บ่อย ๆ จนติด rate limit ทำให้ไม่สามารถไปขอ cert ใหม่ได้ และส่งผลให้ไม่สามารถ start container ได้ rate limit คือจำนวนครั้งในการอนุญาตในการเข้าเรียกใช้งาน service ต่อช่วงเวลาหนึ่ง ๆ หรือจำนวนอะไรสักอย่าง ต่อจำนวนอะไรสักอย่าง ซึ่งทาง let’s encrypt ก็มีการชี้แจงไว้เต็มไปหมดที่ https://letsencrypt.org/docs/rate-limits/ ทีนี้ปัญหาที่เจอที่เป็น rate limit ในการไปขอ cert ตอน start container […]

จิตวิทยาการขายของกับ DITF และ FITD

ได้มีโอกาสกลับไปอ่านการ์ตูน Liar Game เจอตอนนึงมีการพูดถึงเทคนิคทางจิตวิทยาที่ชื่อ Door-in-the-face (DITF) เลยไปหาข้อมูลเพิ่มเติมว่าจริง ๆ แล้วเทคนิคนี้มันคืออะไร ก็เจอเรื่องที่น่าสนใจ

รู้จักฉัน รู้จักเธอ ด้วย Agile Talent Dynamics

ในบล็อกที่แล้ว เขียนเรื่องเกี่ยวกับ Diversity ในทีม เปรียบเทียบกับความเข้ากันของอาหารบนโต๊ะ ทีนี้ถ้าเรามอง Diversity ในมุมที่เป็นลักษณะ และบุคลิกของแต่ละคนล่ะ เราจะมองยังไงดี

ส่วนผสมที่กลมกล่อม

ได้มีโอกาสดูคลิปหนึ่ง ที่ตัดมาจากการพูด TED Talk ของ Yves Morieux เขาพูดถึงการแข่งวิ่งผลัดของทีมชาติฝรั่งเศสแข่งกับทีมชาติอเมริกา ในช่วงแรกเขาเปรียบเทียบให้ดูแบบรายคน ก็พบว่า นักกีฬาของอเมริกาแต่ละคน วิ่งเร็วกว่านักกีฬาของฝรั่งเศส ดังนั้นเราสามารถเดาได้เลยว่า ตอนเวลาแข่งวิ่งผลัดจริง ๆ ทีมชาติอเมริกาจะต้องชนะแน่ พวกเราส่วนใหญ่ ก็คงคิดแบบนั้นเหมือนกันกัน

แก้ปัญหา MutationObserver กับ document.getSelection ใน jest ด้วย polyfill

ตอนเปลี่ยนมาใช้ test framework เป็น jest ซึ่งใช้ JSDom เป็น dom หลักในการทดสอบ แทนที่จะใช้ dom ของ browser ทำให้บางครั้งเราเจอปัญหา feature บางอย่างที่มีไม่ครบ และครั้งนี้ปัญหาที่เจอคือ พอเอา QuillJS ซึ่งเป็น markdown editor มาใช้กับ angular ก็เจอปัญหาว่า MutationObserver is not defined กับ document.getSelection is not defined

ใช้ Jest ใน Angular แบบง่ายกว่าเดิม ด้วย jest-schematic

ในบันทึกก่อนหน้าโน้น เคยจดเอาไว้เรื่องเกี่ยวกับวิธีการใช้ Jest ใน Angular จะเห็นว่ามีขั้นตอนมากมายว่าจะใช้ jest ได้