Tweetfreq 0.1

ช่วง 2-3 วันนี้ หลังจาก BarCamp Bangkok บรรดาผู้ร่วมงานหลายคนเกิดอาการติด twitter กันงอมแงม วันนี้ตอนที่อ่าน tweet ของคนโน้นคนนี้ไปมาก็เกิดอาการคัน อยากลองเล่น API ของ twitter ดู ก็เลยเป็นที่มาของ Tweetfreq ตัวนี้

Tweetfreq เป็นตัวสร้างกราฟบอกความถี่ในการ tweet ภายใน 24 ชม. ของเรา หลักการทำงานก็คือตัว Tweetfreq จะคอยไปดึงค่า user timeline ของเรากำหนดเพื่อนำมาเก็บเป็น log ไว้ แล้วเอามาสร้างกราฟบอกความถี่ในการ tweet ของเรา

ทีแรกเขียนไว้เป็น python แต่ว่า server บางเครื่องไม่มี python ก็จะรันไม่ได้ ทำให้ต้องเปลี่ยนโค้ดมาเป็น PHP แทน โดยส่วนการดึงข้อมูล user timeline ใช้ cURL library ดูดมาเป็น format RSS จากนั้นเอามา parse ด้วย simplexml สุดท้ายตอนสร้างกราฟใช้ Google Chart API

Requirement

PHP 5.2 ขึ้นไป และต้องมี cURL library ด้วย

Installation

เอาไฟล์ tweetfreq.php ไปวางไว้บน server แล้วตั้ง cron ให้มาเรียกทำงานทุกๆ 5 หรือ 10 นาทีก็ได้ โดย script ตัวนี้จะสร้างไฟล์ไว้ใน directory เดียวกันสองไฟล์ ชื่อ tweets.txt เอาไว้เก็บข้อมูลการ tweet และไฟล์ tweets.png ซึ่งเป็นกราฟที่สร้างขึ้นโดยผ่านทาง Google Chart API

License

ใช้สัญญาอนุญาตแบบ Creative Commons Attribution 3.0 ใครอยากเอาไปพัฒนาต่อ ทำได้ตามสบาย

Download

โหลดได้ที่นี่

Todo

  • แก้เรื่อง timezone ของ server
  • แก้ส่วนที่ hard-coded ไว้ (เช่น สี, ขนาด ของกราฟ, url ของ feed) ให้สามารถคอนฟิกได้ง่ายๆ
  • ทำให้โค้ดอ่านง่ายกว่านี้

ถ้ามีปัญหาการใช้งานยังไง แปะไว้ได้ข้างล่างนี่ครับ

Discourse in Siyama

ได้ตั๋วหนังเรื่องสียามา รอบสื่อที่โรงหนังสยามพารากอน ไม่ได้คาดหวังอะไรกับหนังของ MonoFilm อยู่แล้ว แต่ไหนๆ ได้ตั๋วฟรีมาแล้วก็เลยลองเข้าไปดูเสียหน่อย

ตัวหนังทำได้ตามมาตรฐานหนังของโมโนฟิล์ม (ไม่นับรวมเรื่อง Me, Myself นะ) ดังนั้นก็ไม่มีอะไรให้พูดถึงมากนัก แต่สิ่งที่สะกิดใจอยู่ตลอดช่วงเวลาที่ดูหนังอยู่คือการรับรู้เรื่องราวประวัติศาสตร์ของคนในปัจจุบันมากกว่า ในหนังมีบทพูดอยู่หลายจุดที่พูดถึงการปกป้องบ้านเมือง รักแผ่นดิน ไม่ทรยศชาติ (เอ… ฟังดูคุ้นๆ) แผนการโปรโมตหนังก็มาตาม theme นี้คือ เน้นเรื่องความรักชาติเข้าไว้ และนี่คือจุดที่ถูกเน้นย้ำและทำให้หงุดหงิดใจตลอดการดูหนัง (ไม่นับเรื่องบทพูดที่ดูเหมือนยัดเยียดใส่ปาก และนักแสดงที่เล่นกันได้แข็งสุดๆ)

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

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

เรื่องที่น่าตลกมากๆ ในเรื่องคือการที่ตัวละครหลักเอาวาทกรรมรักชาติไปเผยแพร่ให้คนอื่นในหมู่บ้านได้รับรู้ แล้วคนทั้งหมู่บ้านก็เออออห่อหมก ตีหน้าซึ้งน้ำตาไหลกันไปได้ ทั้งที่วาทกรรมนี้มันเพิ่งมามีเมื่อไม่ถึง 100 ปีมานี้เอง (ถ้าใช้ภาษาเท่ๆ คงต้องเรียกว่า “ประวัติศาสตร์ที่เพิ่งสร้าง”)

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

BarCamp Bangkok 2008

