Monthly Archives: June 2016

Can you really tell if a kid is lying? (แปลไทย)

เป็นเรื่องราวเกี่ยวกับพัฒนาการการโกหกในวัยเด็ก (ซึ่งผมเชื่อว่าทุกคนก็เคยทำ ฮ่าๆ)
บทความนี้นำมาจาก TED ครับ หัวข้อ Can you really tell if a kid is lying? โดยคุณ Kang Lee
ปล. แปลผิดถูกบ้างขออภัยครับ เนื่องด้วยสกิลภาษาอังกฤษผมอ่อนมาก 5555


Screenshot (29)

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

อันนี้ผมแปลผิดนิดหน่อย(ตอนนี้มีแปลไทยแล้ว) จริงๆเป็นเรื่องราวของเพื่อน Kang Lee ในขณะที่เพื่อนเขาเป็นครูใหญ่
ซึ่งวันหนึ่งเขาได้รับโทรศัพท์จากเด็กคนหนึ่ง โดยเด็กคนนั้นก็โกหกว่าตัวเองเป็นพ่อ
Screenshot (51)

 

 

เพื่อนคุณ Kang Lee เลยตอบไปว่า …เพื่อนคุณ Kang Lee ที่เป็นครูใหญ่เลยถามกลับไปว่า ผมกำลังพูดกับใครอยู่ เด็กคนนั้นเลยตอบว่า..

I AM MY FATHER.

ถถถ+

Screenshot (53)

 

 

คุณ Kang Lee เลยสรุปไว้ 3 อย่างเกี่ยวกับการโกหกในเด็ก คือ
1. เด็กๆจะโกหกหลังจากเข้าเรียนในชั้นประถมศึกษา
2. เด็กๆโกหกได้แย่มาก ผู้ใหญ่อย่างเราๆสามารถจับโกหกได้ง่าย
3. ถ้าเขาโกหกตอนยังอยู่ในวัยเด็กเกินไป จะทำให้เขามีมลทินได้ จะทำให้เขาเกิดภาวะ Pathological Liar (โรคโกหกตัวเอง)

โรคหลอกตัวเอง หรือโกหกตัวเอง ที่ในวงการจิตวิทยาเรียกว่า Pathological Liar คืออาการผิดปกติทางจิตที่ทำให้ผู้ป่วยพูดโกหกได้เรื่อย ๆ โดยจุดประสงค์ก็เพื่อเรียกร้องความสนใจ หรือมีความต้องการเพิ่มคุณค่าให้ตัวเอง
อ่านเพิ่มเติม : http://health.kapook.com/view144660.html

เขาได้ทำการทดลองจากเด็กหลายๆคนบนโลก เป็นเดาหมายเลขที่อยู่ใต้การ์ด เขาบอกเด็กๆว่า ถ้าทายถูกจะมีรางวัลให้อย่างงาม
จากนั้นก็ขอตัวและปล่อยให้เด็กอยู่ในห้อง โดยก่อนออกจากห้อง เขาได้บอกเด็กๆไว้ด้วยว่า “อย่าแอบดู” นะจ๊ะหนูๆ

Screenshot (77)

 

 

แน่นอน เราได้ทำการติดตั้งกล้องวงจรปิดไว้ในห้องนั้นแล้ว เพื่อดูการเคลื่อนไหวของเด็กๆ

Screenshot (80)

 

 

และก็แน่นอน เด็กๆมากกว่า 90% ได้ทำการแอบดู หลังจากที่เราได้ออกจากห้องไปแล้ว

Screenshot (92)

 

 

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

และนี่คือตารางแสดงพัฒนาการการโกหก จะเห็นได้ว่าเมื่อเด็กๆยิ่งโตขึ้น ก็จะโกหกมากขึ้นเรื่อยๆ
Screenshot (104)
Screenshot (102)

 

 

เด็กบางคนเริ่มโกหกตั้งแต่อายุเพียง 2 ขวบ และหลังจากอายุ 4 ขวบ เด็กๆส่วนมากจะโกหก

