Tuesday, March 31, 2009

Create datatable from multi select rows C#

ออกรายงานจาก Datatable ที่สร้างจาก multi select row ใน datagridview

# ประเด็นมีอยู่ว่าต้องการออกรายงานด้วย crystal report ซึ่งจะเอาข้อมูลใน datagridview ที่เลือก



# ติดไว้ตั้งแต่เมื่อวานเพราะ ข้อมูลที่แสดงผิดอ่ะดิ เป็นตัวเลขหมดซะงั้น



# ซึ่งความจริงแล้ว CustomerID จะเป็นชื่อ อักษรภาษาอังกฤษอ่ะดิ แต่ไมขึ้นตัวเลขแบบนี้หว่า

# debug ดูไงว่า CustomerID expected int32 ว่า



# can not store ผิดตรงใหนหว่า่

# นี้คือโค้ดตอนสร้าง datatable ที่แล้วการสร้างเพิ่ม colum ซึ่งเอามาจาก
datagridview อีกที

DataTable dt = new DataTable();

for (int i = 0; i < dgvSearchResult.Columns.Count; i++)
{
DataColumn column = new DataColumn();
column.DataType = dgvSearchResult.Columns[i].GetType();
column.ColumnName = dgvSearchResult.Columns[i].Name;
column.AutoIncrement = true;
dt.Columns.Add(column);
}


// dgvSearchResult คือ Datagridview
// bindingSourceSearchResult.DataSource = dtsTableData.Tables[0];
// มันเป็นงี้ dgvSearchResult.DataSource = bindingSourceSearchResult

// โค้ดนี้สำหรับเพิ่มค่าให้ row แต่ละ cell เนี๋ย ถูกแหละ คิดว่ามันผิดตรงใหนอยู่ตั้งนานเซงมากๆ

for (int i = 0; i < dgvSearchResult.SelectedRows.Count; i++)

{
DataRow dr = dt.NewRow();

for (int j = 0; j < dt.Columns.Count; j++)
{
Object obj = dgvSearchResult.SelectedRows[i].Cells[j].Value;
dr[dt.Columns[j].ColumnName] = obj;

}

dt.Rows.Add(dr);

}
# นั่งแก้มั่วไปเรื่อยอยู่เป็นวัน ตูก็เอา column จาก datagridview เลยนะสำหรับกำหนดคุณสมบัติให้ column ใหม่

# แล้วทำไม type ของ column ตูจะผิดได้ไงหว่า เป็น int32 หมดซะงั้น


# หรือว่าตูเพิ่มค่าให้กับ datarow ผิดหว่า คิดไปเรื่อย แก้ไปเรื่อย เมื่อวานนั่งงมใน google ตั้งนาน ก็เจอยู่นะแต่ไม่ได้ get อาไรกับเค้าเล้ย กับห้องไปนอนดีกว่า


# วันนี้ ตื่นขึ้นมา ล้างหน้า แปลงฟัน อาบน้ำ สดชื่นอย่างแรก เปิด nb แล้วก็นั่งดูในเว็บ codeproject ที่เมื่อวานนั่งดูไม่ get อาไรเลย

# ลองใหม่อีกครั้งน่า ความพยายามอยู่ในความสำเร็จก็อยู่นั่นอ่ะดิครับ วันที่รอคอยก็มาถึง


# สร้าง Datatable จาก multi select row ใน Datagridview ได้แหละ


# ปัญหาที่เราสร้าง datacolumn ผิดหว่าเพราะ datagridview ไม่ได้ผูกกับ dataset โดยตรง เพราะ เราใช้ bindingSource ผูกกับ dataset หรือ datatable แล้วค่อยนำ datagridview ไปผูกกับ bindingSource อีกรอบ

# ที่ทำอย่างนี้เพราะว่าจะทำ paging ให้ datagridview เราอ่ะนะ เลยต้องใช้ databinding มาเกี่ยวข้องอีกที่ เพราะปกติ ใช้ datagridview ผูกกับ dataset หรือ datatable เลยตลอด


# ทำให้ตอนสร้าง column ได้ datatype ผิดๆ อ่ะ ^^'


# ถ้าเราต้องการสร้าง Datatable ใหม่โดยต้องการนำ column ใน Datagridview ที่ผูกกับ bindingSource เราต้องเข้าถึง bindingSource โดยตรง และใช้ dataview มาเกี่ยวข้องด้วยหว่า ซึ่งเป็นอาไรที่เรา ไม่เคยใช้มาก่อนเลย

# จากโค้ดด้านบนให้เราแก้เป็น

// ก็ใช้แบบนี้ไม่ได้อ่ะนะ bindingSourceSearchResult.Columns

// dgvSearchResult คือ Datagridview
// bindingSourceSearchResult.DataSource = dtsTableData.Tables[0];
// มันเป็นงี้ dgvSearchResult.DataSource = bindingSourceSearchResult

DataTable dt = new DataTable();

CurrencyManager cm =
(CurrencyManager)dgvSearchResult.BindingContext[bindingSourceSearchResult.DataSource
, bindingSourceSearchResult.DataMember];

DataView dv = (DataView)cm.List;

foreach (DataColumn dc in dv.Table.Columns)
{
dt.Columns.Add(dc.ColumnName);
}



# ใหนๆ ก็ไปยุ่งกับ Dataview เสริมอีกหน่อยเรื่องการจัดเรียงข้อมูลใน datatable อันนี้เอามาจาก ที่นี้ เพื่อจะได้เรียงข้อมูลได้ เพราะ ถ้าเราเลือกจากบนลงล่าง เมื่อออกรายงานจะ เรียงจากมากไปน้อยซะงั้น

// dt คือ DataTable
DataView v = dt.DefaultView;
//v.Sort = "sumaccept DESC, suminvite DESC, emailaddress ASC";
v.Sort = "rank ASC";
dt = v.ToTable();

# หรืออยากให้เรียงใหม่ ตอนเรา add ข้อมูลให้ datarow เราก็สลับ index สิครับ

// ของเดิม
//for (int i = 0; i < dgvSearchResult.SelectedRows.Count; i++)

// กลับกันก็
for (int i = (dgvSearchResult.SelectedRows.Count - 1)
; i >= 0; i--)
# เราก็สามารถออกรายงานให้เรียงเหมือนใน DatagridView ได้แล้ว ^^' (อย่าลืม comment dataview sort)

# แต่ทำไมเรา sort แหละยังเรียงงี้อ่ะ 10, 11 ต่อ 1 ซะงั้น น่าจะเป็น 2 มากว่า 10 , 11 นะ ทำไมเรียงแบบ string ซะงั้น แล้วตูจะทำไงล่ะที่นี้

# แก้แบบใส่ type ก่อน add ลง table ตามลิ้งนี้บอกแล้วนะ แต่ไม่ผ่านหว่า มันเป็นการเปลี่ยน type ของ datatable ที่มีข้อมูลอยู่แล้วซะงั้น

dc.DataType = typeof(int);

# ของเดิม
dt.Columns.Add(dc.ColumnName);

# ให้เราแก้บรรทัดที่ใส่แต่ column name ให้เติม type ของ column เนี๋ยลงใน datable ตัวใหม่ด้วยซะงั้น

dt.Columns.Add(dc.ColumnName, dc.DataType);

# จากที่แก้แล้วใช้ได้ เรียงแบบ integer ได้ถูกต้องแหละ สรุปได้ว่า ถ้าเราไม่ใส่ type ตอนเพิ่ม column ให้ table ค่าโดยปริยายจะเป็น string หว่า


References :


Sunday, March 29, 2009

VisualSVN Prerequire TortoiseSVN

VisualSVN ต้องพึ่ง TortoiseSVN ด้วยแฮะ





# ตอนแรก งงๆ ติดตั้งเสร็จแล้วทดสอบไมคล้ายตอนเรียกใช้ commit อินเทอเฟสเหมือน TortoiseSVN จังอ่ะ เลยลอง ถอนทั้ง TortoiseSVN และ VisualSVN ออก รีบูต แล้วทำการติดตั้งใหม่ ก็ขึ้นเตือนแบบนี้หว่า ^^'

# ลืมดู system require

# ค่อนข้างใช้ง่ายกว่า AnkhSvn ไม่รู้คิดไปเองปะ สงสัยใช้ Tortoise เป็นเลยคิดว่า VisualSVN ง่ายกว่า ^^'

# อีกตัวที่น่าสนใจ คิดว่าซอร์ฟแวร์เฮ้า คงใช้กันเยอะอ่ะฝั่ง M$ นะ source safe หว่าอันนี้ยังไม่เคยลองเลยอ่ะ ต้องลองบ้างแหละ เจ้า source safe เนี๋ย

References

How to dynamically number rows in a SELECT

select ให้ได้หมายเลข row มาด้วยไงหว่า

# อ้างอิงจาก table NorthWind.Orders

# select แบบธรรมดา

SELECT [OrderID]
,[CustomerID]
,[EmployeeID]
FROM [Northwind].[dbo].[Orders]

# ผลลัพจะได้ทั้งหมด 830 record

OrderID CustomerID EmployeeID

10248 VINET 5
10249 TOMSP 6
10250 HANAR 4
. . .
. . .
. . .
11077 RATTC 1


# แต่ถ้าเราต้องการให้แสดงหมายเลข row ข้างหน้าด้วย แบบนี้อ่ะ

# ผลลัพจะได้ทั้งหมด 830 record


Rank OrderID CustomerID EmployeeID

1 10248 VINET 5
2 10249 TOMSP 6
3 10250 HANAR 4
. . . .
. . . .
. . . .
830 11077 RATTC 1


# จะต้อง select ไง ไมโครซอร์ฟ มีคำตอบให้เราด้วยอ่ะ

# เราก็แก้ใหม่เป็นประมาณเนี๋ย

SELECT rank()
OVER (ORDER BY [OrderID]) as rank
,[OrderID]
,[CustomerID]
,[EmployeeID]
FROM [Northwind].[dbo].[Orders]
ORDER BY rank

# ผลที่ได้น่าจะเหมือนกันนะ ไม่แน่ใจเพราะไม่ได้ ตรวจทุก record อ่ะ

# ไม่ใช่แค่ select แบบนี้เท่านั้นที่ไ้ด้ row number ยังมีแบบอื่นอีก แต่ไม่ค่อยเข้าใจเลย

Refer:

Saturday, March 28, 2009

Creative Commons Thailand finished

Creative Commons ประเทศไทยเสร็จเรียบร้อยแล้ว

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

งานแถลงข่าวจะมีขึ้นในวันที่ 2 เมษายนนี้ ที่หอศิลปวัฒนธรรมแห่งกรุงเทพมหานคร (ตรงข้ามมาบุญครอง) เวลา 13.00-16.00 น. (รายละเอียด) ที่ต้องจัดวันธรรมดาเพราะว่ากลุ่มเป้าหมายหลักคือนักข่าว แต่ว่าถ้าใครสนใจและสามารถปลีกตัวจากเวลางานมาได้ก็ยินดีครับ สำหรับบุคคลากรที่จะมาในนามของหน่วยงานและต้องการจดหมายเชิญแบบเป็นทางการ สามารถติดต่อมาที่ผมได้โดยตรง markpeak @ gmail

ถ้าใครว่างแต่ยังลังเลว่าจะมาดีหรือไม่ มางานนี้คุณจะได้

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