ไป BarCamp Bangkok มาวันนี้ (ใครไม่รู้จัก barcamp คร่าวๆ คือมันเป็นงานสัมมนาแบบให้ที่ให้คนมาร่วมงานเป็นคนเลือกหัวข้อที่จะพูดกันเอง รายละเอียดเต็มๆอ่านได้ที่นี่) มี session น่าสนใจหลายอันทีเดียว บางอันเวลาชนกันก็ต้องตัดใจฟังแค่อันใดอันหนึ่ง ที่ไปฟังมาแล้วน่าสนใจก็มีเรื่อง SSH productivity tips เป็นการใช้ฟีเจอร์ที่เราไม่ค่อยได้ใช้ของ SSH ได้เปิดหูเปิดตาดีเหมือนกันว่า SSH มันทำอะไรได้มากกว่าทีคิดมากนัก, Twitter Rules โดย sugree ฟังดูแล้วเหมือนโฆษณาเผยแพร่ลัทธิ twitter ดี, อีกเรื่องที่น่าสนใจและเอาไปใช้คือ Tsung เป็น framework สำหรับทำ distributed load testing, มีเรื่อง Mahlee เป็น library สำหรับทำ multithread javascript น่าสนใจดี แต่ตอนนี้ยังนึกไม่ออกว่าจะเอาไปใช้กับงานไหน

ไฮไลท์ของงานอยู่ที่ session เรื่อง AV Development Life Cycle คนเข้าฟังกันล้นหลาม ว่าด้วยเรื่อง Adult Video ของญี่ปุ่น เค้ามีที่มาที่ไปยังไง ระบบธุรกิจแบบไหน และทำยังไงถึงจะได้ไปเป็นดารากับเค้าบ้าง! (รูปประกอบจาก plynoi - NSFW!)

คนที่ไป barcamp จะมีกฎว่าต้อง “พูด” คือจะเตรียมเรื่องไปพูดก็ได้ หรือว่าจะไป discuss กับคนอื่นก็ได้ แต่ห้ามไปแล้วเงียบ ต้องมีส่วนร่วมกับงาน ก่อนวันงานก็เลยเตรียมเรื่องไปพูดด้วย (เรื่อง cross process) แต่คงเป็นเพราะพวก geek ส่วนใหญ่ไม่สนใจเรื่องฟิล์มกันแล้ว รวมทั้งสถานที่ไม่เพียงพอให้ทุกคนพูด ทำให้ session ที่มีคนสนใจน้อยต้องหลีกทางให้กับเรื่องที่มีคนสนใจเยอะๆ

แต่โชคดีที่ว่ามีห้องว่างเปิดได้อีก track พอดี บรรดาคนอกหักที่ไม่ได้พูดในตอนแรกก็เลยมากองรวมกันในห้องนี้ ตอนที่พูดมีคนฟังประมาณเกือบ 10 คน แค่นี้ก็ดีใจแล้ว และเอาเข้าจริงๆ เรื่องที่มาพูดกันในห้องคนอกหักนี่ออกจะน่าสนใจกว่า track อื่นด้วยซ้ำ เพราะว่า track อื่นจะเป็นเรื่องที่ค่อนข้าง mass แล้วบางเรื่องก็ไม่ได้ลงลึกในรายละเอียดมากนัก แต่มันเป็นเรื่องที่ mass แหละมั้งเลยมีคนสนใจเข้าไปฟังเยอะ โดยส่วนตัวแล้วผมว่า barcamp มันควรจะพูดกันเรื่องแปลกๆ เรื่องประสบการณ์ส่วนตัว หรืออะไรที่หาอ่านไม่ได้ง่ายๆ จากในเว็บสิถึงจะสนุก แล้วต้องมา discuss กันเยอะๆ ด้วย อย่างใน session เรื่อง Web Accessability ของคุณปกป้อง ทีแรกก็เป็นเรื่องทำเว็บสำหรับคนพิการอยู่ดีๆ แต่ discuss กันไปถึงเรื่องกฎหมายซะงั้น (ชอบๆ)

session ในห้องคนอกหักที่ได้ฟังมีเรื่องความลำบากของนัก bioinformatics ในไทย โดยคุณ molecularck กับอีกเรื่องคือ Doujinshi Subculture in Web 2.0 ของคุณ pramook ที่มาในแบบ Lessig Style !

ตอนพักเที่ยงมีอาหารอินเดียเลี้ยง แจกเสื้อยืดฟรีคนละตัว จบงานตอนเย็นไปกินข้าวเย็นกันต่อก็ฟรีอีก!
ขอบคุณสปอนเซอร์และคณะทำงานทุกท่าน พบกันใหม่ใน barcamp ครั้งหน้า!

Custom Mac Screen saver

ตอนนี้รู้สึกเบื่อ screen saver Web Trend Map ที่ใช้มานานหลายเดือนแล้ว พอดีว่าอยากจะเอารูปที่เคยถ่ายไว้และคิดว่าสวยๆ เอามาทำเป็น screen saver วิธีทำก็ง่ายๆ ตามนี้

  1. สร้าง folder ว่างๆ ขึ้นมาอันนึง
  2. เอารูปที่ต้องการทำเป็น screen saver ใส่เข้าไป
  3. เปลี่ยนชื่อโฟลเดอร์จาก foldername เป็น foldername.slideSaver จะมีกล่องคำถามขึ้นมาว่าจะ add .slideSaver จริงๆ หรือเปล่า ก็ตอบ Add ไป
  4. เสร็จแล้วไอคอนของโฟลเดอร์จะเปลี่ยนเป็นอีกรูปนึง จากนั้นเอาโฟลเดอร์นี้ไปใส่ใน ~/Library/Screen Savers
  5. พอเปิด Desktop & Screen Saver Preferences ขึ้นมาก็จะมีชื่อโฟลเดอร์ของเราให้เลือกแล้ว