Screenshot (107)

 

 

ส่วนผสมของการโกหกที่ดี (โกหกอย่างแนบเนียน) ประกอบไปได้วย
1. การอ่านใจ – ต่างคนต่างมีความรู้ที่ต่างกัน เกี่ยวกับสถานการณ์ต่างๆ, ความสามารถในการแยกแยะระหว่าง สิ่งที่เรารู้ กับสิ่งที่คุณรู้
ซึ่งเป็นสิ่งที่สำคัญมาก เพราะเป็นพื้นฐานของการโกหก ซึ่งก็คือ เรื่องที่เราโกหก “เรารู้” แต่ “คุณไม่รู้”
2. การควบคุมตนเอง – การควบคุมการพูด กิริยาท่าทาง ร่างการของตนเอง ยิ่งควบคุมได้มาก ก็จะยิ่งทำให้การโกหกนั้นแนบเนียนยิ่งขึ้น

นี่คือวิดีโอของเด็กสองคนที่ได้ซักถามว่าแอบดูการ์ดหรือเปล่า (ขอตัดเป็น gif มาให้ดูกันนะครับ)
จากนั้นเป็นการยกมือทายว่าเด็กคนแรกหรือคนที่สองโกหก (ผู้อ่านลองทายกันเล่นๆดูก็ได้ครับ)

TED

ผลคือ (คลุมข้อความเพื่อดูคำตอบ) “เด็กคนที่สองคือคนที่พูดโกหก

 

 

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

Screenshot (112)

 

 

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

Screenshot (115)

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

Screenshot (128)

 


สามารถเข้าไปดูต้นฉบับได้จากที่นี่เลยครับ (ณ. ตอนที่ผมแปลยังไม่มีซับไทยนะครับ มีแต่ Eng.Sub)
Can you really tell if a kid is lying? | Kang Lee

 

ปล. ตอนแรกทวิตไว้เฉยๆไม่กะเอามาเขียนลง blog หรอก แต่อยู่ดีๆวันนี้นึกขยันซะงั้น ฮ่าๆ
https://twitter.com/sornram9254/status/740874667414589440

Save

Save

Save

Save

Save

Save

Save

detect when a removable disk is inserted using C#

    	static ManagementEventWatcher w = null;
    	static void AddRemoveUSBHandler()
    	{
    		WqlEventQuery q;
    		ManagementScope scope = new ManagementScope("root\\CIMV2");
    		scope.Options.EnablePrivileges = true;
    		try {
    			q = new WqlEventQuery();
    			q.EventClassName = "__InstanceDeletionEvent";
    			q.WithinInterval = new TimeSpan(0, 0, 3);
    			q.Condition = "TargetInstance ISA 'Win32_USBControllerdevice'";
    			w = new ManagementEventWatcher(scope, q);
    			w.EventArrived += USBRemoved;
    			w.Start();
    		}
    		catch (Exception e) {
    			Console.WriteLine(e.Message);
    			if (w != null)
    			{
    				w.Stop();
    			}
    		}
    	}

    	static void AddInsertUSBHandler()
    	{
    		WqlEventQuery q;
    		ManagementScope scope = new ManagementScope("root\\CIMV2");
    		scope.Options.EnablePrivileges = true;
    		try {
    			q = new WqlEventQuery();
    			q.EventClassName = "__InstanceCreationEvent";
    			q.WithinInterval = new TimeSpan(0, 0, 3);
    			q.Condition = "TargetInstance ISA 'Win32_USBControllerdevice'";
    			w = new ManagementEventWatcher(scope, q);
    			w.EventArrived += USBInserted;
    			w.Start();
    		}
    		catch (Exception e) {
    			Console.WriteLine(e.Message);
    			if (w != null)
    			{
    				w.Stop();
    			}
    		}
    	}

    	static void USBInserted(object sender, EventArgs e)
    	{
    		Console.WriteLine("A USB device inserted");
    	}

    	static void USBRemoved(object sender, EventArgs e)
    	{
    		Console.WriteLine("A USB device removed");
    	}

