เรื่องเล่า Twitter 21/04/2011 – 27/04/2011

  • ตั้งแต่ปลายปีที่แล้วมีการใช้เงิน ไปในส่วนที่ไม่จำเป็น เป็นจำนวนมากปีนี้ก็ตัดสินใจพลาด + iPhone หายถึงว่า เขาบอกปีนี้เราให้ดูแลเรื่องเงิน >.< 2011-04-23
  • คนน่ารักมักใจร้าย งิงิ ชอบเพลงนี้จัง 2011-04-23
  • พึงทำ Query แบบมี Condition แบบสมการเลขเสร็จไม่โหดมากสนุกด้วย 2011-04-23
  • GreenDish น่าไปลองกินอะ 2011-04-24
  • NuuNeoI - อีกหนึ่งเหตุธุรกิจซอฟต์แวร์ไทยไม่พัฒนา http://t.co/ezrlCSe via @nuuneoi 2011-04-24
  • วิธีใช้เงื่อนไข IF , Sub-Query ฯลฯใน MySQL เพื่อให้ได้ผลลัพธ์ที่ต้องการ - http://bit.ly/hPgGUB 2011-04-24
  • วิธีใช้เงื่อนไข IF , Sub-Query ฯลฯใน MySQL เพื่อให้ได้ผลลัพธ์ที่ต้องการ http://t.co/JXzxGV0 via @dominixz 2011-04-24
  • ฮาเขียนหัวข่าว "เลิกด่ากู! ตอร์เรสลุยฝนปลดล็อก" 2011-04-24
  • http://bit.ly/e4bta2 2011-04-24
  • ทดสอบ Kontrollbase ตามลิงค์ที่ @heha ส่งมาให้ ถ้าได้ผลยังไงจะรายงานอีกทีครับ 2011-04-24
  • ตี 4 again 2011-04-24
  • ok ตี 5 ได้อาบน้ำนอนสักทีทำ kontrollbase กว่าจะเสร็จ 2011-04-24
  • ไปนอนดีกว่าครับ :D เจอกันพรุ่งนี้ 2011-04-24
  • I liked a @YouTube video http://youtu.be/QHcGh1K1UxA?a เธอคือของขวัญ by.Aircool 2011-04-24
  • ปิด Talk บน Android ไม่ให้คนติดต่อได้คริคริ 2011-04-24
  • LED Stilettos http://j.mp/gfB58U 2011-04-24
  • ตื่นมาเสพความรู้ 2011-04-24
  • Learning day 2011-04-24
  • Protect a CodeIgniter Application Against CSRF http://j.mp/gkiUhe 2011-04-24
  • Firefox 4 ทะลุ 100 ล้านดาวน์โหลดหลังเปิดให้ดาวน์โหลดมา 1 เดือน http://j.mp/dP9gH4 2011-04-24
  • Create Hanging File Storage from IKEA Shelf Brackets [DIY] http://j.mp/eJjyPt 2011-04-24
  • LocalScope Uses Search Results, Social Media, and Your Location to Help You Find Nearby Places [Downloads] http://j.mp/e9ScaF 2011-04-24
  • Upload Facebook Clear Games Wall Activity ให้สนับสนุน Mafia Wars 2011-04-25
  • มีคน Download 260 เลยหรอเนี้ย :O 2011-04-25
  • Going back home 2011-04-25
  • พึงเห็นว่า @onebitmatter ไปอยู่ใน @blognone ด้วย >.< 2011-04-25
  • ทำคำถามให้เพื่อนไปตอบ สำหรับการจะเปิดกิจการของตัวเอง 2011-04-25
  • เพื่อนกรู @iamnern วันนี้เขาจะอยู่ดึกฮาฮา 2011-04-25
  • Onebitmatter เริ่มใช้ Sodia อย่างจริงจัง 2011-04-25
  • Upgrade Sodia ให้รับรูปได้เป็น 2600x2600 cc @mr_boyle 2011-04-25
  • [ข่าวลือ] เตรียมตัวพบกับ MacBook Pro ดีไซน์ใหม่ http://j.mp/gOP7Iq 2011-04-26
  • ทำ Index แบบมีหลาย Field เพราะอะไรอ่าน http://t.co/JA0tHm0 cc @oxygenyoyo 2011-04-27
  • indexing onebit monitor 2011-04-27
  • เรื่องการ Migrate Data เรายังอ่อนหัดอยู่มากนัก 2011-04-27
  • Team Coding โดยไม่ต้องใช้ Control Version - http://bit.ly/fNpCYO 2011-04-27
  • เร็วขึ้นมากแล้วเย้ๆ 2011-04-27
  • Mini Barcamp ประจำเดือนเมษา ของ onebit จะเป็นยังไงนะ 2011-04-27
  • อีก 5 นาทีถึงเวลา Mini Barcamp ละ :D หัวข้อมีหลายแนวมาก 2011-04-27
  • วันๆมีแต่เรื่องวางแผน 2011-04-27
  • หลังบ้านเสร็จก่อนหน้าบ้าน >.<'' 2011-04-27
  • List Email , Twitter พี่ๆน้องๆที่ทำงาน Online พรุ่งนี้เดียวจะมีการส่งรายละเอียด Product ไปให้นะครับ :) ถ้าไม่ชอบก็ขออภัยไว้ด้วยนะครับ 2011-04-27
  • กลับเข้าไปดู Contact เก่าๆว่าเราน่าจะติดต่อใครได้บ้าง 2011-04-27
  • คำนี้ยังอยู่ในหัว "ด้านได้อายอด" ดังนั้นจะ Blastmail สักรอบต้องหน้าด้านเล็กน้อย 2011-04-27

