Thousand Makes

quote จาก สารเปิดผนึกถึงนักเรียนโปรเจคและนักศึกษาบัณฑิตศึกษาที่อยู่ภายใต้ความดูแลของผม

Vara Jin Varavithya

…ผมบอกให้ฝึกกำลังโดยการวิ่งวันละ 10 กิโล คุณกลับมาบอกว่าคุณเจอมอเตอร์ไซร์รับจ้างแลัวคุณคิดว่าดีกว่านะที่จะขึ้นมอเตอร์ไซร์

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

สร้างและนำเข้าโค้ดใน library ด้วย gcc

ไฟล์ add.c นำมาสร้างเป็นไลบรารี

int add(int n) {
	return n + 1;
}

สร้างไลบรารีชื่อ libadd.a

gcc -c add.c
ar -r libadd.a add.o

ไฟล์ test.c จะเรียกใช้ libadd.a

int add(int);

main() {
    printf("%d\n", add(2));
}

คอมไพล์และลิงค์กับไลบรารี

gcc test.c -L. -ladd

กติกา MTG: Two-Headed Giant

  • 30 life (15 poison counters)
  • ทีมที่ได้เล่นก่อนไม่จั่ว
  • ใช้เฟสต่างๆร่วมกัน
  • แยก mana
  • แยก deck
  •     standard or modern ทั้งคู่ห้ามมีรวมกันเกิน 4 copies ของการ์ดแต่ละใบ
  •     draft or seal แชร์ pool
  • แต่ละคนได้ 1 ฟรี mulligan
  • equip ให้คนอื่นไม่ได้
  • keyword
  •     you ไม่ได้หมายถึง teammate
  •     each opponent หมายถึงสองคน Gray Merchant of Asphodel ลดและเพิ่ม 2X life
  •     each player หมายถึงทุกคน (ไม่ใช่ทุกทีม)
  • กติกาการ attack or block ใช้กับทั้งทีม
  •     ถ้าต้องตีพร้อมกับครีเชอร์ตัวอื่น ครีเชอร์ตัวอื่นสามารถเป็นของทีมเมทได้
  •     ถ้าถูกตีด้วย islandwalk และหนึ่งใน oppo มี island ก็จะบล็อคไม่ได้
  • damage เข้า player (โดย default เข้าที่ on the right) เลือกผู้เล่นหรือกระจาย damage ได้ (เช่น เพื่อให้ trigger สองครั้ง)

อบรม QGIS

วันที่ 6 ม.ค. 2559 ผมเป็นวิทยากรอบรม QGIS http://www.qgis.org ให้กับนิสิตภาควิชาวิทยาการคอมพิวเตอร์ ม.เกษตรศาสตร์

QGIS เป็น open source GIS software สามารถรันสคริปท์ Python ได้ ตอนเช้าผมให้นิสิตโหลดแผนที่จาก Natural Earth มาลองเล่น http://www.naturalearthdata.com/downloads/ ข้อมูลที่ดาวน์โหลดมามีข้อมูลสีที่จะใช้ระบายให้กับประเทศต่างๆ ตอนบ่ายนิสิต digitize แผนที่ ม.เกษตรศาสตร์จาก Open Street Map แล้วเขียนสคริปท์เพื่อระบายสีให้กับคณะและสำนักต่างๆ

This slideshow requires JavaScript.

โครงงาน

หา solution ที่เหมาะสมโดย survey ให้เยอะๆ

UI ต้องสื่อสารกับ user

คิดให้ครอบคลุม (กรณีที่ออกนอกลู่นอกทาง)

ประมาณเวลาทำงานแบบเผื่อๆ ต้องมี margin

คิดว่าจะสาธิตอย่างไร (ไปดูรายการทำอาหาร)

เอา library คนอื่นมาต่อยอดได้ แต่ต้องมีปริมาณงาน

คุยกับผู้ใช้บ่อยๆ จะได้ทราบเหตุผลเพื่อนำไป defend

นัตถิ เม สรณัง อัญญัง

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

ข้อที่ควรปฏิบัติเป็นขั้นที่หนึ่ง
›››››
สมเด็จพระญาณสังวร
สมเด็จพระสังฆราช สกลมหาสังฆปริณายก
วัดบวรนิเวศวิหาร

http://www.dharma-gateway.com/monk/preach/somdej/sd-022.htm

Zombie Dice

เกม Zombie Dice เป็นเกมง่ายๆ ใช้ดวงพอสมควร และฝึกการตัดสินใจที่จะต่อหรือหยุด

WP_20151130_15_45_51_Pro.jpg

ผู้เล่นเป็นซอมบี้ที่ชอบกินสมองคน ใครกินสมองได้ 13 ก้อนเป็นผู้ชนะ* ก่อนเล่นลองเดินแบบซอมบี้ดู เดินเอียงๆ ช้าๆ ส่งเสียงอาา… แบบงงงง เดินหัวชนเสาแล้วก็ยังคงเดินต่อ

ลูกเต๋าในเกมคือคน ผลของลูกเต๋ามี 3 แบบ คือ 1.สมองคือเราได้กินสมองเขา 2.รอยเท้าคือคนหนีได้ 3.โดนคนยิง ถ้าเราโดนยิงสามนัดก็จะตายและอดคะแนนในตานั้น เต๋าแดงยิงเก่งสุด WP_20151130_15_48_23_Pro.jpg

สุ่มเลือกเต่ามา 3 ลูก แล้วทอย (ทอยครั้งละ 3 ลูกเสมอ)
WP_20151130_19_11_19_Pro

เรียงสมอง และจำนวนแผลที่ถูกยิงไว้ (ถ้าโดนยิงสามนัดขึ้นไปเราจะไม่ได้คะแนนในตานั้น)WP_20151130_19_11_47_Pro

ตัดสินใจว่าจะเล่นต่อ หรือหยุด

เลือกเล่นต่อ สุ่มหยิบเต๋ามาอีกสามลูก แล้วทอย สีแดงหนีได้ สีเขียวโดนกิน สีเหลืองยิงเราWP_20151130_19_12_45_Pro

นำสมอง(เขียว)และแผลถูกยิง(เหลือง)ไปรวมกับกองด้านซ้าย

เลือกว่าจะเล่นต่อหรือหยุด

สมมุติว่าเลือกเล่นต่อ จะนำคนที่หนีไปได้มาทอดใหม่ ทอดพร้อมกับเต๋าที่สุ่มหยิบมาอีกสองลูกWP_20151130_19_14_36_Pro

สีเขียวคนล่างหนีไปได้ เราได้กินสมองเขียวและแดง

นำไปรวมกันกับกองด้านซ้ายWP_20151130_19_15_01_Pro

เลือกว่าจะเล่นต่อหรือหยุด

เลือกหยุด จดคะแนนที่ได้ในตานี้ และนำเต๋าทั้งหมดไปคืน ให้ผู้เล่นอีกคนเล่นต่อ

*รอบสุดท้ายของเกมคือรอบที่ซอมบี้กินสามารถสมองได้ตั้งแต่ 13 ก้อน เมื่อจบรอบนั้น ซอมบี้ตัวที่กินสมองได้มากที่สุดจะเป็นผู้ชนะ ได้เป็นซอมบอส (Zombozz)

หากจะนำข้อความไปใช้ ต้องแสดงที่มา และห้ามใช้ในเชิงพาณิชย์