โดยส่วนตัวผมคิดว่า กลุ่มที่น่าจะได้ประโยชน์จากงานนี้โดยตรง คือ ผู้ที่ศึกษาและสนใจงานด้านกฎหมายทรัพย์สินทางปัญญา (อาจเป็นนักศึกษาด้านนิติศาสตร์ที่เอกมาทางด้านนี้) และผู้ที่สนใจประเด็นแง่วัฒนธรรม โดยเฉพาะการขับเคลื่อนวัฒนธรรมเสรี (free culture) อย่างเช่นนักศึกษาสายมานุษยวิทยา ถ้าใครมีเพื่อนเรียนด้านนี้ก็ฝากประชาสัมพันธ์ด้วยครับ

รู้จักกับ Creative Commons

ในโอกาสที่ Creative Commons ฉบับประเทศไทย (ไม่ใช่ “ฉบับภาษาไทย”) เสร็จสมบูรณ์ ผมก็ขอนำเรื่องเก่ามาเล่าใหม่ อธิบายเรื่อง Creative Commons เผื่อว่าจะมีผู้อ่าน Blognone หน้าใหม่บางคนที่อาจไม่เคยได้ยินชื่อของมันมาก่อน

ถ้าให้ผมนิยาม Creative Commons แบบสั้นๆ ก็จะได้ว่า ชุดของสัญญาอนุญาตแบบเปิดกว้าง

แปลความกันสักเล็กน้อย

  • “สัญญาอนุญาต” มันคือ “สัญญา” แบบเดียวกับที่เราต้องเซ็นเวลาทำนิติกรรมต่างๆ คือมีผลบังคับใช้ตามกฎหมายแพ่ง ที่ใช้คำว่า “สัญญาอนุญาต” นั้นมาจากคำเต็มว่า “สัญญาอนุญาตให้ใช้งาน” ภาษาอังกฤษคือ license
  • “ชุด” แปลว่ามีสัญญาหลายฉบับ รวมกันเป็นชุด
  • “เปิดกว้าง” จะอธิบายต่อไป

ทรัพย์สินทางปัญญา

ก่อนอื่นแนะนำคำศัพท์พื้นฐานที่เกี่ยวข้องกับประเด็นด้านนี้ก่อน

  • ลิขสิทธิ์ (copyright) แปลว่า “สิทธิ์ของผู้สร้าง” ครอบคลุม “ตัวชิ้นงาน” สร้างสรรค์ประเภทต่างๆ เช่น งานเขียน ภาพวาด งานดนตรี ภาพยนตร์ ซอฟต์แวร์ (ส่วนประเด็นว่าอะไรเป็นงานสร้างสรรค์บ้าง อันนี้ต้องคุยกันยาว ไม่ขอลงในรายละเอียด เอาเป็นว่าโดยส่วนมากแล้วก็เป็นงานที่เราเห็นได้ทั่วไปว่ามันถูกสร้างสรรค์ ขึ้น) หลังจากสร้างงานขึ้นมาและเผยแพร่ ลิขสิทธิ์จะตกเป็นของผู้สร้างโดยอัตโนมัติ ไม่ต้องไปลงทะเบียนนู่นนี่นั่นแต่อย่างใด
  • สิทธิบัตร (patent) คุ้มครอง “กระบวนการ” ในการสร้างสรรค์ผลงาน สิทธิบัตรจะต่างจากลิขสิทธ์ตรงที่ต้องยื่นขอ “จดสิทธิบัตร” ไปยังกรมทรัพย์สินทางปัญญา มีขั้นตอนด้านเอกสารและค่าใช้จ่าย
  • ทรัพย์สินทางปัญญา (intellectual property) เป็นคำรวมๆ ที่คลอบคลุมลิขสิทธิ์, สิทธิบัตร และแนวคิดอื่นๆ ที่ผมไม่ได้เอ่ยถึง เช่น เครื่องหมายการค้า (trademark) และความลับทางการค้า (trade secret) เป็นต้น

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

ถ้าเราต้องการนำผลงานชิ้นนั้นๆ ไปใช้งานต่อ กระบวนการที่ถูกต้องตามกฎหมายแบบเป๊ะๆ ก็คือเราต้องทำเรื่องขออนุญาตไปยังเจ้าของผลงาน (ซึ่งจะต้องเสียเงินหรือไม่ก็แล้วแต่เจ้าของ) ส่วนเจ้าของจะให้สิทธิ์เพียงบางส่วน (เช่น JK Rowling ให้สิทธิ์ Warner Bros. นำ Harry Potter ไปทำภาพยนตร์เท่านั้น ไม่สามารถนำไปทำละครเวทีได้) หรือจะขายสิทธิ์ทั้งหมดขาด ก็ขึ้นอยู่กับการตกลงกันในระหว่างการเจรจา

เมื่อเจ้าผลงานของเสียชีวิตไประยะเวลาหนึ่ง (ซึ่งต่างกันตามรูปแบบของงานและกฎหมายในแต่ละประเทศ แต่เฉลี่ยก็หลัก 30-50-75 ปี) ผลงานชิ้นนั้นจะเปลี่ยนสภาพเป็น “สมบัติสาธารณะ” (public domain) ซึ่งไม่มีใครเป็นเจ้าของ และทุกคนสามารถนำมันไปใช้ได้โดยไม่ต้องขออนุญาตใครก่อน (เหมือนกับขุดดินหรือตักน้ำในที่สาธารณะ) อย่างเช่น ตอนนี้ถ้าผมอยากนำงานของเชคสเปียร์มาพิมพ์ขายใหม่ ก็ไม่ต้องขอใคร ลงทุนแค่ค่ากระดาษอย่างเดียว

ปัญหาของกฎหมายลิขสิทธิ์

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

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

ฟังดูเหมือนไม่มีอะไร แต่เอาเข้าจริงแล้ว มันมีค่าใช้จ่ายแฝงเป็นจำนวนมาก

  • ค่าใช้กระดาษ ซอง แสตมป์ เพื่อส่งไปยังหน่วยงาน A
  • ค่าโทรศัพท์ไปสอบถามว่า เอกสารที่ส่งได้รับหรือยัง อนุญาตหรือยัง
  • ค่าเสียเวลาในการสื่อสาร ลองคิดดูว่าถ้าหนังสือมันต้องปิดต้นฉบับ วันนี้ แต่เราต้องส่งเอกสารไปขออนุญาตก่อน แถมยังต้องรอตอบรับ

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

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

ค่าใช้จ่ายแฝงที่ยกตัวอย่างเหล่านี้ กลายเป็นกำแพง (ทางกฎหมาย) ระหว่างผู้ที่ต้องการนำเนื้อหาไปใช้งาน และเจ้าของเนื้อหา (ที่ยินดีให้นำไปใช้งานอยู่แล้ว อันนี้มองเฉพาะกรณีที่ยินดีอนุญาตให้ใช้) และในหลายๆ ครั้งมันเลยทำให้เรา “เสียโอกาส” ที่จะนำเนื้อหาดีๆ มีคุณค่าไปทำประโยชน์ต่อ ทั้งที่ใจของเจ้าของเค้าอนุญาตอยู่แล้ว ทั้งที่จริงๆ แล้วแค่เขียนเมลไปบอกสักฉบับก็น่าจะพอแล้ว น่าเสียดายไหมครับ?

ทางออก

วิธีการแก้ปัญหาข้างต้นก็ทำได้หลายทาง ดังนี้

  1. นำไปใช้เลยโดยไม่ต้องขออนุญาต อันนี้ผิดกฎหมายลิขสิทธิ์แน่นอนถ้าจะว่ากันจริงๆ (เพียงแต่เจ้าของจะฟ้องหรือไม่ ก็อีกเรื่องนึง)
  2. นำไปใช้เลยโดยไม่ต้องขออนุญาต ถ้าเข้าข่าย fair use (การใช้งานโดยชอบธรรม เช่น กรณีใช้เพื่อการศึกษา) แต่ว่าขอบเขตของ fair use ก็ยังไม่ชัดเจน และต่างกันออกไปในแต่ละประเทศ
  3. เจ้าของประกาศให้งานของตนเป็นสาธารณสมบัติ (public domain) ใครๆ ก็นำไปใช้ได้โดยถูกกฎหมาย
  4. เจ้าของประกาศเงื่อนไขการใช้งานเพิ่มเข้ามาเป็นพิเศษ (ถือเป็น “สัญญา”) เช่น บอกว่าเอาไปใช้ได้นะถ้าคุณส่งโปสการ์ดกลับมาให้ผมดูเล่นสักใบ (Linux ช่วงแรกๆ เคยเป็นแบบนี้) หรือที่คุ้นๆ กันหน่อยก็ เอาไปใช้ได้นะถ้าไม่นำไปใช้เพื่อการค้า

ข้อ (4) นี่ล่ะครับเป็นรากฐานของ Creative Commons

Creative Commons

ปัญหาของข้อ (4) ก็คือต่างคนต่างประกาศกันมั่วไปหมด คนนำไปใช้ต่อก็เลยสับสน (แถมยังมีประเด็นว่าเจ้าของงานจำนวนมาก ไม่รู้ว่ามันทำแบบนี้ได้) โครงการ Creative Commons เลยแก้ปัญหาดังนี้

  • จัดชุดของเงื่อนไขที่เจอบ่อยๆ (เช่น ห้ามนำไปใช้เพื่อการค้า, ห้ามดัดแปลงต่อ) เข้าไว้ด้วยกัน
  • สร้างแบรนด์ให้มันหน่อย โดยทำเป็นโลโก้ CC ที่เราอาจจะเคยเห็นกันมาบ้าง (ถ้าไม่เคยเห็น เลื่อนลงไปท้ายสุดของหน้าครับ) คนดูจะได้เข้าใจว่าถ้าเห็นโลโก้นี้ แปลว่าทำอะไรกับมันได้บ้าง เฉกเช่นเดียวกับเวลาคนเห็นสัญลักษณ์ ©
  • สร้างความคุ้มครองทางกฎหมาย โดยเขียนสัญญาที่มีผลบังคับใช้จริงๆ ในทางกฎหมาย (ที่คนธรรมดาอ่านไม่รู้เรื่อง) ขึ้นมา เวลามีคนมาฟ้องว่าสัญญาแบบ CC นี้เป็นสัญญาเก๊ ฝ่ายคนประกาศ CC จะได้สู้คดีแล้วชนะ (มีคนชนะมาแล้วในต่างประเทศ)

เรื่องชุดของเงื่อนไขและโลโก้ ผมขอเขียนถึงคร่าวๆ ว่ามี 4 แบบหลักๆ ดังนี้

  • Attribution (ตัวย่อ by) คนนำไปใช้ต้องอ้างอิงด้วยว่าเอามาจากไหน
  • Non-Commercial (ตัวย่อ nc) ห้ามนำไปใช้เพื่อหาประโยชน์นะจ๊ะ
  • No Derivative (ตัวย่อ nd) ในกรณีที่เรารู้สึกว่าภาพวาดหรือเพลงของเรา perfect แล้ว ห้ามไปเปลี่ยนมันนะเว้ย
  • Share Alike (ตัวย่อ sa) คนที่นำผลงานของเราไปใช้ งานที่ออกมาต้องเป็น Creative Commons เหมือนกันด้วย (แถมยังต้องเป็น CC แบบเดียวกัน หรือแบบที่เข้ากันได้) จุดหมายก็คือต้องการเผยแพร่ให้เกิดงานที่เป็น CC เยอะๆ

หมายเหตุ: ถ้าใครคุ้นเคยกับ GPL ในโลกของซอฟต์แวร์ ก็จะมีลักษณะคล้ายๆ กัน (จะมองว่า GPL เป็นสัญญาแบบหนึ่งใน CC ก็พอได้ โดยจะเป็น cc-sa แต่ว่าในรายละเอียดแล้วยังใช้ด้วยกันไม่ได้ อ่านข่าว วิกิพีเดียกำลังดำเนินการเพื่อความเข้ากันได้กับครีเอทีฟคอมมอนส์ และ ครีเอทีฟคอมมอนส์มุ่งหน้าสู่รุ่น “3.5” เข้ากันได้กับวิกิพีเดียมากขึ้น ประกอบ)