Team Coding โดยไม่ต้องใช้ Control Version

วิธีเหมาะสำหรับ Team ที่มีขนาดเล็ก (2-3 คน) แล้วคนในทีมยังไม่มีประสบการณ์ในการใช้ Control Version แต่ต้องส่งงานให้ตามเวลา เราจะทำไงดีละ ? เนื่องจากผมก็เปิดบริษัทใหม่แล้วช่วงนี้ มีงานเยอะก็เลยต้องหาวิธีลุมทำให้เสร็จ โดยมีจุดหลักๆที่จะใช้วิธีนี้ได้มีประสิทธิภาพก็คือ

  • แบ่งการถือครองไฟล์ อย่างชัดเจน
  • ใช้ Framework + Convention เดียวกัน เช่น การตั้งชื่อ folder , folder ที่เกี่ยวข้องกับ controller นี้ คนอื่นห้ามยุ่ง
  • การสื่อสารแบบ "ข้อสิทธิ ถ้าจะทำอะไรกับไฟล์ที่คนอื่นถือครองอยู่" เนื่องจากผมอยู่ใกล้กันเรื่องนี้เลยทำได้ง่ายมาก
  • การแยกส่วนการทำการงาน เช่น A ทำ View , B ทำ Controller , C ทำ Controller ที่ B ไม่ได้ถือครอง

จุดเด่น

  • ไม่ต้องเรียนรู้อะไรเพิ่ม
  • คล่องตัว

จุดอ่อน

  • ความเสี่ยงเรื่องการเขียนไฟล์ทับ ซึ่งถึงแม้จะมีการแยกส่วนกันแล้ว แต่ก็ยังมีสิทธิ์อยู่
  • ไม่มีประวัติว่าใครทำอะไร กับไฟล์แล้วเป็น Version ไหนแล้ว
  • ไม่สามารถทำ Automate Test ได้

สรุปก็คือเราไม่จำเป็นต้องใช้ Technology ใหม่ที่สุด แต่แค่ต้องหา Process ที่ลงตัวกับคนในทีม ซึ่งคนในทีมผมไม่ได้ถนัดการใช้ Version Control ดังนั้นเลยต้องใช้วิธีนี้ไปก่อน แล้วถ้าเพื่อนๆไม่ใช่ Control Version ใช้วิธีไหนในการเขียน Code รวมกันครับ :)

วิธีใช้เงื่อนไข IF , Sub-Query ฯลฯใน MySQL เพื่อให้ได้ผลลัพธ์ที่ต้องการ

เนื่องจากผมจะต้องทำ Report พร้อมมีสมการบางอย่าง เพื่อเป็นการคำนวณ ซึ่งผมใช้ PHP กับ MySQL เป็นหลัก โดยปัญหาที่มักจะเกิดบ่อยๆก็คือ "ดึงข้อมูลจาก Database มาคำนวณที่ PHP แล้วก็เอามาเรียงใส่ Array ใหม่เป็นข้อมูลชุดใหม่" และยังมีเหตุการอื่นๆอีกเช่น ไม่ยอม Join Table แล้ว GET ข้อมูลจาก Table หนึ่งไปใส่อีก Table หนึ่งทำให้ Performance ช้าอีก

วันนี้ผมเลยขอแนะนำตัวที่เราได้ใช้บ่อยๆกันใน MySQL กันนะครับผมก็พึงลองสดๆร้อนๆเลย

CASE

CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END

