Monday, December 27, 2010

ประสบการณ์จาก admob

Admob เป็นคนกลางเพื่อบริการเกี่ยวกับโฆษณา ตอนนี้โดน google งาบไปเรียบร้อยแล้ว เจ้าตัว admob อนุญาติให้ผู้มีคอนเทนต์หรือผลิตภัณฑ์ได้มาลงโฆษณา โดยจะต่างก็ตรงที่เน้นบนมือถือครับ จำไม่ได้ว่าผมอ่านเจอ admob จากทวิตเตอร์ของใคร เลยหาข้อมูลเข้ามาอ่านดูศึกษาและพบว่ามี sdk สำหรับ developer ด้วย และมี document ซะเรียบร้อย เลยลองเอามาใช้กับโปรเจคที่กำลังปั่นและปล่อยลง android market ทันที ขณะที่ผมเขียนบล๊อกนี่ก็ครบหนึ่งเดือนพอดีสำหรับ app ที่ปล่อยออกไป ก็แชร์ประสบการณ์กันครับว่าได้อะไรบ้าง

ตอนผมปล่อยเวอร์ชั่นแรกออกไป ผมแปะ ads ไปแค่หน้าเดียวของแอพ วิธีนี้ไม่ได้ผลครับ มีคนคลิกน้อยมาก นับแล้วก็ 6 วันได้ 7 คลิก ได้เงิน 0.62$
จากนั้นลองเพิ่ม ads ในหลายๆจุดแต่ไม่ได้เพิ่มมั่วนะ เลือกหน้าที่ควรวางและตำแหน่งที่เหมาะสม และเขียนโปรแกรมให้ refresh ads ขึ้นมาใหม่ทุกๆ 30-50 วินาที ผลลัพธ์ที่ได้ค่อนข้างน่าพอใจครับ ลองดูกราฟ โดยแกน x เป็นเวลา แกน y เป็นรายได้ที่ได้รับ ขอปิดไว้นิดนึง :P


ก็สรุปว่าถ้าแอพเราดี แอพเราเจ๋ง ปล่อยฟรีก็หาตังได้ครับ...

Sunday, November 21, 2010

Google realtime กับละคร 365 วันแห่งรัก

ช่วงนี้ติดละครงอมแงม ทุกวันพุธ-พฤหัสต้องเฝ้าละครหลังข่าว สดๆร้อนๆอาทิตย์ที่ผ่านมานี้เอง เรื่องนี้ส่วนตัวผมว่าเนื้อเรื่องง่ายดี แต่ก็โดนใจ เหมือนการตลาดเข้าใจ insight ของผู้บริโภค ที่แน่ๆโดน insight ผมคนนึงล่ะ ดูไปดูมามีฉากนึงคู่พระนางต้องไปฮันนีมูนที่ต่างจังหวัด ซึ่งบรรยากาศดีมาก ดูไปทีแรกก็ยังสงสัยว่าที่นี้มันที่ไหนกัน เริ่มชักอยากจะรู้แล้วสิ สักพักคู่พระนางนั่งรถกอล์ฟชิวกัน กล้องแพนไปหน้ารถกอล์ฟซึ่งมีชื่อสถานที่อยู่ ป๊าป.... มันคือ 'swiss valley' ทันใดนั้นผมเองก็ search และเข้าไปดู ปรากฎว่าหน้าเว็บหน่วงมากอาจเป็นเพราะ flash หรือ traffic ขณะนั้น ผมเองก็ยังเฉยๆ สักพักก็นั่งดู twitter มีคนพูดถึงเยอะมากในช่วงเวลานั้น เลยลองไปดูใน google realtime รูปด้านล่างคือผลลัพธ์ที่ได้ขณะละครยังไม่จบ