เจ้าของผลงานสามารถเลือกผสมผสานเงื่อนไขทั้ง 4 แบบได้ตามต้องการครับ อย่างไรก็ตาม เพื่อรักษาการเคารพในสิทธิ์ของผู้สร้าง Creative Commons ทุกประเภทจะมี by อยู่ในเงื่อนไขเสมอ ผมขอไม่ลงรายละเอียดของ CC แต่ละแบบ และวิธีการประกาศใช้ ถ้าสนใจสามารถเข้าไปที่หน้า License Your Work ของเว็บไซต์ Creative Commons กรอกฟอร์มแล้วจะได้ตราสัญลักษณ์ของ CC ที่เหมาะกับเงื่อนไขของเรามาใช้งาน

ตัวอย่างของ Blognone ใช้สัญญาอนุญาตแบบ Creative Commons Attribution ก็แปลว่า ถ้าคุณต้องการนำเนื้อหาของ Blognone ไปใช้งาน ก็เอาไปได้เลย ขอเพียงแค่บอกว่าเอามาจาก Blognone และลิงก์มายังข่าวต้นฉบับเท่านั้น เอาไปรวมเล่ม (derivative) เพื่อขาย (commercial) ก็ได้ครับ ไม่ได้ห้ามไว้

ทำไมจึงควรใช้ Creative Commons

ก่อนอื่นผมขอย้ำว่า ไม่ใช่งานทุกชนิดที่ควรใช้ Creative Commons

งานที่เหมาะจะประกาศเป็น Creative Commons คืองานที่ตั้งใจเผยแพร่เพื่อเป็นประโยชน์แก่คนทั่วไปอยู่แล้ว (เท่านั้น) Creative Commons เป็นแค่ “เครื่องมือ” ในการตัดตอนกระบวนการเสียเวลาและเสียค่าใช้จ่ายที่ผมยกตัวอย่างให้ดูข้างต้น ออกไป

ในความเป็นจริงแล้ว คนเราสามารถใช้ทั้งลิขสิทธิ์เต็มรูปแบบ (copyright) และ Creative Commons ควบคู่กันไปได้ ตัวอย่างเช่น นาย C เป็นช่างภาพฝึกหัดที่ยังไม่มีชื่อเสียง

  • สำหรับภาพถ่ายเวอร์ชันความละเอียดต่ำที่แสดงบนเว็บ เขาประกาศว่าเป็น Creative Commons
  • ภาพเดียวกันที่ความละเอียดสูงๆ สำหรับใช้ในงานพิมพ์ เป็นลิขสิทธิ์ของนาย C ตามปกติ (และแน่นอนว่าต้องขออนุญาต)

นาย D แวะเวียนเข้ามาเห็นภาพของนาย C ว่าสวยจัง เอาไปลงเว็บของตัวเองซึ่งสามารถทำได้ทันทีเพราะนาย C ประกาศเอาไว้แล้วว่าทำได้ เผอิญว่าเว็บของนาย D มีคนเข้าเยอะมาก ภาพนั้นดันไปเตะตา บก. E เข้าให้ บก. E เห็นชื่อของนาย C ใต้ภาพ (เพราะคุณพี่ D เคารพสัญญาอนุญาต เอารูปมาลงแล้วขึ้นชื่อให้ว่าเอามาจากที่ไหน) เลยติดต่อไปยังนาย C สุดท้ายแล้วภาพที่ว่าได้ลงปกนิตยสาร FHM เป็นต้น

งานนี้ทุกฝ่ายแฮปปี้

  • นาย C ได้เงินจากการขายภาพเวอร์ชันความละเอียดสูง แถมดังเพราะรูปตัวเองได้ลงปก FHM อนาคตอาจกลายเป็นช่างภาพอันดับหนึ่งของประเทศ
  • นาย D ได้รูปไปลงเว็บให้คนอ่าน แถมดีใจเสียอีกช่วยนาย C ให้ดัง
  • บก. E ได้งานคุณภาพไปลงปกหนังสือ

เห็นประโยชน์ของ Creative Commons กันหรือยังครับ :D

มีใครใช้ Creative Commons กันแล้วบ้าง

เยอะแยะมากมายเต็มไปหมด ถ้าเอาที่ดังๆ พอให้เรียกน้ำย่อย

ของเมืองนอก

ของไทย

  • เนื้อหาในเว็บไซต์ของมหาวิทยาลัยสงขลานครินทร์ ทั้งหมดเป็น Creative Commons
  • งานวิจัยทั้งหมดบนเว็บของ TDRI (สถาบันวิจัยเพื่อพัฒนาประเทศไทย)
  • ผู้ให้บริการบล็อก GotoKnow เพิ่มตัวเลือกให้ผู้เขียนบล็อกสามารถบอกว่าเนื้อหาในบล็อกของตัวเองเป็น CC ได้ ถ้าเข้าไปดูใน G2K ตอนนี้จะมีโลโก้ CC เต็มไปหมด (Exteen กับ Diaryis ก็รีบๆ นะครับ กดดันออกอากาศเลย)
  • ผลงานของกลุ่มคนทำหนังสั้นและสื่ออิสระ บนเว็บไซต์ Fuse.in.th ในเครือ Bioscope
  • นิตยสารออนไลน์ OnOpen (หมายเหตุ: ผมไปเขียนคอลัมน์ให้เขาด้วย พื้นที่โฆษณา)
  • Joys Magazine วารสารออนไลน์ของคนรักการ์ตูน
  • บล็อกของ phuphu บล็อกเกอร์คนดัง Exteen

Creative Commons ประเทศไทย

ถาม: ทำไมต้องทำ?

ตอบ: เพราะว่า Creative Commons ต้นฉบับถูกสร้างขึ้นในสหรัฐอเมริกา ซึ่งมีระบบกฎหมายบางจุดแตกต่างจากเมืองไทย (ใครจำ Civil law/Common law สมัยเรียนมัธยมกันได้บ้าง?) จึงต้องมีการแปล ทบทวน รีวิว ตรวจแก้ กันหลายรอบให้ Creative Commons ใช้งานในไทยได้อย่างสมบูรณ์

ถาม: แล้วจะได้อะไร

ตอบ: ได้ความสบายใจว่า ถ้าเราประกาศงานของเราเป็น CC แล้วมีคนละเมิดเงื่อนไขของเรา ตอนฟ้องกันโอกาสชนะจะเพิ่มขึ้นสูงมาก เพราะว่าทีมกฎหมายได้ตรวจสอบกันแล้วว่าสัญญาที่แปลงให้ใช้งานในประเทศไทยได้ มันไม่มีอะไรขัดกับกฎหมายลิขสิทธิ์เมืองไทย

ถาม: ใครเป็นคนทำ

ตอบ: คณะกรรมการซึ่งเป็นอาสาสมัครหลายท่าน (ผมเป็นหนึ่งในนั้น รายชื่อเต็มๆ ดูได้จากเว็บไซต์ของ Creative Commons Thailand) ส่วนกระบวนการด้านกฎหมายนั้นเป็นฝีมือของสำนักงานกฎหมายธรรมนิติ ซึ่งเป็นบริษัทด้านกฎหมาย (law firm) อันดับต้นๆ ของประเทศ

ถาม: เสร็จแล้วจะเกิดผลกระทบอะไรบ้าง

หลังการแถลงข่าว ตัวสัญญาเวอร์ชันประเทศไทยจะขึ้นบนเว็บไซต์ Creative Commons อันหลัก ต่อไปก็ลิงก์ไปยังสัญญาเวอร์ชันไทยแทนที่จะเป็นสัญญาเวอร์ชันภาษาอังกฤษ (ดูตัวอย่าง สัญญาภาษาญี่ปุ่น)

ไขข้อเข้าใจผิดเกี่ยวกับ Creative Commons

  • ลิขสิทธิ์ในตัวงานยังเป็นของเจ้าของเช่นเดิม การประกาศใช้ CC เป็นแค่การบอกว่าสามารถเอาไปใช้งานได้โดยไม่ต้องขอ ในบางเงื่อนไข
  • ต่างจากการยกให้งานเป็นสาธารณะสมบัติ (public domain)
  • เจ้าของสามารถเปลี่ยนสิทธิ์ของชิ้นงานได้เสมอ (แต่งานเก่าที่เผยแพร่ออกไปแล้ว ก็จะยังใช้สัญญาอนุญาตแบบเก่าต่อไป)
  • งานคนละชิ้น สามารถใช้สัญญาอนุญาตคนละแบบได้ไม่มีปัญหา
  • เจ้าของยังสามารถขายหรือหาผลประโยชน์จากงานสร้างสรรค์ของตัวเอง ผ่านช่องทางการเจรจาใต้กรอบลิขสิทธิ์ได้เช่นเดิม (ดูตัวอย่าง C-D-E ข้างต้น)

มาใช้ Creative Commons กันเถอะ!!!

การใช้ Creative Commons

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

สุดท้ายนี้ผมขอชักชวนให้ผู้อ่าน Blognone ทุกคนที่มีบล็อก (หรือพื้นที่แสดงผลงานส่วนตัวอื่นๆ เช่น Multiply) เขียนถึงข่าว Creative Commons ฉบับประเทศไทยเสร็จสมบูรณ์ เพื่อส่งเสริมวัฒนธรรมการต่อยอดอย่างสร้างสรรค์และถูกกฎหมายในเมืองไทย คุณสามารถนำเอาบทความนี้ไปปู้ยี่ปู้ยำได้เต็มที่ (แหงล่ะ มันเป็น CC นี่) ขอเพียงแค่อ้างอิงที่มาว่ามาจากที่ไหน และผมก็ขอชักชวนอีกว่า บล็อกหรือผลงานที่คุณสร้างเสร็จแล้ว ก็น่าจะทดลองใช้ CC ด้วย (ถ้าไม่เคยใช้จะได้ลองประเดิม) สามารถประกาศเฉพาะงานชิ้นนั้นๆ ไว้ได้ต่อท้ายบทความครับ

ถ้าใครเขียนถึง Creative Commons หรือมีผลงานที่เป็น CC อยู่แล้ว และอยากเผยแพร่ (เราก็อยากรู้ว่าคุณใช้) แปะลิงก์ไว้ในคอมเมนต์กันได้ตามสะดวก ส่วนใครที่จะไปร่วมงานเปิดตัว CC ด้วย เจอกันที่งานครับ


Video about Creative Commons โดยรายการแบไต๋ไฮเทค



How to generate logo Creative Commons ?

1. click here => Licenses

5. ทำการเลือกรูปแบบการเผยแพร่ซะ และ jurisdiction of your license แต่ไม่เห็นมีประเทศเราแฮะ เดี๋ยวคงมีอ่ะ งั้นเลือก None of the above ส่วน licenses อื่นๆ จะอยู่ทางด้านขวาเรา

6. กรอกรายละเอียดเกี่ยวกับเราสิครับ ว่าจะให้อ้างอิงที่ชื่ออาไร เว็บอาไร ประมาณนั้นมั้ง Select a License ซะ

7. เลือกโลโก้สิครับพี่น้อง

8. นำ script เนี๋ยไปแปะที่บทความหรือ เว็บเรานั่นเองแล้วแต่จะ cc ทั้งเว็บหรือบาง content