จริงๆผมสับสนระหว่าง CASE กับ IF แต่พอใช้แล้วก็เข้าใจขึ้น โดยผมมองว่า CASE คือการ FILTER ข้อมูล แต่ IF เป็นเงื่อนไข แต่ปกติเราเขียนโปรแกรมมักใช้ IF เป็นการ FILTER ข้อมูล แต่ใน Database มักแยกกันชัดเจน ยกตัวอย่าง เช่น if(number == 1) ใน php ที่จริงคือ CASE WHEN number = 1 ทำนองนั้นครับ ตัวอย่างที่ชัดเจนคือ

SELECT page_id , SUM(CASE WHEN score = 1 THEN 1 ELSE 0 END) AS good , SUM(CASE WHEN score = 0 THEN 1 ELSE 0 END) AS neutral , SUM(CASE WHEN score = -1 THEN 1 ELSE 0 END) AS bad
FROM sentiments

โดยใน Table มี Field หนึ่งที่เก็บ score ซึ่งส่วนใหญ่แบ่งเป็น 1 , 0 , -1 ซึ่งผมต้องการ 3 เลขนี้ขึ้นมาใน Row เดียวผมเลยต้องใช้วิธีนี้ เพราะมันจะเกี่ยวโยงกับ Subquery เพื่อนำไปใช้ต่อในการคำนวณ ดังนั้นมันเลยเป็นสิ่งจำเป็นที่ต้องได้ค่าเหล่านี้มาอยู่ใน Row เดียว

IF

IF(expr1,expr2,expr3)
เป็นการใส่เงื่อนไขอย่างที่อธิบายก่อนหน้านี้ โดยวิธีใช้คือ  IF(SUM(score) <  80,IF(SUM(score) < 50,'F','C'),'A') มันก็คือ IF ELSE ใน PHP นั้นเอง แต่สิ่งเดียวที่มันทำไม่ได้คือ IF(score == 1,'YES','NO') ทำนองนี้ เน้นอีกครั้งนะครับ ทำไม่ได้ ดังนั้นเราเลยต้องใช้ CASE มาผสมกัน

อื่นๆ

อาจจะมีบางคนไม่รู้ว่า จริงๆแล้ว SQL สามารถ + - * / ( ) ได้ยกตัวอย่าง เช่น SELECT page_id , score/100 FROM sentiments เป็นต้น

รู้พื้นฐานแล้วแต่ก็คงยังไม่พอต้องผสมให้เป็น

โดยผมจะลองยกตัวอย่าง Query ซ้อน Query มาให้ดูสักอันจากของจริงนะครับ

SELECT page_id,create_date, IF(ABS((((good/devideval) + (neutral/devideval)) - ((bad/devideval) + (neutral/devideval)))) > 7,IF((((good/devideval) + (neutral/devideval)) - ((bad/devideval) + (neutral/devideval))) >0,1,-1),0) AS score
FROM
(
SELECT page_id , SUM(CASE WHEN score = 1 THEN 1 ELSE 0 END) AS good ,SUM(CASE WHEN score = 0 THEN 1 ELSE 0 END) AS neutral , SUM(CASE WHEN score = -1 THEN 1 ELSE 0 END) AS bad , COUNT(score) as total , (COUNT(score) / 100) as devideval , DATE(created_at) AS create_date
FROM `sentiments`
WHERE user_id = 1 GROUP BY page_id,DATE(created_at)
) AS sentiment_result

โดยแม้จะเป็น Query ที่ดูยากสักหน่อย แต่ผมจะอธิบาย SELECT ล่างก่อนนะครับโดยจะอ่านเป็นประมาณนี้ครับ

"ให้ทำการเลือก page_id , ผลรวมของ score โดย score มีค่าเป็น 1 ให้มีค่าเป็น 1 อย่างอื่นเป็น 0 , ผลรวมของ score โดย score มีค่าเป็น 0 ให้มีค่าเป็น 1 อย่างอื่นเป็น 0 เป็น good , ผลรวมของ score โดย score มีค่าเป็น 0 ให้มีค่าเป็น 1 อย่างอื่นเป็น 0 เป็น neutral , ผลรวมของ score โดย score มีค่าเป็น -1 ให้มีค่าเป็น 1 อย่างอื่นเป็น 0"

อธิบายเพิ่มเติมตรงส่วนนี้คือ การที่ต้องทำให้ต้องมีค่าเป็น 1 เป็น 0 นั้นเพราะความต้องการของผมคือ "จำนวนนับของ score 1 , 0 และ -1" เลยต้องทำแบบนั้น จะ COUNT ก็ได้เช่นกัน แต่ผมขี้เกียจแก้ของผมที่ทำได้แล้วเท่านั้นเอง