ผมเข้าไปดู google realtime และ search keyword คำว่า swiss valley ซึ่งส่วนตัวยังไม่เคยใช้ google realtime เลย รู้สึกว่า amazing มาก ผลลัพธ์บอกได้ชัดเจนว่าละครเรื่อง 365 วันแห่งรักเรตติ้งดีมากครับ ซึ่งผลลัพธ์นั้นจะไปดึง content มาจาก twitter ซึ่งปกติเอง twitter ก็เหมือนจะ realtime อยู่แล้ว google เลยใช้ข้อมูลตรงนี้มาแสดงผล realtime อีกทีนึงเช่นกัน ซึ่งก็เป็นอีก feature หนึ่งที่น่าลองนะครับ

หลังจากละครจบสิ่งที่รู้ในคืนนั้น swiss valley คงทำให้ทุกคนรู้จักไม่มากก็น้อยแหละคราวนี้

Tuesday, November 2, 2010

Integrate twitter with rails

คราวนี้เป็นการเชื่อมต่อ twitter กับ rails โดยจุดประสงค์คือต้องการจะ authenticate เว็บด้วย twitter account โดยใช้มาตรฐาน OAuth ที่ twitter require สำหรับขั้นตอนนั้น ต้องมีการสร้าง app ใน twiiter เป็นเหมือนตัวแทนสำหรับเว็บที่เราจะนำมา authenticate โดยสร้างจากหน้าเว็บ oauth_clients

จะมีปัญหาอยู่อย่างนึงในการสร้าง app คือ หาก app rails เราเป็น browser เราต้องใส่ callback url ลงไป ในสภาพแวดล้อมที่เราพัฒนานั้น ปกติเราใช้ localhost แต่ตัว twitter จะไม่ยอมให้เราใช้ เพราะห่วงเรื่องความปลอดภัย วิธีแก้คือให้ใส่เป็น 127.0.0.1 แทน วิธีแก้อ่านต่อได้จาก How to quick set up a test for Twitter OAuth

สิ่งที่เราต้องใช้เมื่อสร้าง app บน twitter เสร็จเรียบร้อยคือ consumer key, secret key เพื่อนำมา cofig ใน rails เว็บของเรา ในส่วนของ rails ผมเลือกใช้ plugin ตัว twitter_oauth โดยวิธีการติดตั้ง sample app ผมเลือกดูจากเว็บนี้ครับ TwiiterAuth ตัวเว็บนี้จะมีส่วนของการ authenticate อย่างเดียว

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

Saturday, October 16, 2010

Monday, October 11, 2010

ใช้ Google Chrome แบบไม่ทิ้งร่องรอย


มีโอกาสได้ลองเล่น Chrome ซึ่งเป็นบราวเซอร์จาก Google รวมทั้งหมดในเครื่องก็มี 3 ตัวแล้ว ช่วงนี้เป็นช่วงเห่อ Chrome มาพูดถึง Chrome ปกติเราเล่นเว็บที่มีการล๊อกอินเข้าใช้งาน ทางฝั่งเครื่อง user (หรือที่เรียกว่าฝั่ง client) จะจดจำค่าไว้สำหรับการเข้าใช้งานภายหลัง ซึ่งเรียกว่า cookie ทำให้วันหลังผู้ใช้ไม่ต้องพิมพ์ข้อมูลซ้ำ และจะไม่บันทึกเป็น history ด้วย

วันหนึ่งบังเอิญไปเจอขอดีเรียกว่า Incognito mode ของ Chrome หรือเรียกว่า private browsing วิธีเข้าโหมด ให้กดตามนี้

Windows , Linux -> Ctrl+Shift+N
Mac -> ⌘-Shift-N

เมื่อมีการใช้งานใน mode ดังกล่าว browser จะไม่จดจำค่าต่างๆที่ผู้ใช้ใช้งานไว้ในเครื่อง หรือพูดง่ายๆว่าไม่มีการทิ้งร่องรอยใดๆไว้ สรุปว่าก็เอาไว้ใช้เวลาไปเล่นเครื่องคนอื่นครับ


Tuesday, September 21, 2010

RMagick is not accepting ImageMagick version

http://happy-coding.com/rmagick-is-not-accepting-imagemagick-version/

Install rmagick on Mac OS X (snow leopard)