9. ก็ประมาณนี้นะ ถ้าไม่มั่วหว่า CC ของเราแปะไว้ด้านล่าง เท่ดีเหมือนกัน ถึงจะไม่รู้เรื่องก็เหอะ ^^'

Notes :
  • รู้สึกว่าต้นฉบับจะ สลับระหว่าง C กับ D แฮะ เลยแก้ให้เลย
  • ตอนแรกก็ไม่รู้เรื่องอ่ะ เห็นเว็บอื่นมี อยากมีแปะเหมือนเว็บอื่นเค้ามั่งแค่นั้นเอง
  • ไม่รู้เรื่องอาไรกับเค้าเลยเรา แปะเอาเท่แค่เนี๋ยนะเรา ^^'

References:

Use TortoiseSVN via local

ใช้ TurtoiseSVN บนเครื่องเราเองไม่ต้องยุ่งกะ svn server

How to use svn client with local path by TurtoiseSVN

1. Get and install it

2. create repository project by client

# assume D:\svn_repo\project1



# right click at "project1" select "Create repository here"



# expect inside "project1" folder we will see more files and folders

3. create link between we project and repository project

# assume we have "AAA" folder is us work folder



# right click "AAA" folder and click at "SVN Checkout..."



# at URL of repository: enter file:///D:/svn_repo/project1

# at Checkout directory: enter us path of "AAA" folder and click ok

C:\Documents and Settings\Jui\Desktop\AAA

# if everything no any problem we can see about this



# and at "AAA" folder have Correct sign on it


4.after that we can do anything on "AAA" so can Add, Commit or Update or anything we need "AAA" or any file under "AAA" folder by right click and do it



5. if we want to manage repo we can do it via Repo-browser so add file or create folder in project



# จากนั้น ตามหลักสากล เราควรจะมีโฟลเดอร์ด้วยกัน 3 โฟลเดอร์ครับ คือ trunk branches tags ซึ่งเราสามารถใช้ RepoBrowser สร้างขึ้นมาได้เลย

# สำหรับทั้งสามโฟลเดอร์นั้น มีจุดประสงค์ดังนี้ครับ

trunk เอาไว้เก็บตัวโปรเจค ที่เรากำลังพัฒนาอยู่ในปัจจุบัน

branches เอาไว้เก็บ Branch ในกรณีที่เราต้องการจะลองเล่นอะไรใหม่ๆ แต่ไม่อยากจะให้กระทบกับตัวหลักใ trunk

tags สำหรับเอาไว้เก็บ Build หรือจะเอาไว้ Backup เมื่อเราทำงานเสร็จเป็นระยะๆ ก็ได้ครับ เช่น Beta 1, RC1, V1.1 เป็นต้น

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

Marking
เช็คถูก = ปกติ
! แดง = มีการแก้ไข (เราแก้เอง)
! เหลือง = ไฟล์ขัดแย้ง - conflict (ดูข้างล่าง)
บวก = เพิ่มไฟล์
กากบาท = ลบไฟล์
ไม่มี = ไฟล์ไม่ได้เชื่อมต่อกับ Server เป็นแค่ไฟล์ที่อยู่บนเครื่องเรา

References:

Friday, March 27, 2009

Install subversion server under XP

กันเหนียว หรือ ทำงานเป็นทีมอย่าง มีประสิทธิภาพ

Version control :

Enviroment :

Prerequire

1. Subversion for windows svn-1.4.6-setup.exe

Installation

1. double click svn-1.4.6-setup.exe default path is "C:\Program Files\Subversion" but we can change it to another path



2. create repository for svn server assume at D:\Repository (it similar with root folder of iis)

> mkdir D:\Repository

3. Set path "C:\Program Files\Subversion\bin" to path of system

# Control Panel => System => Advanced => Enviroment Variables

# at "System variables" double click at "Path" then "Variable value"

# append ";C:\Program Files\Subversion\bin" and click OK



4. check in just configed path by open CMD and type "path" expect output "C:\Program Files\Subversion\bin"

5. install subversion as service in windows xp by about this

> sc create svnserver binpath= "\"C:\Program Files\Subversion\bin\svnserve.exe\" --service --root D:\Repository" displayname= "svnserver" depend= tcpip start= auto

6. start svnsever service by Run => services.msc and Look at svnserver click start for svnserver or via commanline

> sc start svnserver or net start svnserver



7. check out working of svn server by this command this via check by look listened port number

> netstat -na|find ":3690"

# expect result is ":3690" TCP 0.0.0.0:3690 0.0.0.0:0 LISTENING



8. if have no any problems until step 7 it mean successfully

# วิธีการติดตั้งที่ได้พล่าม ไปเรื่อยเนี๋ยเป็นแค่ ทางเลือกหนึ่งเท่านั้นนะ ยังมีวิธีอื่นอีก เช่น เราไม่ต้องการให้ svn server เป็น service ใหน windows แต่เราต้องการรันแบบครั้งคราวก็คำสั่งนี้เลย

> start svnserve --daemon --root d:\repository

# หรือ อีกทางคือ ทำผ่าน SVNService ได้ พยายามใช้อยู่นะ แต่ทำไม่เป็นอ่ะ คือ ทำเท่าไหร่ 3690 ก็ไม่เปิดสักที

# คำสั่งเกี่ยวกับ service ที่น่ารู้

> sc config svnservice start= auto

> sc stop|start|delete svnservice

# สังเกตปะ start= แล้วเคาะ spacebar หนึ่งครั้งแล้วตามด้วย auto แล้ว enter

# อีกอย่างก่อน จะไปเรื่องการใช้งานพื้นฐาน svn port มาตรฐานของ svn server คือ 3690 เด้อ แต่เห็นเค้า(ในอินเทอร์เน็ต) บอกว่า Apache มี mod สำหร้บ svn หว่า คือ เราสามารถใช้ svn ผ่าน port 80 ว่างั้น


Usage svn client by basic command line

# หลังจากได้ทำการติดตั้ง svn server แหละ จะไม่เขียนการใช้งานเบื้องต้นก็กระไรอยู่นะเนี๋ย เขียนเป็นภาษาอังกฤษ แล้วรู้สึกหน้ามืดอยู่พักใหญ่ - -'

1. สร้าง project สำหรับเก็บงานชิ้นใหม่ ใน repository เราสิครับ

> svnadmin create d:\Repository\project

# มองดูก็คล้ายๆ กับการสร้าง virtual host ของ iis นะ

# ผลที่จะเกิดขึ้นคือ เราจะได้ folder ใหม่คือ project ซึ่งในนั้นจะมี folders และ files ประมาณเนี๋ย

folders = conf, dav, db ,hooks และ locks
files = format, README.txt

2. ที่นี้มาดูที่งานเรามั่ง สมมุติว่า งานเราอยู่ที่ folder C:\MyWork\ ซึ่งยังว่างๆ อยุ่ไม่มีไฟล์อาไรเลยนะให้เราสั่งประมาณนี้ประนี้สำหรับจะลิ้ง C:\MyWork\ กับ svn server

C:\MyProject>svn checkout svn://localhost/project

# ที่นี้ถ้าทุกอย่างโอเค ใน C:\MyProject ก็จะมี project folder ขึ้นมาอันหนึ่ง

3. เมื่อเรา link ระหว่าง C:\MyProject กับ svn://localhost/project แล้วลองเพิ่มไฟล์เข้า svn server ดังนี้

# ทดสอบโดยการสร้างไฟล์ a.txt ไปวางที่ C:\MyProject\project a.txt

# ทำการเพิ่มไฟล์ a.txt ไปที่ svn server ของเราโดย

C:\MyProject\project>svn add *

# ใช้ * แทนไฟล์ทั้งหมดใน project เราสามารถเปลี่ยน * เป็น a.txt ได้

4. คำสั่งที่น่าสนใจอื่นๆ

# หลังจากเพิ่มแหละทดสอบ update ไฟล์ a.txt ของเราดู อธิบายเพิ่มให้นิดหน่อย การ update คือ การดึง version ล่าสุดมาทับบนเครื่องเราไง

C:\MyProject\project>svn udpate *

# ทดสอบ commit เค้าหน่อยแล้วกัน การ commit ก็คือการที่เราจะนำไฟล์ที่เราได้แก้แล้วขึ้นไปยัง svn server ไง

C:\MyProject\project>svn commit * -m "test commit"

svn: Commit failed (detailts follow):
svn: Authorization failed

# แง่ว failed ซะงั้น details follow นั่นแหละ ให้เราเข้าไปที่

D:\Repository\project\conf

# ทำการแก้ข้อมูลในไฟล์ svnserve.conf โดยเอาเครื่อง # ออกซะหน้าบรรทัดเนี๋ย anon-access = read แล้วทำการเปลี่ยนเป็น anon-access = write บันทึกการเปลี่ยนค่าสิครับ

# การแก้ไขเนี๋ยคือการตั้งให้ anonymous สามารถ upload ไฟล์ขึ้น svn server ได้ประมาณนั้น อันนี้ต้องศึกษาให้ดีหน่อยสำหรับเรื่อง security นะ

# สั่ง commit ใหม่สิ (-m คือ message ใช้อธิบายการ commit ในแต่ละครั้งไง หรือบอกว่าเราแก้อาไรนั่นแหละ)

C:\MyProject\project>svn commit * -m "test commit"

# เมื่อเราทำการแก้ไขไฟล์ a.txt แล้วเราก็ต้อง commit ไปเรื่อยๆ ไง อีกอย่างคือ เค้าจะบอกด้วยว่า การ commit แต่ละครั้ง เป็น version (r[n])อาไรด้วย

# ถ้าต้องการดูรายละเอียดการแก้ไข a.txt เราสามารถใช้คำสั่ง log

C:\MyProject\project>svn log a.txt

# คำสั่งสำหรับดูว่ามีไฟล์อาไรแล้วมั่งบน svn server ผ่าน list

C:\MyProject\project>svn list svn://localhost/project

# เมื่อเราทำการแก้ไข a.txt ไปแล้วนึกได้ว่า ตูแก้ผิดนี่น่าอยาก กับไปก่อนหน้าเนี๋ย เราต้องใช้ revert ว่างั้น

C:\MyProject\project>svn revert a.txt

# ที่นี้ถ้าเราต้องการลบไฟล์ a.txt ทั้งที่ svn server(ไม่แน่ใจ) และ ที่เครื่องเราก็ใช้คำสั่ง

C:\MyProject\project>svn delete --force *

# คำสั่งรุ้แค่เนี๋ยเองหว่า เราสามารถดูคำสั่ง svn ทั้งหมดได้จาก > svn help

# หรือโหลด doc ของ TortoiseSVN มาอ่านก็น่าจะดี

# ลืมไปอีกเรื่องคือ ถ้าเราต้องการยกเลิก link ระหว่าง C:\MyProject\project กับ svn://localhost/project

# ทำได้โดย 1. การ export 2. ลบไฟล์ .svn ทั้งหมดที่อยู่ภายใต้ C:\MyProject\project

Notes:
  • ถ้าเรา project repository ลงใน svn server ด้วยโปรแกรม client เช่น TurtoiseSVN แล้ว ลองใช้ svn client เรียกไปที่ svn://host/[projectname] แบบนี้ มีปัญหาเรื่อง format อาไรของเค้าเนี๋ยอ่ะ
  • อีกกรณีคือ สร้าง project repository ด้วย TurtoiseSVN แต่ ใช้ RapidSVN ทำลิ้ง local ไป file:///[path] ก็จะไม่สามารถทำได้เช่นเดียวกัน
  • แ่ต่ถ้าสร้าง project repository ด้วย Turtoise แล้วใช้ Turtoise สร้าง link เองจะสามารถใช้การได้
  • สรุป ต้องสร้าง project repository ด้วย > svnadmin create [path] จะสามารถใช้ client เรียกผ่านได้ทั้ง local และ 3690
  • เห็นอีกตัวที่น่าสนใจก็ GIT หว่าเห็นเค้าว่า คนสร้าง linux เป็นคิดสร้าง GIT ด้วยนะ
  • แต่จะให้ง่ายลงตัวเนี๋ยจะดีกว่ามั้ยหว่า http://www.visualsvn.com คิดว่าลงง่ายกว่านะ
  • และอีกตัวที่เพื่อน koi แนะนำมาก็ sourcesafe