ส่วนที่เหลือก็ Where ตามปกติ แต่ที่นี้ผมต้องอธิบายเพิ่มเพราะผมนำ SELECT อันล่างไปเป็นข้อมูลของ SELECT ข้างบนดังนั้นตอนนี้ผมเลยมี page_id , good , neutral , bas , total , devideval , create_date ที่สามารถเรียกใช้งานได้ ใน SELECt ด้านบนผมเลยมาทำสมการเลข สังเกตุว่าผมใส่ ( ) ค่อนข้างมาก เพื่อความมั่นใจว่า มันจะหารก่อนแล้วค่อยนำมา + - กันเสร็จแล้วผมก็ยังใช้ IF ELSE ฉบับ MySQL อีกด้วยคือ IF(express,IF(express,result1,result2),result3) ทำนองนั้นครับ

ประโยชน์ที่ได้รับสำหรับการใช้การคำนวณอยู่ใน Database

  • เร็วไม่เปลื้อง  CPU , Memory ในการทำ Array ชุดใหญ่ใน PHP
  • สำหรับผม Maintenance ทำได้สะดวกกว่าใช้ PHP SQL สลับไปสลับมา

โดยหลักๆคือ 2 ข้อแต่ประโยชน์จะทวีคูณ หากนำไปใช้กับ PHP อย่างเหมาะสม โดยคำเตือนขอเดียวก็คือ "ให้รู้ Limit ของ SQL และไม่จำเป็นต้องตั้งเงื่อนไขว่า จะได้ข้อมูลเหล่านี้ด้วย SQL ล้วนๆ มีบางกรณีของผมซึ่งใช้ Query เดิมได้แต่ต้องนำ good*1 , neutral*0 , bad*-1 แล้วนำมา + กันทั้งหมด ซึ่งตามจริงแล้วการจะได้เช่นนั้นผมจะต้อง SELECT อีกครั้งหนึ่งซึ่งมันสุดโต่งเกินไป ผมเลยหยุดที่ก่อน Step นั้นแล้วเวลานำไปใส่ใน Report ผมก็ใช้ PHP + - เอาแต่ทีนี้มันง่ายแล้วไงครับ เพราะใน Row ก็มี good , neutral , bad มาให้พร้อมแล้วแค่ใส่สมการ เอาไปแสดงผลเป็นอันเสร็จ วันนี้ผมลาไปก่อนหวังว่ามีประโยชน์ไม่น้อยสวัสดีครับ :D

