Getting to know CRISPR-Cas9 in 30 minutes

In the world of genetic engineering, CRISPR-Cas9 is a recent breakthrough (in 2013) which could change the course of this field for the next decades. This gene editing technique has a potential to cure genetic disorders and many disease such as diabetes. This work extends the face that now we can sequence individual’s DNA rapidly with lower cost than before. After we can read the genetic code, the next wise step to work on is to edit it.

Continue reading Getting to know CRISPR-Cas9 in 30 minutes

Swiss army knife for curious learners

In the past decade, massive open online course or MOOC has been adopted worldwide and become more well known in the world of education. This includes both educators and students. In 2012, MIT OCW (MIT OpenCourseWare) is transformed into edX, and Coursera was founded. Both of them are MOOC platform which have cooperation from top institutions around the world to make the online courses in the early days possible.

Fast forward to 2018, now we have tons of free courses where students can pick and choose what they want to learn from these top institutions in almost every field. In this article I will walk you through some of the best place independent learners need to know exist and must visit once in a while.

MOOC Platform

I have already mentioned Coursera ( and edX ( and I think they are primary source for most learners. edX is founded in cooperation of MIT, all of MIT OCW courses are moved here and more courses from other institutions are added to the platform. edX is now the non-profit organization. Coursera, on the other hand, Continue reading Swiss army knife for curious learners

Prepare Yourself for XJTU (from Thailand)

[บทความนี้อยู่ระหว่างเขียน แต่เผยแพร่ให้อ่านได้ก่อน]

ในบทความนี้ผมอยากจะเขียนบันทึกของตัวเอง เกี่ยวกับการเตรียมตัวเพื่อจะไปเรียนต่อที่มหาวิทยาลัยซีอานเจียวทง (Xi’an Jiaotong University; XJTU) ที่ประเทศจีนครับ เหตุผลที่อยากเขียนบันทึกเอาไว้ เพื่อให้คนอื่น ๆ ที่มาอ่านต่อไปได้รู้ว่าการเตรียมตัวไปเรียนนั้นประกอบไปด้วยอะไรบ้าง และการเตรียมตัวไปเรียนที่มหาวิทยาลัยซีอานเจียวทงนี้ ไม่ได้มีใครเขียนบันทึกเอาไว้เลย เลยคิดว่าถ้าเขียนไว้น่าจะเป็นประโยชน์ต่อน้อง ๆ รุ่นต่อไปนะครับ 🙂

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

ทุนนี้ให้สำหรับผู้ที่จะไปเรียนในสาขาวิศวกรรมศาสตร์ (Engineering) และเศรษฐศาสตร์ประยุกต์ (Applied Economics) เท่านั้นครับ Continue reading Prepare Yourself for XJTU (from Thailand)

Image Labelling: Where is where, what is what!

In this tutorial, we will try to tell the location (or coordinates) of the green turtle in the image to the computer. We will use this turtle from Sea Turtles Conservation Center Royal Thai Navy (ศูนย์อนุรักษ์พันธุ์เต่าทะเล กองทัพเรือ) as our subject.

The sense of knowing the location

Human and computer perceive locations of things differently. We can describe to a person that the turtle is on the right or at the bottom of the image. (or the bottom right?)

Original turtle image

However, to the computer, it knows that this specific image is x pixels wide and y pixels high. They do not know weather the coordinate (30,30) is on the left, on the right, or at the top left corner of the image. This is where image labelling comes in handy. Continue reading Image Labelling: Where is where, what is what!

รวบรวมวิธีลง OpenCV 3.1 บน Mac OS X (10.11)

Tutorial ที่นำมารวบรวมนี้ ต้นทางใช้กับ OS X 10.9 พร้อม OpenCV 3.0 แต่วิธีการ install ยังเหมือนเดิมใน OS X 10.11 พร้อม OpenCV 3.1 ครับ


  1. CMake for Mac
  2. OpenCV 3.1 (download from
  3. Xcode (download from Mac App Store – Free)

วิธีการ Setup OpenCV

วิธีการ Setup ให้ใช้ OpenCV กับ Xcode ได้

จากนั้น ให้ทดสอบรันโปรแกรมดู

#include "iostream"
#include "opencv2/opencv.hpp"

using namespace std;
using namespace cv;

int main() {
 Mat frame, prev_frame, diff, gray, bw, struct_element;
 vector<vector<Point> > contours;
 vector<Vec4i> hierarchy;
 RNG rng(12345);
 bool motion = false, tracking = false;
 // 0 is the ID of the built-in laptop camera, change if you want to use other camera
 VideoCapture cap(0);
 //check if the file was opened properly
 cout << "Capture could not be opened successfully" << endl;
 return -1; }
 // Play the video in a loop till it ends
 while(char(waitKey(1)) != 'q' && cap.isOpened()) {
 cap >> frame;
 if (char(waitKey(1)) == 'm') {
 cout << "toggled motion" << endl;
 motion = ~motion;
 tracking = false;
 if (char(waitKey(1)) == 't') {
 cout << "toggled tracking" << endl;
 tracking = ~tracking;
 motion = false;
 if (motion) {
 absdiff(frame, prev_frame, diff);
 imshow("Video", diff);
 else if (tracking) {
 absdiff(frame, prev_frame, diff);
 cvtColor(diff, diff, CV_RGB2GRAY);
 threshold(diff, bw, 50, 255, THRESH_BINARY);
 struct_element = getStructuringElement(MORPH_RECT, Size(3, 3), Point(-1, -1) );
 erode(bw, bw, struct_element);
 dilate(bw, bw, struct_element);
 findContours( bw, contours, hierarchy, RETR_TREE, CHAIN_APPROX_SIMPLE, Point(0, 0) );
 vector<vector<Point> > contours_poly( contours.size() );
 vector<Rect> boundRect( contours.size() );
 vector<Point2f>center( contours.size() );
 vector<float>radius( contours.size() );
 int csize, csize2;
 Point tl, br;
 csize = contours.size();
 if (csize >= 2) {
 csize2 = contours[csize-1].size();
 tl = contours[0][0];
 br = contours[csize-1][csize2-1];
 Scalar color(rand()*255, rand()*255, rand()*255);
 rectangle(frame, tl, br, color);
 /*for( size_t i = 0; i < contours.size(); i++ ) {
 approxPolyDP( Mat(contours[i]), contours_poly[i], 3, true );
 boundRect[i] = boundingRect( Mat(contours_poly[i]) );
 minEnclosingCircle( contours_poly[i], center[i], radius[i] );
 Mat drawing = Mat::zeros( bw.size(), CV_8UC3 );
 for( size_t i = 0; i< contours.size(); i++ ) {
 Scalar color = Scalar( rng.uniform(0, 255), rng.uniform(0,255), rng.uniform(0,255) );
 drawContours( drawing, contours_poly, (int)i, color, 1, 8, vector<Vec4i>(), 0, Point() );
 rectangle( drawing, boundRect[i].tl(), boundRect[i].br(), color, 2, 8, 0 );
 circle( drawing, center[i], (int)radius[i], color, 2, 8, 0 );
 imshow("Video", frame);
 else {
 imshow("Video", frame);
 prev_frame = frame.clone();
 //cout << motion << endl;
 return 0;

Screen Shot 2559-08-21 at 11.50.36 PM


จบแล้ว 🙂

Liberal Arts Symposium – How Student-Generated Content Can Enhance Learning

Note: This article is continued from Juniata College’s Liberal Arts Symposium.

How Student-Generated Content Can Enhance Learning



A considerable amount of evidence shows that students who generate their own content from what they have studied or learned could enhance their learning which leads to better understanding of the topics. In order to generate some content, mastery in the topic is required. This presentation will show how students can improve their learning strategy by developing web-based educational content that first started in Thailand, summer 2010. There are different methodologies used for student-generated content in different formats such as notes, diagrams, and videos. This is similar to project-based learning, the difference is each piece of work has been made by self-motivation; these are even more comprehensive projects. In this presentation, the relation between the format of student-generated content and its impact on the level of understanding will be discussed. By contributing the contents to the public via internet, it will also help students be more confident about what they know. Finally, this online activity could be developed to be peer education in the future.

Download Materials

• The presentation handout – LAS Handout (189 KB)

• The presentation slide – LAS Presentation PDF ( 20 MB – please wait for loading)

 Link to Zodsai Education

Here is a link to Zodsai Education. You can also access that webpage by go to and click on the “Education” sign.


Celebrated the Spring: Debo Band Live Music

เมื่อฤดูใบไม้ผลิมาถึงก็เป็นการเฉลิมฉลองกันเล็ก ๆ สำหรับชาวอเมริกันตอนเหนืออย่างที่ Pennsylvania ครับ เหมือนกันฤดูหนาวเป็นส่วนช่วงเวลาที่เลวร้าย “Spring” ก็เป็นเหมือนช่วงที่ใบไม้เขียว ๆ จะผลิใบออกดอก กบออกจากการจำศีล (กบมาจากไหน^^) แล้วก็มีนักเรียนออกมาเล่นกีฬากลางแจ้งกันเยอะขึ้นครับ ที่ผมเห็นได้ชัดเจนเลยก็คือเทนนิสเต็มทุกคอร์ดครับ บรรดานักกีฬาระดับวิทยาลัย แทนที่จะออกกำลังกายอยู่ในยิมก็เริ่มออกมาวิ่งข้างนอกครับ ตอนนี้หิมะละลายเกือบหมดแล้วจริง ๆ ครับ ที่เหลืออยู่คือต้องกองใหญ่จริง ๆ จึงยังละลายไม่หมด หญ้าเริ่มเขียวแล้วครับ


Continue reading Celebrated the Spring: Debo Band Live Music

Long Night: Washington, DC to Cleveland, Ohio

การเดินทางของผมมาที่ Cleveland, Ohio ครั้งนี้รวมอยู่ในช่วงเวลาวันหยุดพักผ่อนที่มีกันทั่วไปในสหรัฐอเมริกา เป็นการหยุดเมื่อถึงกลางภาคเรียนครับ ถ้าเป็น Spring Semester แบบนี้ก็เป็น Spring Break (บ้างเรียก Spring Recess, บ้างเรียก Spring Vacation) ครับ ถ้าหากอยากจะอ่านภาพรวมเกี่ยวกับการท่องเที่ยวในครั้งนี้ต้องไปอ่าน “Spring Break: The Break, The Rest” ณ Zodsai live ที่เดิมนี่เองครับ

Before Cleveland, Ohio

วันก่อนที่ผมจะไปถึง Cleveland, Ohio เป็นวันที่ผมเดินเที่ยววันสุดท้ายอยู่ใน Washington, DC ซึ่งเป็นการเดินเที่ยวที่ผมมีครบทุกอย่าง ครบทุกอย่างนี้คือ มีสัมภาระทั้งหมดที่เอามาด้วย มาเที่ยวครั้งนี้ผมเอาของต่าง ๆ มาน้อยมาก ๆ น้อยที่สุดเท่าที่เคยเอาไปไหนมาไหนด้วยครับ ระหว่างเรียนอยู่ที่นี่ผมไม่มีกระเป๋าเดินทาง Backpack แต่อย่างใด กระเป๋าที่ผมใช้คือเป้สพายหลังที่ใช้เวลาไปเรียน อาจจะใหญ่กว่าของคนปกติทั่วไปซักหน่อยเพราะผมต้องใส่โน็ตบุ๊คขนาด 15 นิ้วครับ แต่อย่างไรก็ตามกระเป๋านี้ไม่ได้ออกแบบมาให้ทำอะไรแบบนี้ แต่ผมก็ไม่มีทางเลือก ไปแบบนี้ล่ะครับ

สมัยตอนเป็นนักเรียน ม.ปลาย ผมมีของทุกอย่างพร้อมเสมอ เรียกได้ว่ามีทุกอย่างที่เพื่อนต้องการ (บางทีไม่จำเป็นสำหรับตัวเอง) ^^ อย่างไรก็ตาม ของอย่างนึงที่ผมหยิบออกจากกระเป๋าปกติก็คือแว่นตา มาอเมริกาครั้งนี้ผมเอามาครบหมดทั้งแว่นใส แว่นดำกันแดด (ไม่มีแว่นสายตา) แต่ตัดสินใจหยิบออกเนื่องจากว่ากระเป๋ามันแน่นมากกลัวแว่นพัง และเท่าที่อยู่มา 2 เดือน ได้มีโอกาสใช้แค่วันเดียวเท่านั้นครับ แต่เมื่อมาถึง Cleveland แล้วต้องการเรียกร้องหาแว่นตามาก ๆ ครับ ไว้เล่าต่อไปว่าทำไมครับ Continue reading Long Night: Washington, DC to Cleveland, Ohio