Manuals :

Under linux :

Refer from:
Related Link:

Thursday, March 26, 2009

Error when start subversion server service

# กล่องแสดงข้อผิดพลาด Services เกิดขึ้นเมื่อ start ผ่าน interface service (services.msc)

# พอสั่ง start service ผ่าน commanline ก็ขึ้นงี้อ่ะ

> sc start svnserver

[SC] StartService FAILED 1053:

The service did not respond to the start or control request in a timely fashion.


# เหตุเกิดเมื่อทำการติดตั้ง subversion server ให้เป็น service บน xp ด้วยคำสั่งประมาณนี้ จากที่นี่

sc create svnserver binpath= "c:\Program Files\Subversion\bin\svnserver.exe 
- -service - -root D:\repository" displayname= "Subversion" depend=tcpip start=auto

# ตอนแรกคือ พยายามติดตั้ง subversion เข้าเป็น service บน xp ติดตั้งไม่ผ่านขึ้นประมาณว่า

Creates a service entry in the registry and Service Database.
SYNTAX:
sc create [service name] [binPath= ] <option1> <option2>...
CREATE OPTIONS:
NOTE: The option name includes the equal sign.
type= <own|share|interact|kernel|filesys|rec>
(default = own)
start= <boot|system|auto|demand|disabled>
(default = demand)
error= <normal|severe|critical|ignore>
(default = normal)
binPath= <BinaryPathName>
group= <LoadOrderGroup>
tag= <yes|no>
depend= <Dependencies(separated by / (forward slash))>
obj= <AccountName|ObjectName>
(default = LocalSystem)
DisplayName= <display name>
password= <password>



# เค้าบอกประมาณว่า pattern คำสั่งไม่ตรง syntax งั้นนะ ถ้าเข้าใจถูกนะ

# ตอนแรกมั่วตั้งนาน ก็ได้วิธีแก้คือ ปรับ syntax ให้ถูกไง ^^' ก็คือ ของเราผิดที่ [binPath= ]

# binPath="path" ต้องเว้นวรรค 1 เคาะหว่า - -' เป็น binPath= "path" และ option อื่นๆ ก็เหมือนกัน

# อีกอย่าง svnserver.exe ของเราไม่ได้เขียนงี้ดิ แต่เขียนเป็น svnserve.exe

# อ้างอิงจาก svn-1.4.6-setup.exe

# พอแก้ปัญหาเรื่องการติดตั้ง ผ่านแหละ ก็ start service ไม่ได้ซะงั้น error ก็ด้านบนอ่ะ นั่นแหละ

# หาวิธีแก้อยู่ตั้งนานตอนแรกไปเจอในเว็บของ microsoft เค้า บอกให้ลง framework 1.1 sp1 ซะงั้น

# แต่เห็น comment ในบอร์ดต่างประเทศเค้าบอกว่า not avail ซะงั้น แล้วตูจะทำตามทำไมหว่า ^^'

# โชคดีหน่อยเปิด google ไปเรื่อย ๆ ไปเจอ blog ดีๆ เขียนทั้งวิธีติดตั้งและ วิธีใช้ svn client ด้วย

# ของพี่คนไทย Jdeper http://gotoknow.org/blog/jdeper/187734

# เห็นพี่เค้า quote edit จาก blog ต่างประเทศอีกที

# ทำตาม เค้าและ ติดตั้ง subversion เป็น service ตามเค้าก็ start ได้แหละครับ ^^' เกือบแย่เหมือนกัน

sc create svn.local binpath= "\"C:\Program Files\Subversion\bin\svnserve.exe\" --service --root C:\My Subversion Repository" displayname= "Subversion Repository" depend= Tcpip

# คัดลอกทำเป็น bat ไฟล์รันก็ติดตั้งเป็น service ได้แหละ เปิด services.msc แล้วก็ start เป็นใช้ไดเลย

วิธีติดตั้ง
วิธีการใช้งาน
Note:
  • พรุ่งนี้ต้องมาเขียนวิธีติดตั้งเป็นของตัวเองบ้างซะแล้ว
  • แต่เท่าที่ทำตาม blog ต่างประเทศ เค้าติดตั้ง SVNService ง่ายกว่าเยอะเลยไม่ต้องสั่ง commandline ให้เมื่อยตุ้ม
  • Get SVNService here or here
  • ตรวจสอบ netstat -na | find ":3690"


Block buddy anonymous in pidgin



# เนี๋ยเด้งมาหลายครั้งแหละ เมล์แปลกๆ เนี๋ยอ่ะ ไม่เคย add หรือ ไม่เคย accept น้า ถ้าจำไม่ผิดนะ

# ปกติเวลาจะ block ใครก็จะเปิด buddy list ขึ้นมาแล้วก็ คลิกขวา => Block เลย แค่นี้

# แต่เมล์แปลกที่ เด้งขึ้นมาไม่มีใน buddy list อ่ะดิ แล้วตูจาบล็อคไงฟะ

# ลองสำรวจเมนูของกล่องข้อความที่เด้งขึ้นมาเข้าไปที่ Conversation ก็เจอคำว่า Block แหละ ^^'


Note:
  • แต่เรา block เมล์เนี๋ยแหละ แต่ก็ยังมีเมล์แปลกๆ อันอื่นเด้งขึ้นมาประมาณนี้หว่า เป็นไรหว่า
  • เด้งขึ้นมาไม่ว่านะ แต่มันชอบเป็น พวก xxx อ่ะดิ เห็นเราเป็นคนยังไงล่ะเนี๋ย ยิ่งห้ามใจไม่ค่อยจะได้ซะด้วย
  • แต่ก็ยังไม่แน่ใจอยู่ดี เป็นเมล์เพื่อนเราป่าว น้า ถามที่ไรไม่ตอบกลับสักกะที หรือจาเป็น bot ฟะ

Server Application Unavailable with Service.asmx

Server Application Unavailable
When we open this file "Service.asmx" on localhost by aspnet user




# อันนี้ตอนเปิดด้วย studio.net 2005 และ เข้าโดยตรงโดยใช้ IE7 สามาเหตุเห็น list ได้

# เมื่อเราทำการคลิกที่ Service.asmx ซึ่งเป็นไฟล์ทดสอบตัว service ที่เราได้เขียน

# อันนี้คือ แสดงผลได้ เพราะ เปิดผ่าน studio.net อยู่



# แต่ขึ้นงี้หว่า ถ้าเปิดกับ browser โดยตรงอ่ะ น่า่จะใช้ aspnet user นะคิดว่า



# งงอย่างแรงเพราะเอา service ของเพื่อนมาลงเครื่องก็รันโดยตรงได้นี่น่าแล้วทำไมเราเขียน รันมะขึ้นหว่า

# ตูผิดตรงใหนฟะ คงไม่เกี่ยวกับโค้ดของ webmethod แน่เลยล่ะคิดว่า เพราะยังไม่ได้แก้อาไรเลยตอนสร้าง project อ่ะ

# พอลองแก้ security permission สำหรับ folder ของ webmethod ตัวนั้นเพิ่ม aspnet user เข้าไป กด Apply ลองรับ refresh IE อีกครั้ง ก็ใช้ได้แหละ

# เกือบแย่นะเนี๋ย โชคดี ที่มั่วผ่าน ^^'

Wednesday, March 25, 2009

Power up for speaking and listening in english

ที่มา : http://www.thaidvd.net/forum/upload/index.php?act=ST&f=28&t=89617

การจะพูดภาษาใดนั้นต้องเริ่มต้นด้วยการออกเสียงให้ถูกต้องก่อนแล้วจึงหัดพูดเป็น

ประโยคเราเรียนภาษาอังกฤษมาเป็นเวลานาน
แต่ไม่ได้เรียนเพื่อการพูด เท่าที่เรียนเกี่ยวกับการออกเสียงก็เพียงให้รู้จักภาษาอังกฤษ

และก็ได้เรียนกันมาโดยถูกต้องเป็นบางส่วน
เท่านั้น เราจะมาเริ่มต้นการออกเสียงอักษร 26 ตัวให้ถูกต้องดังนี้

A, a ปกติเราจะออกเสียงว่า เอ การออกเสียงที่ถูกต้องออกเสียงว่า เอ+อิ เพื่อไม่ให้ยุ่ง

ยากต่อการออกเสียงให้ทำดังนี้คือ เหยียดริมฝีปากออกให้กว้าง ออกเสียง เอ แล้วเลื่อน

ขากรรไกรพร้อมกับลิ้นสูงขึ้นเพื่อออกเสียง อิ คำใด ๆ ที่มีอักษร a อยู่ด้วยแล้วอ่านออก

เสียงอย่างที่กล่าว เช่นคำว่า day, way, cake ออกเสียง เอ เท่านั้นฝรั่งก็เข้าใจแต่ไม่ได้เป็น

เสียง
ที่เขาออกเสียงกัน


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

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

1. เมื่อพูดถึงคำว่า ภาษาอังกฤษ หลายคนจะบอกว่าพูดไม่ได้ พังไม่ออก ด้วยเหตุผล หลักๆคือ ไม่รู้คำศัพท์ (โอ๊ย อันนี้ปัญหาใหญ่เลยฮะ หลายคนนี่สะกดคำว่า ไก่ ยังไม่ถูกเลย คำส่งคำศัพท์ก็รู้แค่ ball , school , is ,he .... เวลาฝรั่งมันพูดมา ตูจะไปฟังออกได้ไงล่ะฟะ) บางคนบอกฟังไม่ออกเพราะไม่รู้แกรมม่า ไม่รู้อิเดียม สลงแสลงก็ไม่รู้จัก tenseอะไรเป็นอะไรก็งง แถมฝรั่งเจือกพูดเร็วอีก ตูยังจับคำแรกไม่ออกเลย พี่แกพูดไปอีกประโยคแล้ว
รู้ รึเปล่าเอ่ย ว่าไอ้ที่เราฟังไม่ออกนั้นน่ะ เหตุผลหลักจริงๆคือ เราออกเสียงภาษาอังกิดไม่เหมือนที่เค้าออก และเหตุผลรองคือ วิตกจริต, เขิน, อาย,กลัว....
คนอ่านเริ่มงงแล้วสิฮะ ไอ้นี่พูดแปลกๆ ตูฟังไม่ออก มันไปเกี่ยวกับพูดไม่เหมือนฝรั่งตรงไหน

2. ก่อนอื่นเลย ผมอยากให้เรารู้ธรรมชาติของภาษาอังกฤษหลักๆเอาไว้สักเล็กน้อยก่อนครับ อันอื่นๆเดี๋ยวผมแทรกๆเอา