เรื่องเล่า Twitter 14/04/2011 – 20/04/2011

  • ดีใจที่ Developer ทั้ง Onebit เขียน Facebook App เป็นหมดละ 2011-04-18
  • Im at home has 7 tasks remainning 2011-04-18
  • I like "Relax" word may be next commercial app will use Relax concept. 2011-04-18
  • limit ของ echo อยู่ที่ 537169 2011-04-18
  • ไม่ใช่สิเมื่อกี้ยังไม่Strip 2011-04-18
  • เลขที่ถูกคือ 52488 2011-04-18
  • ปัญหาอันนี้จะแก้ได้หรือไม่ !! 2011-04-19
  • มีเรื่องเขียน Blog ละเย้ๆ 2011-04-19
  • ปัญหา file_get_contents / curl แล้วพอ echo ขึ้น internal server error 500 - http://bit.ly/gysFwf 2011-04-19
  • เขียน blog เสร็จแล้วเย้ๆ ไปทำงานต่อ 2011-04-19
  • RT “@Akara_gat: อยาก xxx กับเพื่อนไหม? http://t.co/S2dz7He App ขำๆโดยน้องฝึกงาน #lvup ครับ” 2011-04-19
  • Done 3 Tasks อย่างรวดเร็ว 2011-04-19
  • Task เสร็จหมดนอนได้เย้ๆ 2011-04-19
  • Good night every one :D 2011-04-19
  • Wake up :) 2011-04-19
  • เข้าตัวเอง http://j.mp/dMw9ZI 2011-04-19
  • ชักเข้าใจละว่าทำไมพี่สาวเราและแม่เราตื่นเช้าได้ 2011-04-19
  • การไม่เปิด com ก่อนอาบน้ำนั้นได้ผลไหมเดียวลองสัก 2 อาทิตย์เดียวลง blog 2011-04-19
  • ได้ Idea ใหม่สำหรับ Commercial App ตัวถัดไป แต่คงต้องไปผ่านมติของ Onebi Dev กันก่อน 2011-04-19
  • I liked a @YouTube video http://youtu.be/qsqmZruLMvA?a แพ้คำว่าเพื่อน(ยืมตัง)M 2011-04-19
  • Trick Yourself into Working by Breaking Down Tasks to a "For Dummies" Level [Mind Hacks] http://j.mp/ijBEJ8 2011-04-19
  • Dropbox for iOS Adds Bulk Photo and Video Uploading [Updates] http://j.mp/g2DO0v 2011-04-19
  • Unfriend Finder Install แล้วฮาฮา 2011-04-19
  • Unfriend Finder โคตรแจ๋วดูได้ว่าใคร Unfriend หรือยังไม่ตอบรับ Friend Request cool มาก 2011-04-19
  • Dropbox for Team มันจะแพงไปไหน !! ทำ Dropbox ภายใน Office เองดีกว่างั้น 2011-04-20
  • Just finish reading Online-content :D 2011-04-20
  • Now I continue read "Predictably Irrational" 2011-04-20
  • No more than 30 mins because tomorrow I must wake up early. 2011-04-20
  • Just finish reading "Predictably Irrational" 2011-04-20
  • Goodnight everyone :) See you in the morning 2011-04-20
  • I liked a @YouTube video http://youtu.be/qsqmZruLMvA?a แพ้คำว่าเพื่อน(ยืมตัง)M 2011-04-20
  • I favorited a @YouTube video http://youtu.be/V__bJ_2Mzvg?a Sodia Facebook page autopost 2011-04-20
  • Sodia เครื่องมือโพสข้อความอัตโนมัติบน Facebook Page - http://bit.ly/dW90VW 2011-04-20
  • ซื้อ Sodia ราคาตอนนี้ถูกมาก เพราะถ้าเปิดตัวอีก Feature หนึ่งราคาจะไม่ใช่ราคานี้นะครับ :D 2011-04-20
  • Copywriter + Marketing / Copywriter + Designer / Copywriter + Programming อยากหาสักคนที่เป็นทั้งสองด้าน ถ้าเลือกได้อยากได้ Programmingมากสุด 2011-04-20
  • iPad 2 เปิดตัวอย่างเป็นทางการในเมืองไทย 6 พฤษภาคม http://j.mp/g5MV9X 2011-04-20
  • วิดีโอใหม่ใน YouTube ถูกแปลงเป็น WebM หมดแล้ว http://j.mp/evd4XJ 2011-04-20
  • นั่งแก้ Onebit Framework ให้มันทำงานได้ดีขึ้น 2011-04-20
  • Relax concept 2011-04-20
  • Tonight hey hey hey heyyy hey heyyy tonightt XD 2011-04-20
  • Check this video out -- อมมะ? http://t.co/ZrlhDAF via @youtube ฮานะแต่มีดราม่า 2011-04-20
  • แค่มี Automator คน Geek นิดๆอย่างเราก็สบายขึ้นมาก :D 2011-04-20
  • กว่ากรูจะเปลี่ยน Password ใน App Store ได้ 2011-04-20
  • สรุปว่าทำไม่ได้ต้องใช้ iForgot เปลี่ยน Password ดีสุด 2011-04-20
  • Screenflow 99.99$ เลยหรอฟระ 2011-04-20
  • Sex and Zen น่าดูฟระ 3D โรงใหญ่ด้วย 2011-04-20
  • มีหลายคนตั้งตารอการแปล CI แบบ Version ใหม่กันเยอะส่งสัยได้จ้าง @shellingz แปลต่อแน่นอน ฮาฮา 2011-04-20
  • พรุ่งนี้ Oneday Project หนิแว๊กกก ต้องเตรียมการสักหน่อย 2011-04-20

Sodia เครื่องมือโพสข้อความอัตโนมัติบน Facebook Page

ทุกวันนี้บริษัทไหนไม่มี Fanpage บน Facebook นอกจากจะโดนหาว่าเชยแล้ว ยังพลาดโอกาสที่สร้างช่องทางการประชาสัมพันธ์ สินค้า , brand ฯลฯ ของบริษัท ต่อมาเนื่องจากการเปิดช่องทาง มาพร้อมกับการดูแลลูกค้าบน Facebook สิ่งที่บริษัท SME , บริษัทใหญ่ เจอก็คือ "ไม่มีคนดูแล" เลยต้องจ้างคนดูแล Facebook Page นั้นๆไปซึ่งในสมัยก่อนนั้นการดูแลด้วยตัวเองเป็นเรื่องยากมาก เพราะไม่มีการ Notification เวลามีคนมาตอบข้อความสำหรับ Admin เลย (แต่เดียวนี้มีแล้วนะครับ)