How to use

    	Main()
    	{
    		AddInsertUSBHandler();
    		AddRemoveUSBHandler();
    		while (true) {}
    	}

http://stackoverflow.com/a/271251

Answer:WMI: Get USB device description on insertion

        ManagementScope sc =
            new ManagementScope(@"\\YOURCOMPUTERNAME\root\cimv2");

        ObjectQuery query =
            new ObjectQuery("Select * from Win32_USBHub");

        ManagementObjectSearcher searcher = new ManagementObjectSearcher(sc, query);
        ManagementObjectCollection result = searcher.Get();

        foreach (ManagementObject obj in result)
        {
            if (obj["Description"] != null) Console.WriteLine("Description:\t" + obj["Description"].ToString());
            if (obj["DeviceID"] != null) Console.WriteLine("DeviceID:\t" + obj["DeviceID"].ToString());
            if (obj["PNPDeviceID"] != null) Console.WriteLine("PNPDeviceID:\t" + obj["PNPDeviceID"].ToString());
        }

WMI Code creator : http://sdrv.ms/PZKlKu

http://stackoverflow.com/a/6643234
https://social.msdn.microsoft.com/Forums/vstudio/en-US/f3003f55-aecf-41da-b0a8-1b5e8bf99894/extracting-serial-number-vendor-id-and-product-id-from-usb-pendrive-using-c?forum=netfxbcl

Get different and common items in two arrays with LINQ [C#]

var list1 = new string[] {"1", "2", "3", "4", "5", "6"};
var list2 = new string[] {"2", "3", "4"};
var listCommon = list1.Intersect(list2);
foreach (string s in listCommon) Console.WriteLine(s);

Output:

2
3
4

 

http://stackoverflow.com/a/10648270

How to create a Winforms Combobox with Label and Value [C#]

    private void PopulateComboBox()
    {
        var dict = new Dictionary<int, string>();
        dict.Add(2324, "Toronto");
        dict.Add(64547, "Vancouver");
        dict.Add(42329, "Foobar");

        comboBox1.DataSource = new BindingSource(dict, null);
        comboBox1.DisplayMember = "Value";
        comboBox1.ValueMember = "Key";
    }

http://stackoverflow.com/a/2023457

Remove duplicates from array c#

int[] s = { 1, 2, 3, 3, 4};
int[] q = s.Distinct().ToArray();

http://stackoverflow.com/a/9685

search value (with regex) in array and push search value to multidimensional array in PHP

Example Data

Array
(
    [0] => [DATA_1_A]
    [1] => [DATA_1_B] [DATA_2_B]
    [2] => [DATA_1_C] [DATA_2_C] [DATA_3_C]
)

And push value to multidimensional array.

Array
(
    [0] => Array
        (
            [0] => DATA_1_A
        )
    [1] => Array
        (
            [0] => DATA_1_B
            [1] => DATA_2_B
        )
    [2] => Array
        (
            [0] => DATA_1_C
            [1] => DATA_2_C
            [2] => DATA_3_C
        )
)

$new = array_map(function($i) {
if(preg_match_all('/\[([^\]]+)\]/', $i, $m)) return $m[1];
return $i; }, $arr);

http://stackoverflow.com/a/37666969

Answer:Scripts to convert data-dump to other formats

https://github.com/testlnord/sedumpy/blob/master/makedb.py
http://meta.stackexchange.com/a/28231

ref: https://twitter.com/sornram9254/status/738783811073232896

Answer:How to print all information from an HTTP request to the screen, in PHP

echo file_get_contents( 'php://input' );

http://stackoverflow.com/a/3136304
ref: https://twitter.com/sornram9254/status/738058662141263872

Answer:Remove empty array elements (PHP)

$emptyRemoved = array_filter($linksArray);

http://stackoverflow.com/a/3654335
ref: https://twitter.com/sornram9254/status/737673183155740672