2.1 ภาษาไทย เวลาคุณขี้เกียจพูดอะไรสักอย่างเต็มๆประโยค พี่ไทยเราจะเล่นตัดคำมันออกไปซะเลย เช่น " สวัสดีจ๊ะ อมิตา วันหยุดนี้มัโปรแกรมไปเที่ยวที่ไหนบ้างรึเปล่าจ๊ะ" พอขี้เกียจปุ๊บ จะเหลือ "ดีจ๊ะ วันหยุดนี้ไปไหนอ่ะ" เห้นมั้ยครับ เราเล่นตัดมันออกหมดเลย ประธานหาย กรรมก็มะรู้ไปอยู่ที่ไหน แต่ถามว่าเข้าใจไหม่ล่ะว่าพูดว่าอะไร ก็ต้องตอบว่าเข้าใจครับ
แต่ไอ้เจ้าภาษาประกิดเนี่ย ฝรั่งเวลามันขี้เกียจพูด มันตัดคำออกไม่ได้ครับ เช่น มันจะถาม ประโยคเดิมมะกี้
ถามเต็มๆ --> Where're you going for your holiday ?
ถามเเบขี้เกียจ --> Where're you going for your holiday ? เหมือนเดิมครับ เพียงแต่เวลาพูดคราวนี้ เค้าจะพูดให้คุณได้ยินชัดๆแค่
Where.....going.....holiday ? ถามว่าแล้วไอ้ ประโยคที่เหลือมันหายไปไหนซะล่ะ คำตอบก็คือ มันไม่ได้หายไปไหนหรอกครับ แค่ฝรั่งเค้าพูดแบบอ่อนๆแบบวีคๆ นั่นก็คือเวลาฝรั่งขี้เกียจพูด เค้าจะพูดสิ่งที่ไม่สำคัญจริงๆแบบวีคๆ หรือ weak form นั่นเองครับ
weak form นั่นแหละที่เราๆงงกัน เวลาฝรั่งมันพูดรัวมากๆ เร็วจิงๆ ปรื๋อๆเลย พี่ไทยก็จะพยามจับให้ได้ซะทุกคำที่เค้าพูด อย่างงี้มันไม่สำเสร็จหรอกครับ เค้าอุตส่าห์ออกเสียงให้ได้ยินชัดๆในสิ่งที่สำคัญๆที่เค้าต้องการสื่อสารให้ เราทราบ ไอ้เราก็มัวแต่ไปนั่งเเกะความหมายของคำพูดที่เบลอๆฟังไม่ออกอยู่ แล้วมันจะฟังทันมั้ยล่ะเนี่ย

2.2 นอกจากเค้าจะพูดเบลอๆในสิ่งที่ไม่สำคัญ ในสิ่งที่ไม่ใช่ข้อความหลักแล้ว บางทีเค้ายังพูดเอาคำสองคำมาเชือ่มติดกัน หรือ linking sound นั่นเอง หลายๆคนอาจจะอ๋อแล้วครับ ก็อย่างเช่น จะพูดว่า going to , want to เราก็พูดสั้นๆง่ายๆว่า gonna , wanna แทน
แต่จริงๆแล้ว ภาษาอังกฤษเวลาพูดในประโยค มันจะลิงค์กันเยอะมากๆครับ เช่น จะพูดว่า " I should like a glass of milk and an apple " คุณจะไม่ได้ยินฝรั่งพูดออกมาชัดๆว่า " ไอ ชุ๊ด ไลค์ อะ กลาส ออฟ มิลค์ แอนด์ แอน แอปเปิ้ล" หรอกครับ แต่คุณจะได้ยินเป็น " I d like ka glass sof milk kan dan napple" คือ เสียงพยางค์ท้ายของคำก่อน มันจาไป mix กันกับพยางค์แรกของตัวถัดมาครับ พี่ไทยเวลาท่องเวลาเรียน ก็เรียนออกเสียงแต่ตัวเดี่ยวๆมาตลอด พอมาเจอแบบนี้เข้า ก็เลยนึกว่าเค้าพูดคำศัพท์คำใหม่ที่เราไม่รู้ ก็พาลฟังมันไม่ออกไปซะงั้น

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

หรือ อันนึงที่เห็นช้าดชัด พี่ไทยเรียกผักเขียวๆที่กินกันอยู่เนี่ยว่า " เว็จ เจ้ด เท เบิ้ล" วันนึงเจอฝรั่งมาขอซื้อ " เว็จ-ทะ บึล" แล้วอย่างงี้มันจาหยิบให้ถูกอันมั้ยฮะ วิชาการตลาดพี่ไทยก็เรียก " มา เก็ด ติ้ง" เเหมเน้นเก็ดซะสูงเชียะ ฝรั่งเรียก"ม้า-ขึด ทิ่ง" แล้วตกลงเรียนวิชาเดียวกันรึเปล่าเอ่ย

เพราะอย่างงี้ไงครับ คุณต้องออกเสียงให้ได้เหมือนเค้า มันถึงจะจูนกันได้ถูกว่าแกพูดเรื่องไรอยู่ ฝรั่งพูดมาว่า คะ-วีน (ราชินี) พี่ไทยควบเหลือ "ควีน" อย่างงี้ตีกันตายฮะ มะต้องพูดแย้ว

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

ขั้นตอนการฝึกเปลี่ยนเสียง
- เอาหนังฝรั่งมาเปิดเรื่องนึง ปิด สัปออกให้หมด แม้เเต่สัปอังกฤษก็ห้ามเปิดเด็ดขาด ถ้าเป็นวีซีดี เอาสก็อดเทปทึปมาปิดไว้หน้าจอ
- เปิดหนังแล้วพูดตามพร้อมมันไปเลย ไม่ต้องเป็นประโยค ไม่ต้องให้รู้เรื่อง ไม่ต้องพูดถูก ได้ยินยังไง พูดอย่างงั้น เป็นภาษาต่างดาวก็ไม่เป็นไรครับ อย่าทำเก่งแกะคำออกเด็ดขาด ห้ามฟังออกโดยเด็ดขาดว่ามันพูดว่าอะไร (ยกเว้นไอ้พวกคำว่า yes ,no เนี่ย อันนี้ต้องออกนะจ๊ะ ไม่งั้นไม่ต้องฝึกแล้ว) ที่สำคัญให้พูดพร้อมวินาทีต่อวินาทีไปกับหนังเลย อย่ากังวลเด็ดขาดว่าจะพูดไม่ทัน บอกว่าว่าได้ยินยังไงพูดหยั่งงั้น เพราะงั้นไม่ต้องรอให้มันพูดจบประโยคแรกแล้วเราค่อยพูดตามนะครับ ย้ำอีกทีว่าต้องพูดพร้อมกันเลย มันพูดไปถึงตรงไหนเราก็ตามไปให้ติด ไม่จำเป็นต้องเก็บหมดทุกคำ เพราะมันเป็นไปไม่ได้ อันไหนได้ยินชัดก็ออกเสียงตามชัด อันไหนมันพูดเบลอๆเราก็เบลอๆ เออๆออๆ ตามไปให้โทนเสียงใกล้ๆกันเป็นใช้ได้ครับ
- อันนี้สำคัญ เวลาพูดตาม Acting ตามไปด้วย พระเอกมันตะคอกด่านางเอง แล้วทุบโต๊ะ เราก็พูดเสียงตะคอกๆมั่ง ทุบที่นั่งเราตามไปด้วย ไม่งั้น มันไม่อินนะครับ แล้วจะสำเร็จยาก ไม่เชื่อคอยดูเถอะ
- ทำอย่างงี้ทุกวันครับ อาทิตย์แรกๆ จะพูดตามมันไม่ทันมันหรอกครับ เอาเท่าที่จับได้แล้วพูดตามก็พอ อาทิตย์ต่อๆมา มันจะเริ่มลื่นเอง มันจะเริ่มไหลเอง จะมีเสียงสูงๆต่ำๆขึ้นลงเองครับ แต่ยังไงก็ไม่มีทางฟังเค้าออกทุกคำหรอกนะครับจำไว้ ไอ้ที่เค้าพุดเบลอๆ เราก็พูดเบลอๆให้โทนเสียงมันใกล้ๆกัน โอเคแล้ว
- ถ้าฝึกทุกวัน วันละ1-2 เรื่อง 1-1เดอืนครึ่งครับ เสียงเปลี่ยนทันที เวลาพูดเสียงจะเริ่มแตก มีฟุดๆฟิดเล็ดๆออกมาเวลาพดูคำไทยๆ ลิ้นจะเริ่มอ่อนกว่าปกติ เวลาพูดตัว ด ,ท มันจะดันๆเพดานปากชอบกล

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

4. ในขณะที่เราฝึกเปลี่ยนเสียง เราก็ได้ฝึกการพูดไปด้วยนะครับ เเต่เวลาเอามาใช้จริงๆ ถามว่าทำไงถึงพูดภาษาอังกฤษแบบไม่ต้องคิดก็พูดออกมาได้เลย มันมีวิธีด้วยเหรอ?

อย่างที่ถามไปมะกี้ คุณคิดว่าคุณพูดภาษาอังกฤษไม่ได้เพราะอะไรครับ

- ไม่รู้คำศัพท์ ผมอยากถามว่าถ้าผมจะให้คุณพูดภาษาอังกฤษประโยคนี้ครับ " (สมมติเห็นแมงสาปวิ่งมาทางเรา) ว้ายๆ เเมลงสาปอ่ะ เอามันไปไกลๆ อย่าไปฆ่ามันนะ โยนไปโน่นดิ ว้าย!!! " โอเค ประโยคนี้ท่าจะมีคำยากอยู่คำเดียว คือแมลงสาป คำอื่นๆ มัน=it ไกล=far ฆ่า=kill โยน=throw สมมติว่าผมให้คำศัพท์ที่แปลว่าแมลงสาปกับคุณ คุณคิดว่าคุณจะพูดได้มั้ยครับ อ้าว!ก็ไหนบอกพูดไม่ได้เพราะไม่รู้ศัพท์นี่นา ก็นี่ให้ศัพท์ไปหมดแล้วอ่ะ จิงมะ

- พูดไม่ได้ เพราะไม่รุ้แกรมม่า โอเคครับ อันนี้ยาวหน่อย คุณจำได้มั้ยเอ่ย ว่าที่คุณใช้ภาษาไทยกันอยู่ทุกวันๆนี้อ่ะ มันก้มีไวยากรณ์ของภาษาไทยทุกประโยคใช่มั้ยครับ ผมถามหน่อยครับ มีใครกล้ายกมือมั้ยฮะว่าคุณใช้ภาษาไทยไม่ผิดเลย (เงียบ...)
แล้วทำม้าย ทำไม เราถึงได้กลัวกันนักกันหนาว่าใช้ Grammar ภาษาอังกฤษผิดแล้วชีวิตจะฉิบหายวายวอด

คุณๆ จำได้มั้ยครับ ว่าตอนคุณเด็กๆที่พ่อแม่อุ้มดื่มนมน่ะ จาภาษาไหนๆคุณก็ฟังไม่ออกพูดไม่ได้ทั้งนั้นแหละ ได้อยู่แค่ แงๆๆเท่านั้น แล้วคุณพ่อ คุณแม่คุณก็เริ่มสอนคุณพูดภาษาไทย มีพ่อแม่บ้านไหนมั้ยครับ ที่สอนลูกอย่างงี้

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

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

- พูดไม่ได้ เพราะใช้ Tense ไม่เป็น หลายคนบอกว่าตัวเองใช้tense ผิด จะไปพูดได้ยยังไงกันล่ะจ๊ะ
ไอ้ Tense ที่เราๆท่านๆเข้าใจกันทุกวันนี้น่ะ แน่ใจแล้วเหรอว่าเข้าใจกันถูกแล้ว เวลาผมถามใครว่า Tense ใช้ยังไง คำตอบส่วนใหญ่เป็นงี้ครับ " ใช้ตามเวลาจ๊ะ ปัจจุบันใช้ present อดีตใช้ past tense อนาตต ใช้ฟิวเจอร" พอผมถามต่อไปว่า แล้วไอ้ past tense กับ present perfect tense เนี่ย มันต่างกันไง เค้าก็ตอบว่า " past tense ใช้กับเหตุการณ์ที่เกิดขึ้นในอดีต ส่วนpresent perfect tense เนี่ย ใช้กับเหตุการณ์ที่เกิดขึ้นในอดีตแล้วดำเนินต่อมาจนถึงปัจจุบัน"

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