ต่อมาคือไม่มีเวลาโพสข้อความในเวลาที่เหมาะสม เพราะต้องเอาเวลาไปทำธุรกิจ เลยต้องจ้างคนมา Post ข้อความตามเวลาที่อยากให้เขาโพส แล้วเนื่องจากทุกวันนี้ Facebook สามารถส่งข้อความเตือน มายัง Admin ได้แล้ว งั้นสิ่งที่ SME ต้องการก็คือ "คนคิดคำพูดและระบบโพสอัตโนมัติ" ซึ่งทำให้ Business เขาทำงาน Flow ปกติหรืองานเพิ่มขึ้นไม่มากทางบริษัท Onebitmatter.com เลยได้สร้าง Tools ขึ้นมาชื่อว่า Sodia ลองไปดู video อธิบายกัน

สรุปเลยแล้วกันใครที่เป็น Social Media Specialist , Media Agency , SMEs ที่ต้องการความสะดวกสบาย และไม่ต้องเสียเงินมากจ้างคนมาดูแล ผมขอแนะนำ Tools ตัวนี้เลยครับ วันนี้ลาไปก่อนสวัสดีครับ

ปัญหา file_get_contents / curl แล้วพอ echo ขึ้น internal server error 500

เนื่องจากผมต้องมีการดึงข้อมูลขนาดใหญ่มาจาก url เจ้าหนึ่งซึ่ง string เขาเยอะมาก คราวนี้ผมก็ใช้ได้ไปจนถึงเจอ หน้าหนึ่งที่ยาวมากๆ ผมไม่สามารถ echo ได้พอ echo ทีไรจะขึ้น internal server error โดยวิธีแก้นั้นอาจจะไม่สามารถแก้ได้ทุก host นะครับ คราวนี้พอผมตรวจสอบปัญหาก็พบว่าผมจะ echo ได้เรื่อยๆเมื่อ string ต่ำกว่า 524288 Bytes ทีนี้ (วิธีก็คือ file_get_contents($url,null,null,-1,524288); ถ้าสามารถ echo ได้สันนินฐานได้เลยว่าเราติด SecResponseBodyLimit ของ Mod_security ของ Apache เข้าแล้วครับ

โดยวิธีแก้ก็คือ

  • ไปเพิ่ม SecResponseBodyLimit ให้มากกว่า Content-Length ที่เรา get มาในที่นี้ผมเพิ่มเป็น 2097152 ซึ่งแค่นี้ก็ยาวมากแล้วครับ ส่วนจะหาไฟล์ที่แก้ config นั้นทำดังนี้ครับ
  • ใน linux ใช้คำสั่ง  "locate modsecurity"
  • ลองเดาว่าอันไหนน่าจะเป็น config กรณีของผมเจอคือ /etc/modsecurity2/config.conf
  • เข้าไปแก้

เป็นอันเสร็จครับส่วน internal server error 500 นั้นอาจจะมีจากสาเหตุอื่นด้วยนะครับ แต่ที่ผมเจอคืออันนี้ก็เก็บเป็นเกร็ดเล็กน้อยให้ทุกท่านครับ :D

เรื่องเล่า Twitter 07/04/2011 – 13/04/2011

  • หลังจาก Tweet นี้เราจะเข้าสู่โหมด English ล้วนจนกว่าจะเบื่อ :D 2011-04-10
  • Creative Time to think about project management process that doesn't suck! 2011-04-10
  • Define Dream Project Management for Onebitmatter 2011-04-10
  • Train myself to organize files in Google Docs 2011-04-10
  • Planning about How to fix Company Problem & Productivity Issue 2011-04-10
  • Defining PM Tools Requirements 2011-04-10
  • ออกไปกิน ramen champion kibi 2011-04-10
  • มีแต่ Project Management Tools Overweight ทั้งนั้นจริงๆ 2011-04-10
  • Testing Redmine with Oppurtunity to customize 2011-04-10
  • เอา ProjectPier มาโม 2011-04-10
  • Testing the last best one project management before decide which one is Onebit gonna use 2011-04-10
  • Redmine is great but doesn't match my process Basecamp is the way to go but it's quite expensive so may be go to ProjectPier instead 2011-04-10
  • อือหื้ออออ !! - http://t.co/mK0m8UT cc @iamnern 2011-04-11
  • ดูคลิปนี้แล้วอึ้ง !! พลังแห่งเครื่องสำอาง - http://t.co/16kA9Sr 2011-04-11
  • Watching World Invasion : Battle Los Angeles 2011-04-11
  • มุมมืด http://t.co/c11dZX0 2011-04-11
  • กลับบ้านอาบน้ำ ทำงานต่อ 2011-04-11
  • Upgrade Email script in GAE 2011-04-12
  • Now Time is 01:23 2011-04-12
  • กะจะใช้เวลาสัก 30 นาทีล่วงเลยไป 1.10 นาที 2011-04-12
  • RT “@tannysoft: อยากจะได้ Mac เครื่องใหม่จริงๆ” +2000 ไปเลย แต่ถ้าจะซื้อคราวนี้ต้อง SSD + Core i7 ไปเลย 2011-04-12
  • Acer ประกาศเปลี่ยนโลโก้บริษัทใหม่ ด้วยความรู้สึกที่สดใสกว่า http://j.mp/f2rESE 2011-04-12
  • แฝด Winklevoss ถูกศาลสั่งให้เลิกตอแย Facebook http://j.mp/dYg3MM 2011-04-12
  • LiveProfile โปรแกรมแชตข้ามระบบอีกตัว http://j.mp/hGi6hg 2011-04-12
  • [ลือ] เลิกรักพี่เสียดายน้องสักทีเมื่อ iPad รุ่นต่อไปอาจมีสองโหมดในจอเดียว http://j.mp/ikBcNA 2011-04-12
  • the market can't speak if you aren't in on the conversation. 2011-04-12
  • เหมาะให้ @iamnern อ่านจัดไป - http://t.co/HYpO37Z 2011-04-12
  • โหลด Boom ของ Mac OSX มาเผื่อ Sound จะดังขึ้นได้บ้าง 2011-04-12
  • Corona SDK น่าเล่นอะขอบคุณที่ @zone99 แนะนำมา >.< 2011-04-12
  • จัดให้เนิน @iamnern http://t.co/rmjjC46 2011-04-12
  • iPad 2 ก็แสดงผลเป็น 3 มิติได้ http://j.mp/f39DpD 2011-04-12
  • “หัวลำโพง” เจ๋ง ปล่อย “Molome” Mobile App ถ่ายรูปแนว Lomo ตั้งเป้า 100 ล้านดาวน์โหลด http://j.mp/ifmMYr 2011-04-12
  • ไปกิน sumisumi 2011-04-12
  • Wanna eatttt.waiting for @jndweb and @MultiLemon 2011-04-12
  • วันนี้ใครไป RCA ตอนเย็นๆบ้าง #fb 2011-04-13

เรื่องเล่า Twitter 31/03/2011 – 06/04/2011

  • I uploaded a YouTube video -- วันชิลๆ เลยมาบ่นๆให้ฟังครับ :D http://youtu.be/EMtv47AzJ-Q?a 2011-04-03
  • เกิดเป็น ผู้พันเซนเดอร์ ที่ญี่ปุ่นต้องทำใจ http://bit.ly/euykPl 2011-04-03
  • วิธีเลือกเพื่อนทุกคนใน Facebook Question Ask Friends - http://bit.ly/fbnUC0 2011-04-03
  • ดูรายการ @pormournu กิน Ramen ตอนดึก หิวเลยกินมาม่าแทน >.< 2011-04-03
  • ก้าวแรกของ Onebitmatter Cloudmail เสร็จแล้ว !! 2011-04-03
  • Deploy ไป 3 App ถ้า Work เดียวจะทำสัก 10 App 2011-04-03
  • PLAYMOBIL™ Apple Store Play Set: Ignite Apple fandom in your kids http://j.mp/h4lhw0 2011-04-04
  • What You See vs. What Your Kids See [7 Pics] http://j.mp/gplL1I 2011-04-04
  • Dutch Tulip Round-Up http://j.mp/hK2knT 2011-04-04
  • Awesome Augmented Reality App Could Save Librarians Hours http://j.mp/eemFle 2011-04-04
  • Blizzard Entertainment: StarCraft: Motion Overdrive http://bit.ly/gFhHdJ 2011-04-04
  • Michael Jordan vs Bill Gates! Nerds Win | dailyfun.us http://bit.ly/ffkrre 2011-04-04
  • นอนแล้วครับฝันดีทุกท่านครับ :D 2011-04-04
  • Going to @onebitmatter 2011-04-04
  • เรื่องของคน6คนบนเตียง « iNattt http://bit.ly/dQ7Rkr 2011-04-04
  • วันนี้จะโมหน้า Page 1 หน้า 2011-04-04
  • เจอ Case ประหลาด (float) 139074.89 == (float) 139074.89 แม่งได้เป็น False ซะงั้น ! แต่เพื่อนบอกวิธีแก้ให้ยิ่งประหลาดกว่าเก่าอีก แต่แก้ได้ !! 2011-04-04
  • Email App = 10 Instance 2011-04-04
  • Firefox 4 Cool มากกกกกกกกกกใน Mac 2011-04-04
  • The Photoshop Etiquette Manifesto Prescribes Best Practices for Creating PSD Files [Photoshop] http://j.mp/e77Pbs 2011-04-05
  • Avoid Cognitive Biases To Prevent Yourself From Buying Unnecessary Things [Psychology] http://j.mp/ewQ6QW 2011-04-05
  • The HTTP Archive Tracks HTTP Requests For Sites Over Time [Data] http://j.mp/ezpIzN 2011-04-05
  • อยากรับเด็กฝึกงานแบบ @Mr_Boyle อีก 2011-04-05
  • แก้ CPU100% เรียบร้อยแล้ว 2011-04-05
  • แก้ปัญหา Mysql 100% โดยการ index อีกไม่น่าเชื่อแค่ไม่ index ทำ mysql 100% ได้ง่ายเหลือเกิน 2011-04-05
  • ใครมาเล่น Form Sodia ฟระ !! cc @iamnern 2011-04-05
  • Another little servers farm for Singha completed 2011-04-05
  • Deploy เรียบร้อยทำงานได้ดีเยี่ยม ! 2011-04-05
  • กำลังคิดว่าเราสามารถทำ Cron-Free ได้ง่ายๆด้วย GAE แต่ขอลองก่อนนะ 2011-04-05
  • อุ๋ย Cron Free ใช้งานได้ด้วย :D อยากแจก Source 2011-04-06
  • UrlFetch ใช้ได้ 650k แต่ Cron นาทีละครั้ง = 60*24 = 1440 แล้ว app หนึ่งใช้ได้แค่ 20 cron = 28800 ครั้ง ไม่มีทางหมดเลยทีเดียว 2011-04-06
  • เฮ้อลอง Bonfire ก็ไม่โดนใจ มันเริ่มดู HeavyWeight แล้วก็เปลี่ยนวิถีการเขียนแบบเดิมๆของ CI ถ้าแบบนี้ไปใช้ Rails ดีกว่า 2011-04-06
  • Spur มาแล้ววว !! 2011-04-06
  • Ronaldo เหมือนไม่มีแรงเตะเลยนะ 2011-04-06
  • Adebayorrrrrr!! 2011-04-06
  • ครึ่งหลังจะมันขึ้นหรือเหมือนเดิมหว่าา 2011-04-06
  • RT “@feelinglomo: มีอย่างที่ไหน เล่นในบ้าน ทีมเยือนเหลือ10คน ทำไรไม่ได้ ขอให้เจอเบลยิงคืน!” +100 2011-04-06
  • The Typescreen http://j.mp/euH5Gk 2011-04-06
  • KUNNGUYEN DESIGN STUDIO http://j.mp/eY62Sv 2011-04-06

วิธีเลือกเพื่อนทุกคนใน Facebook Question Ask Friends

เนื่องจากเรามีคำถามแล้วอยากให้คนตอบแล้วก็เขาอีรอบเดิมคืออยากส่งไปหาเพื่อนๆทุกคนทำไงดี ตอนนี้ผมก็หาวิธีง่ายๆเหมือนกับที่ใช้กับอันอื่นๆก็คือ Checkbox ทุกอย่างไปเลย !! เราก็เลยเอา Script Checkbox ทุกอันบนหน้ามาให้โดยวิธีคือ Copy Code ด้านล่างแล้วไปใส่ที่ URL Bar หรือที่ใส่ URL ของเว็บไซต์แล้วกด Enter 1 ครั้งแค่นี้มันก็จะเช็ค Checkbox ทุกอันที่อยู่บนหน้าแล้วครับ
javascript: var inputs = document.getElementsByTagName('input');
var checkboxes = [];
for (var i = 0; i < inputs.length; i++) {   if (inputs[i].type == 'checkbox') {
inputs[i].checked =true; }
}

เพื่อความเข้าใจมากขึ้นไปอีกวิธีใช้คือ

1. ไปใน Facebook Question ของคำถามที่เราตั้งขึ้น

2. กด Ask Friends

3. เมื่อทุกคนโหลดเสร็จแล้วให้ใช้ Code ด้านบนไปใส่ URL Bar แล้วกด Enter 1 ครั้ง

4. เมื่อทุกคนโดนติกแล้วกด Submit เป็นอันเสร็จครับ :D