เมื่อวันก่อนต้องการใช้ plugin ตัวหนึ่ง เกี่ยวกับ social ชื่อว่า communityengine ซึ่งขั้นตอนการลงในก็มี requirements เยอะพอสมควร กว่าผมจะลงได้ ใช้เวลาถึงสองวัน ปัญหาคือเจ้าตัว rmagick ซึ่งมันคือตัว plugin สำหรับเชื่อมต่อกับโปรแกรม ImageMagick ไว้สำหรับจัดการรูปภาพ

ผมพยายามลง requirements ตามที่บอกอย่างละเอียด แต่ rmagick นั้นลงกี่ทีๆก็ไม่ผ่าน ขณะที่ลงไม่ผ่านนั้น OSX ผมเวอร์ชั่น 10.6 ซึ่ง message logs ตอนลงไม่ผ่าน ก็แจ้งเหมือนกับขาด libraries ผมจึงลองด้วยวิธีโหลดตัวอัพเดท OSX เวอร์ชั่นล่าสุด 10.6.4 จนเสร็จเรียบร้อย และลงใหม่อีกครั้ง

ปรากฏว่าแค่อัพเดท OS ก็ผ่านฉลุยแล้วครับ...it's work!

Tuesday, September 14, 2010

Unix command kill open tcp port process

บางครั้ง port ที่เราต้องการใช้งาน ดันมีการเปิดทิ้งไว้ เราสามารถ kill process นั้นทิ้งได้โดย

ใช้คำสั่งสำหรับ ดู process (PID) ของ port ที่เปิดอยู่ก่อน
เช่นต้องการดู pid ของ port tcp 3000 ที่เปิดอยู่

lsof -w -n -i tcp:3000

เมื่อรู้ค่า PID แล้ว ใช้คำสั่ง

kill -9 PID

แค่นี้ครับ

Thursday, July 29, 2010

Mac osx streaming to ps3

เริ่มจากผมต้องการอยากดูหนัง ซึ่งไฟล์นั้นอยู่บน notebook แต่อยากดูจอใหญ่กับ ps3 ก็เลยหาวิธี และไปเจอทางสว่างเข้ากับ pms สามารถ download ได้จากลิงค์นี้

ps3mediaserver

มันสามารถดูหนัง .iso ได้ด้วย เป็นสิ่งที่ผมปรารถนาที่สุด แต่ pms ยังมีความสามารถอื่นอีกเยอะแยะไปหมด ว่างๆจะลองให้หมด

แนะนำขั้นตอนเบื้องต้นครับ
- notebook (mac os x 10.6) หรือ server อยู่ network เดียวกัน
- ลงโปรแกรม pms ในเครื่อง
- รันโปรแกรม pms
- เปิด ps3 รอประมาณ 10 วินาที ให้มัน detect กัน และ (server และ ps3 ก็จะปิ้งๆ กัน)



- เราก็สามารถ access เครื่อง server และเปิดไฟล์หนังขึ้นมาเล่นได้
จบครับ ;)

Sunday, January 17, 2010

การแชร์โฟลเดอร์ใน VirtualBox

วันนี้้มีวิธีแชร์โฟลเดอร์ใน VirtualBox มาฝาก
ซึ่งผมแชร์จาก Mac เข้ามาใน VirtualBox ซึ่งรัน Ubuntu อยู่ ทำได้โดย
- เมื่อรัน vitualbox แล้วเลือก Devices -> Shared Folder...
- เลือก add โฟลเดอร์ที่ต้องการแชร์เข้ามา (*ชื่อโฟลเดอร์ที่ตั้งขึ้น ต้องติดกันโดยไม่เว้นวรรค)
- เปิด Terminal ขึ้นมาพิมพ์คำสั่ง sudo mount -t vboxsf *ชื่อโฟลเดอร์ พาทที่เก็บให้เห็นบนเครื่องซึ่งต้องเป็นโฟลเดอร์ว่าง

ตัวอย่างเช่น
sudo mount -t vboxsf MacSharedMnt /home/user/mnt

แค่นี้เอง
ปล.ไว้ capture รูปมาเพื่อความกระจ่าง