อาจ จะยังงงกันอยู่ ผมยกตัวอย่างแล้วกันครับ แต่กอ่นนี้มันจะมีข่าวภาคเช้า ช่อง5หรือ 11 ผมจำไม่ได้ฮะ เป็น Good Morning News ข่าวภาษาอังกฤษภาคเช้าครับ เนื้อข่าวที่เค้าจะเล่าให้ฟังก็จะเป็นเหตุการณ์ที่เกิดขึ้นเมือ่คืนก่อนครับ เช่น รถบรรทุกประสานงากัน งี้เป้นต้น แต่เวลาอ่านข่าว เค้าใช้ Present tense ครับ ไม่ว่าจะเป็น simple หรือ continueous ก็ตาม อย่างงี้ถ้านักภาษาศาสตร์มาเห็นดิ้นตายเลยนะครับ เพราะมันต้องใช้ past tense เเน่ๆ ก็เรื่องมันเกิดขึ้นไปแล้วอ่ะ แต่ผู้บริหารรายการเค้าเป็นฝรั่งแท้ๆครับ อาจารย์ผมก็อยากรู้ครับ แต่อายไม่กล้าถามก็เลยไปลองเรียบๆถามเพื่อนนักอ่านข่าวด้วยกันดูก่อน "เอ่อ ทำไมใช้ present tense ล่ะคะ ก็มันเกิดไปแล้วนี่นา" เพื่อนเค้าตอบกลับมาว่า "อ๋อ อยากให้ข่าวดูสดน่ะ" อาจารย์ผมนึกว่าเค้าพูดเล่นฮะ ไปถามคนอื่นๆ เค้าก็ตอบเเบบเดียวกันหมด จนทนไมไหว ไปถามฝรั่งที่คุมรายการ ถึงได้บางอ้อมาว่า เค้าต้องการให้ผู้ฟังรู้สึกว่าข่าวที่กะลังฟังอยุ่ มันสดใหม่ เหมือนกะลังเกิดขึ้นเลย

นั่นก็คือ การใช้ tense มันอยู่ที่ความรู้สึกต่างหากครับ ว่าคุณอยากจะให้คนที่คุณคุยด้วยเค้ารู้สึกยังไง ไอ้ present perfect tense ที่คุณๆท่องกันมาแทบตายแต่เเรกน่ะลองดูนะครับ
สมมุตเหตุการณ์ให้ครับ คุณเป็นผู้หญิง แล้วเคยไปฆ่าผุ้ชายตายเมื่อ 10 ปีก่อน
วันนึงเล่าให้เพื่อนฟังถึงสิ่งที่เคยทำมาก่อน
ใช้ past tense : I killed him.
ใช้ present perfect tense : I've killed him.
ทั้งคู่ใช้ถูกทั้งคู่ครับ ไม่ผิดแกรมม่า ไม่ผิดไวยากรณ์เลย แต่ความรู้สึกที่เพื่อนคุณได้รับจากการคุยกัน ต่างกันครับ
ถ้า คุณบอก I killed him. = อ๋อ เออฉันเคยฆ่ามันตายเมื่อสิบปีก่อนแหละ ความรู้สึกที่เพื่อนคุยจะได้ก็คือ เค้าจารู้สึกเฉยๆฮะ คือรับรู้แล้วว่าเมื่อสิบบีก่อน คุณฆ่าไอ้คนนี้ตาย แล้วก็จบ แค่นั้น แค่ถ้าคุณพูดว่า I've killed him. อันนี้เพื่อนคุณจะเห้นภาพขึ้นมาทันทีฮะว่า ตอนคุณพูดเนี่ย ความหลังมันฝังลึกในใจคุณ คุณยังเจ้บเเค้นไอ้คนนั้นอยู่ที่ไปมีคนใหม่ คุณยังนึกภาพเห้นมือตัวเองเปื้อนเลือดที่แทงมันอยู่เลย
ก็แค่นั้นแหละ ครับ ใช้เฟอร์เฟก ถ้าอยากให้คนที่คุณคุยด้วยรู้สึกว่าคุณยังแคร์ คุณยังนึงถึง ยังนึกภาพ ภาพยังติดตา ฯ ใช้ past ถ้าอยากให้เพื่อนคุณรู้ว่ามีไรเกิดขึ้นในอตีดบ้าง โดยใช้ simple ถ้าอยากให้เพื่อนของคุณเห็นเหตุการณ์ในอดีตที่เกิดขึ้นเป็นฉากๆ เหมือนดูรูปถ่ายทีละใบ และใช้ continueous ถ้าอยากให้เพื่อนของคุณเห็นเหตุการณ์ในอดีตที่เกิดขึ้นเป็นเรื่องราวที่มี การเคลื่อนไหว เหมือนการดูภาพยนต์

ทีนี้คุณก็รู้เเล้วล่ะครับ ว่าไอ้ที่พูดไม่ได้ พูดไม่ออก จุกอยู่ตรงคอยหอยเนี่ย มันไม่ได้เป็นเพราะไม่รู้ศัพท์ ไม่รู้แกรมม่า หรือไม่รู้ tense ฝรั่งแท้ๆเองก็ยังใช้แกรมม่าผิดครับ เด็กฝรั่งครอบครัวนึงที่ผมเคยไปหา อายุประมาณ 5-6 ขวบครับ ยังพูดได้แต่ present กับ past sim ,con พูดเฟอร์เฟกได้นิดหน่อย แต่ยังไม่เก่งเพราะมันยังซับซ้อนอยู่ แกรมม่าแกก็ใช้ผิดครับ ผมถามแก่ว่า Danny,where's your daddy. แกตอบว่า he go to work. แกรมม่าผิดเต็มๆ พ่อแกไม่ได้อยู่นี่เป็นสรรพนามบุรุษที่สาม กริยาต้องเติม s
เห็นมั้ยครับ ต่อให้เจ้าของภาษาเอาเค้าก้ยังพูดแกรมมม่าผิด และถึงต่อให้คุณใช้แกรมม่าถูกต้อง 100% ฝรั่งไม่รู้เรื่องก็มีนะครับ

อัน นี้เป็นเรื่องจริงที่อาจารย์ผมมาเล่าให้ฟังฮะ วันนึงมีฝรั่งเอาซองเอกสารไปยื่นที่กรม.. ฝรั่งแกก็หิ้ว ผู้หญิงอย่างว่า ไปด้วยอ่ะครับ คงกะว่าจะไปต่อกัน วันนั้นเลขานุการเป็นคนรับเรื่องพอดีครับ เธอจบมาจากเมืองนอกเลยครับ แกรมม่าฟิตมากๆ ฝรั่งถามว่าจะเอาเอาสารไปวางไว้ที่ไหนได้ แกก็ตอบซะยืดยาวเชียว พูดจบฝรั่งก็ทำหน้างงนิดๆแล้วถามว่า What? เลขาแกก็อึ้งไปเลยครับ พอดีผู้หญิงหากินที่มาด้วยแกก็แทรกขึ้นมา you you (สะกิดฝรั่ง) left ! (พูดกระแดะเต้มที่ ) แล้วก็ชี้มือไปทางซ้าย ฝรั่งบอก Oh! i see.
อยาก พูดภาษาอังกฤษได้ ต้องไม่อายครับ ไม่กลัวโน่นกลัวนี่ เพื่อนฝรั่งผมหลายคนบอกว่าแกรำคาญ เวลาคุยกะคนไทยแล้วคิดนานมาก กว่าจะเรียบเรียงประโยคได้นี่ เป็นนาที ยิ่งคนเรียนสูงๆนี่ยิ่งเป็นหนัก ไม่เหมือนพวกสาวๆพาณิชย์ เวลาฝรั่งไปจีบ พูดออกมาไม่เป้นประโยคเลย บางทีได้เป็นคำๆ eat here ฝรั่งก็รู้เรื่องนะครัยว่า ตกลงจะกินกันตรงนี้

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

5 การพูดภาษาอังกิดอย่างอัตโนมัติ
คำว่า อัตโนมัติของผม ก้คือการพูดออกมาเลยโดยไม่ต้องคิดผ่านภาษาไทยไงครับ คุณอาจจะงง หา ทำได้ด้วยเหรอ
ปัญหาสำคัญอย่างแรงของคนไทยเวลาจะพูดภาษาอังกิดคือ คิดเป็นประโยคไทย แล้ว แปลเป็นอังกฤษ

ลองดูเหตุการณ์นี้ครับ
มี โจรมาปล้นธนาคาร ตำรวจมาถึง โจรวิ่ง หนี ตำรวจตะโกนว่า " หยุดนะ เราล้อมที่นี่ไว้หมดแล้ว" (พูดกับเพื่อนตำรวจด้วยกัน)"พวกเรามีกำลังมากกว่ามัน และมันไม่มีอาวุธ"
คน ไทยเวลาพูด ปัญหาจะเกิดอย่างงี้ครับ " Stop !! we are around here " "We have power more than him . And he has no weapon" ว่าไงครับ ใกล้เคียงกับประโยคที่คุณๆจะพูดกันมั้ยเนี่ย มีอยุ่วันนึงฮะ ผมดูหนังอยุ่ เป้นฉากแบบนี้พอดี พอโจรจะวิ่งหนีปั๊บ ตำรวจตะโกนเลยครับ
" Freeze !!. " ผมเองก็ แวป ในตอนนั้นแหละครับ ไอ้ freeze เนี่ย ผมพอจะเข้าใจว่ามันมาหมายถึงเย็นๆเเข็งๆ เหมือน freezer ในตู้เย็น พอผมได้ยินปั๊บ มันปิ๊ง ขึ้นมาในหัวเลยฮะ ว่าไอ้ที่ตำรวจต้องการเนี่ย คือให้โจรหยุด และอย่าชยับ
" He's an unarmed " อันนี้ตอนแรกผมก็ยังไม่ get หรอกฮะ แต่ก็เฉยๆ พอดูรวมๆรู้เรื่องว่า มันเป้นฉากที่ตำรวจกะลังจับโจร และตำรวจกะลังสื่อสารบางอย่างให้โจรมอบตัว หรือไรประมาณนี้ ผมก็โอเคแล้วครับ ไม่เห้นจำเป็นเลยว่าต้องแปลออกทุกคำทุกประโยค
จนวันหลังมา ผมดูหนังสงครามผมก็ได้ยินคำว่า arm โผล่มาอีก ซักพักก็ army ผมก็เลยแวปขึ้นมาในหัวเลย ว่าอ๋อ สงสัยไอ้ arm เนี่ยอาจหมายถึงอะไรเกี่ยวกับทหาร หรืออะไรสักอย่างสู้ๆรบๆกัน แล้วผมก้เดาถูกครับ มารู้ทีหลัวว่า arm นอกจากจะแปลว่าแขนแล้ว ยังแปลว่าอาวุธอีกด้วย

ที่พูดมาทั้งหมดเนี่ย อยากจะบอกว่าให้เลิกคิดไทย แล้วแปลเป้นภาษาอังกิดซะครับ เพราะมันจะวิบัติหมด ไม่มีภาษาไหนในโลกสารมารถแปลกันคำต่อคำได้หรอกฮะ

คำถามก็เกิดขึ้น ไม่ให้ตูคิดไทยก่อน จะให้พูดไงล่ะฟะ --> ลองดุประโยคคำถามต่อไปนี้ครับ แล้วตอบในใจเลยนะครับ
What's your name ?
How are you ?
สอง อันบน คุณต้องคิดก่อนตอบมั้ยครับ ไม่เลยใช่มั้ยฮะ ปากมันโพล่งออกไปเลยโดยอัตโนมัติใช่รึเปล่า ทั้งนี้ทั้งนั้นเป้นเพระาว่าคุณมีประโยคคำตอบ คำถามเหล่านี้ เก็บเอาไว้ในหัว เป้นประโยคอัตโนมัติน่ะสิครับ

เพื่อนผมคนนึง มันชอบฝรั่งคนนึงมาก แอบรักอ่ะว่างั้น วันนึงมันกะลังจะเดินออกจากมหาลัย เห้นฝรั่งเดินสวนเข้ามาในมหาลัยพอดี มันก้เตรียมไว้ในใจเลยว่า " I'm fine thank you,and you" ท่องไว้เต้มที่เพราะคิดว่า ฝรั่งต้องทักแน่ๆว่า " how are you?" หลังจากเพื่อนผมเก็กสวยเสร็จ ก็เดินเข้าไปอย่างมั่นใจ --> ฝรั่งหันมาเห้นพอดี --> เพื่อนผมกำลังจะเปิดปากพูดประโยคที่เตรียมไว้
--> ฝรั่งถาม hi ! How's it going. อึ้งสิครับทีนี้ แม่งเจือกไม่ถามอย่างที่ตูเตรียมมา เพื่อนผมก็เลยตอบไปว่า I'm going home. ฝรั่งเค้าก็ทำหน้างงๆ

จริงๆแล้วที่ฝรั่งถาม มันก้ถามว่าสบายดีมั้ยนั่นแหละ แต่จะพูดกันกับเพื่อนๆหรือคนสนิทๆกัน ผมเองก่อนนั้นก้ไม่รู้หรอกครับ จนได้มาดูหนัง เรื่อง Queer as Folk ตอนแรกสุด ภาคเเรกสุดเลย ที่ไบรอันเจอจัสตินครั้งแรกเเล้วก็เข้าไปถามประโยคนี้นั่นแหละครับ

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

ถ้าเป็นฉากในหนัง เพื่อนพระเอกก้มลงไปหยิบกุญเเจบนพื้น พระเอกเดินมาเจอ (ชี้ไปที่กุญแจ) "where did you get that"
เรา ก็พูดอย่างพระเอกมั่ง ชี้มือไปจิ้มลมข้างหน้าเราเสมือนหนึ่งว่ามีอะไรสักอย่างอยุ่ สร้างความรู้สึกสงสัยขึ้นมาในสมองเลยครับ คือสงสัยว่าเพื่อนตูมันไปเอาไอ้สิ่งนี้มาจากไหน พอวันหลังเกิดคุณคุยๆกับเพื่อนอยู่ เพื่อนเอาเสื้อตัวใหม่มาโชว์ สวยมากๆ พอคุณเกิดความรู้สึกสงสัยขึ้นมาปุ๊บว่ามันไปเอามาจากไหน คุณก็จะจิ้มเสื้อ แล้วถามว่า "where did you get that " ทันทีครับ นั่นแหละครับ ที่ผมเรียกว่าอันโนมัติ การจะมีประโยคพวกนี้มาตุนในหัว มากน้อยแค่ไหน ขึ้นกับอยู่กับการขยันฝึกครับ

นอกจากการฝึกอย่างงี้จะทำให้เราได้ประโยคอัตโนมัติมาเก็บไว้แล้ว เรายังได้ feel ของภาษามาด้วยครับ ตัวอย่าเช่น ถ้าพูดถึงคำว่า
" Shut up " หลายคนจะนึกถึงคำว่า หุปปาก ทันทีเลยใช่มั้ยฮะ เมื่อก่อนผมก็เหมือนกันครับ
วัน นั้นผมดู The Princess Diairy ครับ เป็นฉากที่ราชินีที่เป้นย่า กะลังจะบอก Mia ที่เป็นหลานว่าเค้าเป็นเจ้าหญิง พอมีอารู้แล้วเค้าโผล่งคำว่า Shut up! shut up ออกมาครับ
ตอนนั้นผมก็ไม่ได้สนใจไรมากหรอกครับ แต่มันติดไว้ในเครื่อข่ายสมองซะเเล้ว ว่าทำไมถึงพูดกับย่าตัวเองแบบนั้น (เพื่อนๆจะไม่ได้สังเกตุหรอกครับ เพราะมัวแต่อ่านสัปไทยกันอยู่ ดีไม่ได้ฟังพากย์ไทยเลยด้วยซ้ำ) ผมมาเจอคำนี้อีกทีในเรื่อง Freaky Friday ครับ ที่ลินด์เซ่เล่นน่ะครับแล้วแกสลับร่างกะคุณแม่ มีอยู่ตอนนึงที่มีคนมาบอกลินด์ว่าวงดนตรีเก่าที่ทางร้านเลือกไว้ยกเลิกไป เลยจะมาเลือกวงของลินด์เเทน เค้ากับเพื่อนๆก็ดีใจกันใหญ่เลยครับ ตะโกนว่า Shut up! shut up กันใหญ่ ผมก็เลยถึงบางอ้อว่า ไอ้ที่พูดๆกันเนี่ย คงเป็นความรู้สึกประมาณว่า เจอสิ่งที่ไม่น่าเชื่อ ประมาณว่าอุ๊ยตาย จริงเหรอ ประมาณนี้
จนล่าสุด ผมได้ไปดูหนังเรื่อง Meangirl ที่โรงมา มีฉากนึงพวกเเก๊งสาวแสบ ชวนลินดืไปนั่งที่โต๊ะด้วย ลินด์บอกพวกเธอว่าเธอเรียนที่บ้านด้วยตัวเองมาตลอด ไม่เคยเรียนที่โรงเรียนเลย พวกนั้นก็บอก Shut up .Shut up ลินด์แกทำหน้างง แล้วบอกว่า I didn't say anything. เชื่อมั้ยครับ ในโรงหนังทั้งโรง มีผมกับฝรั่งที่นั่งข้างหน้า หัวเราะกันอยู่สองคน นอกนั้นก็นั่งเฉยๆเหมือนไม่เข้าใจมุข คือผมขำในความเปิ่นของลินด์ในเรื่อง ที่เเม้แต่คำว่า shut up ที่เป็นภาษาวัยรุ่นก็ยังไม่รู้จัก ลินด์ในเรื่องไปเข้าใจว่า shut up แปลว่าหุปปาก แกก็เลยตอบว่า ฉันยังไม่ได้พูดอะไรเลย เจอมุขแบบนี้เข้าไปคนบรรยายไม่มีทางแปลให้คนไทยที่อ่านสัปหัวเราะได้หรอก ครับ นอกจากจะมีวงเล็บอธิบายไว้


ร่ายกันมานาน ผมเมือ่ยมือแล้วครับ ที่จริงการฝึกอ่านภาษาอังกฤษ ผมก็มีวิธี แต่ถ้าไม่มีใครอยากรู้ผมก็ไม่เขียนนะครับ ยาวอ่ะ

จำคำนี้ไว้นะครับ

1. ถ้าอยากเก่ง อยากพูดได้ อยากฟังออก ต้องฝึกทุกวัน ไม่ใช่พออ่านจบก็มีใจฮึกเหิม พอพรุ่งนี้ก็บอกว่าไว้ก่อนๆ ผลัดๆไปอีก ถ้าคุณดูหนังได้ทุกวัน วันละ อย่างงน้อย 2 ชม. ติดต่อทุกวัน 1-1.5 เดอืน เสียงเปลี่ยน 3เดือน พูดอัตโนมัติได้ในประโยคสั้นๆ-กลาง

2. ถ้าคุณต้มน้ำวันนี้รวดเดียว 20 นาที น้ำมันเดือดครับ แต่ถ้าคุณต้มวันนี้ที 4 นาที มะรืนเอาอีก 4 จนครบ 5วัน ยังไงน้ำก็ไม่เดือดครับ เพราะฉะนั้น ต้องขยันนะครับ อย่าผลัด

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

4. เวลาดุหนัง ให้ดูกับหนังจริงๆ ไม่ใช่ไอ้พวกเทปฝึกภาษา ที่พูดช้าๆเนิปๆ ให้ได้ยินชัดๆ ในโลกความเป้นจริงเค้าพูดกันยังไงฝึกระดับนั้นนะครับ

5. หนังที่ดู เลือกเรื่องปกติๆหน่อย ไอ้ประเภทหนังสงคราม ทั้งเรื่องได้ยินแต่ห่ากระสุน หรือหนังสยองขวัญทั้งเรื่องนางเอกวิ่งหนีฆาตกรโรคจิตนั้น บทพูดมันน้อยครับ แล้วโอกาสจริงๆที่คุณจะไปบัญชาการการรบ หรือด่าใส่ฆาตกรมันน้อยครับ พูดตามไปก็ใช้ได้ครับ แต่มันกินเวลาแล้วบางทีก็มะได้ใช้ เหมือนกับการเรียนการสอนของไทย จำได้มั้ยครับว่าตอนเรียนภาษาอังกฤษคุณเริ่มจากไหนก่อน
a , b ,c ( ท่องเอบีซีครับ) จากนั้นก็เริ่มเป้นคำ a ant มด b bird นก จากนั้นก็เริ่มประโยคกันเลย ประโยคแรกที่คุรณเคยเรียนมา ไม่พ้นอันนี้แน่ครับ " This is a book " . ใช่มั้ยครับ ผมถามหน่อยเถอะ ตั้งแต่เรียนมาจนอายุปูนนี้กันเนี่ย เคยได้เอาไอ้ประโยคนี้ไปใช้พูดกับมนุษย์ปกติที่ไหนมั่งมั้ยครับ

6. ข้ออ้างส่วนมากของคนไม่ฝึก คือ ไม่มีเวลา จำไว้นะครับ ไม่ใช่เราไม่มีเวลา แต่เราบริหารเวลาที่เรามีอยุ่ไม่เป้นต่างหาก คนที่สอนผมเป้นคนที่ยุ่งกว่าคนปกติสิบเท่าครับ (อันนี้พูดเรืองจริง) แต่เค้าก็ยังมีเวลามาดูหนังครับ

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

แต่กอ่นน ผมเคยเป็นคนนึงที่ดุหนังบรรยายไทย โกรดเวลามันบรรยายไม่รู้เรื่อง โกรดเวลาไม่มีบรรยาย โกรดเวลามีแต่พากย์ไทย โกรดที่ต้องรออ่านแฮรี่เล่มแปลไทย

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

ที่ หลายคนบอกว่าดูหนังแล้วฟังไม่รู้เรื่อง ผมถามหน่อยว่า ดูไปกี่ประโยคแล้วครับ ดูหนัง 5 นาทีแล้วบอกว่าไม่รู้เรื่อง ผมยังว่ามันเร็วไปเลยครับที่จะตัดสิน ลองดูกันครับ ลองพยามดู แล้วจะรู้สึกดีมากๆนะครับเวลาพูดภาษาออกไปแล้วฝรั่งชมเนี่ย

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

และบอกตั้งแต่ต้นแล้วว่าอันนี้เป็นเพียงความคิดส่วนตัว หากมีคนไม่เห้นด้วย เป้นเรื่องธรรมดาครับ ขอโทษไว้ตรงนี้ด้วยฮะ --------------------
ขอบคุณ ----- Fu_Fighter มากครับ

Popular Posts