<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-7114220</atom:id><lastBuildDate>Fri, 10 Jul 2009 05:35:15 +0000</lastBuildDate><title>Apirak Panatkool</title><description /><link>http://www.apirak.com/</link><managingEditor>noreply@blogger.com (apirak)</managingEditor><generator>Blogger</generator><openSearch:totalResults>95</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><media:keywords>apple,mac,ruby,interface,design</media:keywords><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Technology/Software How-To</media:category><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Arts/Design</media:category><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Games &amp; Hobbies/Other Games</media:category><itunes:owner><itunes:email>apirak@apirak.com</itunes:email></itunes:owner><itunes:explicit>no</itunes:explicit><itunes:keywords>apple,mac,ruby,interface,design</itunes:keywords><itunes:subtitle>Apirak.com Panatkool</itunes:subtitle><itunes:category text="Technology"><itunes:category text="Software How-To" /></itunes:category><itunes:category text="Arts"><itunes:category text="Design" /></itunes:category><itunes:category text="Games &amp; Hobbies"><itunes:category text="Other Games" /></itunes:category><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/apirak" type="application/rss+xml" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-9083369671342593510</guid><pubDate>Fri, 10 Jul 2009 05:21:00 +0000</pubDate><atom:updated>2009-07-09T22:35:15.885-07:00</atom:updated><title>iPhone Jumbo</title><description>ใครอยากได้ iPhone mini ก็ช่างเค้า ผมอยากได้ iPhone Jumbo&lt;br/&gt;
&lt;br/&gt;
&lt;a href="http://picasaweb.google.com/lh/photo/txHN-F6CLseY97DPqL-R9w?feat=embedwebsite"&gt;&lt;img src="http://lh5.ggpht.com/_F2rZXyRWz5I/SlbQ4_9jSnI/AAAAAAAACTw/08ozobrzDQE/s800/iphone_jumbo.jpg" /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
หน้าตาแบบนี้ละที่อยากได้ เอาไว้ทำงานแบบไม่ต้องมีโต๊ะ&lt;br/&gt;
เช่น ในร้านกาแฟ บนรถไฟฟ้า บนรถเท๊กซี่ หรือตอนเดินไปเดินมา&lt;br/&gt;
&lt;br/&gt;
จริงๆ แม้แต่อยู่บนโต๊ะทำงาน ถ้าเขียนลงไปบนจอได้เลย&lt;br/&gt; แบบนั้นน่าจะได้อารมณ์ก่วาเขียนที่นึง แล้วไปโผลอีกที&lt;br/&gt;
&lt;br/&gt;
"Where you write is where you get"&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-9083369671342593510?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/SumkjLV4nQE/iphone-jumbo.html</link><author>apirak@apirak.com</author><media:thumbnail url="http://lh5.ggpht.com/_F2rZXyRWz5I/SlbQ4_9jSnI/AAAAAAAACTw/08ozobrzDQE/s72-c/iphone_jumbo.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/07/iphone-jumbo.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-5467720515437707543</guid><pubDate>Tue, 07 Jul 2009 12:19:00 +0000</pubDate><atom:updated>2009-07-07T05:40:55.190-07:00</atom:updated><title>เริ่มเขียนหนังสือ ruby</title><description>อยากเขียนหนังสือมานานแล้วครับ แต่ก็ทำไม่สำเร็จซักที ก่อนหน้านี้จะเลี้ยงไปเขียนเป็น wiki หรือเขียนใส่ blog สุดท้ายก็พบว่ามันไม่เหมือนกัน สิ่งที่ได้จากการเขียนหนังสือมันมากกว่านี้ ใช้ความตั้งใจและความพยายามมากกว่าการเขียน wiki หรือ blog เพราะมันเป็นเล่มเขียนไม่จบเล่มก็ไม่ถือว่าเสร็จ แถมต้องอ่านซ้ำไปซ้ำมาอีกหลายรอบ พอคิดได้ดังนี้เลยพยายามกลับมาเขียนอีกครั้งครับ&lt;br/&gt;
&lt;br/&gt;
หลังจากเขียนมาได้ประมาณ 33 หน้าก็เริ่มมองหาเครื่องมือในการเขียน เพราะเขียนบน TextEdit.app เริ่มไม่ไหว ดูเหมือน TextEdit.app จะไม่ค่อยถูกกับภาษาไทย ไม่รู้ว่าเป็นเพราะการ render ภาษาไทย หรือเพราะการตัดคำ พอมีภาษาไทยเกิน 8 หน้ามันจะเริ่มช้ามากๆ พอมีถึง 33 หน้ามันเริ่มหยุดนานจนรอไม่ไหว&lt;br/&gt;
&lt;br/&gt;
หันมาใช้ Editor ตัวอื่นอย่าง TextMate ปรากฏว่าอาการช้าหายไป แต่กลายเป็นมันไม่ยอมตัดคำภาษาไทยแทน ทำให้จำเลยตกเป็นของระบบตัดคำภาษาไทยบน Mac&lt;br/&gt;
&lt;br/&gt;
พอเอา BBEdit มาลองก็ได้ผลเหมือน TextMate ครับ&lt;br/&gt;
&lt;br/&gt;
หันมาใช้ไม้ตายอย่างโปรแกรม Page ในชุด iWork ก็พบปัญหาเดียวกันครับ แม้ว่าจะทำงานได้เร็วกว่า TextEdit มากมาย แต่ก็มีความหน่วงเกิดขึ้นบ้าง พอพิมพ์แล้วต้องรอสักเสี้ยววินาทีตัวอักษรจึงจะปรากฎออกมา แต่ระบบตกแต่งทำออกมาได้เยี่ยมมาก ได้ความรู้สึกเหมือนใช้ Latex แบบ WYSIWYG แถมสวยอีกต่างหาก พอมาชั่งน้ำหนักกับความหน่วงแล้วไม่ไหวครับ ตอนเขียนหนังสือต้องการความพริ้วระดับสุดยอด มากกว่าความงาม&lt;br/&gt;
&lt;br/&gt;
เมื่อจำเลยของเราคือ ระบบตัดคำบน Mac ประกอบกับคุณ @roofimon บอกว่าใช้ MS Word ในการเขียนหนังสือ php (แม้ว่าจะเพราะสำนักพิมพ์บังคับก็ตาม) ผมเลยเริ่มเลี่ยงไปใช้โปรแกรมอื่นที่คาดว่ามีระบบตัดคำภาษาไทยเป็นของตัวเอง&lt;br/&gt;
&lt;br/&gt;
เริ่มจาก Open Office for mac พบว่าช้ามากๆ ตั้งแต่ตัวอักษรแรกที่พิมพ์เลยครับ สงสัย Ram ของผมจะไม่พอ (2G) ไม่รู้ต้องทำอย่างไรให้มันทำงานได้เร็ว ยังไม่ทันได้ลองเอา Neo Office (Open Office version mac native) มาลง ก็เปลี่ยนไปทดลองอย่างอื่นต่อ&lt;br/&gt;
&lt;br/&gt;
&lt;a href="http://picasaweb.google.com/lh/photo/VpZDsx7LZx5PPN3fRxSj9A?feat=embedwebsite"&gt;&lt;img src="http://lh4.ggpht.com/_F2rZXyRWz5I/SlM618pVGRI/AAAAAAAACR0/fWqV7g-ADCY/s288/Picture%2012.png" /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
หันมาใช้ MS Office for Mac กลายเป็นว่า feature สำคัญได้หายไปจาก MS Office for Mac ซะแล้ว นั่นคือเราไม่สามารถแยก latin font กับ Complex script ให้ใช้ font คนละตัวได้ ดังนั้นเวลาเราเขียนตัวอักษรภาษาอังกฤษ จะใหญ่ๆ ผิดปกติ ครั้นจะเลี้ยงไปใช้ font Tonburi มันก็ไม่มีให้เลือกซะงั้น แถมไม่ยอมตัดคำภาษาไทยให้อีกต่างหาก เป็นอันปิดโครงการไปโดยสมบูรณ์&lt;br/&gt;
&lt;br/&gt;
&lt;a href="http://picasaweb.google.com/lh/photo/HsOdo3IOxgpDw-sDxCc-Iw?feat=embedwebsite"&gt;&lt;img src="http://lh5.ggpht.com/_F2rZXyRWz5I/SlM617-KBvI/AAAAAAAACRw/S016r0TCFnY/s288/Picture%2011.png" /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
สุดท้ายผมหันมาใช้แนวทางที่ยุ่งยากนิดหน่อย แต่มั่นใจได้มากกว่า นั่นก็คือ "MS Word for Windows" นั่นเอง พอคิดได้ก็ลง Parallels ลง Windows ลง MS Office copy งานจาก TextEdit มาใส่ ปรับแต่ง Style ให้เหลือแค่ Code, Chapter, Sub Chapter และ Normal เสร็จ&lt;br/&gt;
&lt;br/&gt;
MS Word สร้างความประทับใจได้เหลือเชื่อครับ การทำงานที่มีจำนวนหน้ามากกว่า 100 หน้าไม่พบปัญหาความหน่วงเลยสักนิด การตัดคำก็ทำได้ยอดเยี่ยม แถม parallels ก็เข้ากับ Mac ได้ดีทำงาน MS Word ดูธรรมชาติดีบน OS X&lt;br/&gt;
&lt;br/&gt;
สรุปว่าเครื่องมือที่ดีที่สุดในการเขียนหนังสือของผมคือ MS Word for Windows ที่ทำงานบน Parallels ครับ&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-5467720515437707543?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/7oekX-qgv9A/ruby.html</link><author>apirak@apirak.com</author><media:thumbnail url="http://lh4.ggpht.com/_F2rZXyRWz5I/SlM618pVGRI/AAAAAAAACR0/fWqV7g-ADCY/s72-c/Picture%2012.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/07/ruby.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-2192588590532328221</guid><pubDate>Wed, 01 Jul 2009 01:15:00 +0000</pubDate><atom:updated>2009-06-30T18:21:52.736-07:00</atom:updated><title>RIP MJ.</title><description>MJ transcended color, time, space, his music and talent was universal. The inspiration from your will never die.&lt;br/&gt;
&lt;br/&gt;
&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/GveM_95x56k&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/GveM_95x56k&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-2192588590532328221?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/WnMmNljfOio/rip-mj.html</link><author>apirak@apirak.com</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><media:content url="http://feedproxy.google.com/~r/apirak/~5/RegVcEx1MNk/GveM_95x56k&amp;hl=en&amp;fs=1&amp;" fileSize="1042" type="application/x-shockwave-flash" /><itunes:explicit>no</itunes:explicit><itunes:subtitle>MJ transcended color, time, space, his music and talent was universal. The inspiration from your will never die. </itunes:subtitle><itunes:author>apirak@apirak.com</itunes:author><itunes:summary>MJ transcended color, time, space, his music and talent was universal. The inspiration from your will never die. </itunes:summary><itunes:keywords>apple,mac,ruby,interface,design</itunes:keywords><feedburner:origLink>http://www.apirak.com/2009/06/rip-mj.html</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/apirak/~5/RegVcEx1MNk/GveM_95x56k&amp;hl=en&amp;fs=1&amp;" length="1042" type="application/x-shockwave-flash" /><feedburner:origEnclosureLink>http://www.youtube.com/v/GveM_95x56k&amp;hl=en&amp;fs=1&amp;</feedburner:origEnclosureLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-3863919342607923336</guid><pubDate>Mon, 29 Jun 2009 01:40:00 +0000</pubDate><atom:updated>2009-06-28T19:04:25.956-07:00</atom:updated><title>คำสั่งบน unix ที่ผมใช้</title><description>อ่าน &lt;a href="http://linux.sothorn.org/node/677"&gt;blog ของคุณ sothorn&lt;/a&gt; แล้วเกิดอยากรู้เหมือนกันว่าเราใช้คำสั่งอะไรบ้าง พอตามเข้าไปดูก็พบดังนี้ครับ
&lt;ol&gt;&lt;li&gt;top ใช้บ่อยสุด ถ้าบน mac ต้องใช้ top -o cpu มันถึงจะเรียงตาม cpu ให้ ถ้าบน linux ใช้ top เฉยๆ มันก็เรียงให้เลย
ลองกด shift-A ดู มันเรียงให้ครบเลยเท่ดี&lt;br/&gt;
&lt;a href="http://picasaweb.google.com/lh/photo/W80fMVkmem2y8GEwMQBP4w?authkey=Gv1sRgCJn-1oTFh8KAKA&amp;amp;feat=embedwebsite"&gt;
&lt;img src="http://lh4.ggpht.com/_F2rZXyRWz5I/Skgeg3NUiZI/AAAAAAAACPU/_BZD0v_5R3M/s144/Terminator.png" /&gt;&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;ps -aux ใช้ดู process ผมมักใช้คู่กับ grep แบบนี้ "ps -aux | grep mong" เอาไว้ดูว่า web server ของเรายังอยู่หรือเปล่า
&lt;/li&gt;&lt;/ol&gt;คำสั่งที่ต่อไปจะใช้
&lt;ol&gt;&lt;li&gt;w &lt;username&gt; ใช้ดูว่าใคร login เข้ามาและกำลังใช้โปรแกรมอะไร&lt;/username&gt;&lt;/li&gt;&lt;li&gt;uptime ใช้ดูว่าเครื่องเปิดไว้นานแค่ไหน เราจะได้ไม่ต้องถาม admin ว่า restart เครื่องไปหรือเปล่า (จริงๆ คำสั่ง top ก็บอก uptime นะ)&lt;/li&gt;&lt;li&gt;iptraf ใช้ดู network ทั่วไป&lt;/li&gt;&lt;/ol&gt;
&lt;br/&gt;
ตัว monitor ที่อยากได้มากๆ คือ process ไหนกิน network ไปกี่ KB เพราะตอนนี้เวลา network ช้าจับมือใครดมไม่ได้เลย :'( ส่วนใหญ่มันดันทำเป็น background process ซะด้วย&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-3863919342607923336?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/QFoDmQKk6gY/unix.html</link><author>apirak@apirak.com</author><media:thumbnail url="http://lh4.ggpht.com/_F2rZXyRWz5I/Skgeg3NUiZI/AAAAAAAACPU/_BZD0v_5R3M/s72-c/Terminator.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/06/unix.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-6116409106250540864</guid><pubDate>Wed, 27 May 2009 03:55:00 +0000</pubDate><atom:updated>2009-07-07T05:39:09.674-07:00</atom:updated><title>ใช้ MS Access บน Rails โดยไม่มี ODBC</title><description>วันนี้มาเจอปัญหาว่าต้อง export ข้อมูลส่วนหนึ่งเข้า MS Access แต่ server เราดันเป็น Linux เลยไม่มี ODBC ให้ใช้ง่ายๆ หลังจากตามหาวิธีอยู่นานสุดท้ายก็เจอ &lt;a href="http://activemdb.rubyforge.org/activemdb"&gt;activembd&lt;/a&gt; เป็น ruby ที่เรียกใช้ library ของ mdb-tools

การใช้งานก็ง่ายมาก เพราะเสียบกับ Active record ไปเรียบร้อยแล้ว

&lt;pre class="brush: ruby;"&gt;
require 'rubygems'
require 'active_mdb'

class User &lt; user =" User.find_first" id =""&gt; 1
puts user.name
puts user.description
&lt;/pre&gt;

แต่สุดท้ายผมก็ใช้ activemdb ไม่ได้ :'( เพราะเจ้า database ที่จะไปใช้ดันไม่มี primary key ....  แค่เห็นก็ตกใจไม่น่าเชื่อว่าจะออกแบบ database โดยไม่มี primary key เลยสัก table เดียว ผมเลยเปลียนแผนไปใช้ mdbtools เพียวๆ เรียกผ่าน system เอา

ใครอยากเอา activemdb ไปใช้ต้องลง mdbtools ก่อนนะครับ

sudo apt-get install mdbtools
sudo gem install activemdb

หวังว่าจะไม่มีใครบนโลกต้องลำบากแบบผมนะครับ

reference:
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.automatthew.com/2007/04/activemdb-for-that-not-so-fresh-feeling.html"&gt;automatthew - activemdb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/spider-man/?of=14"&gt;hatena&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.automatthew.com/2008/02/how-to-compile-mdbtools-on-mac-os-x.html"&gt;automatthew - compile mdbtoos on osx&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-6116409106250540864?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/EGIrhFceTM8/ms-access-rails-odbc.html</link><author>apirak@apirak.com</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/05/ms-access-rails-odbc.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-4582822500626035007</guid><pubDate>Wed, 27 May 2009 01:18:00 +0000</pubDate><atom:updated>2009-05-26T18:29:00.397-07:00</atom:updated><title>ใครใช้ไฟล์นี้วะ</title><description>ตอนจะลบไฟล์ทิ้งแต่ดันมีเจอ error ว่า "ลบไม่ได้ เพราะมีโปรแกรมบางตัวใช้งานอยู่" ครั้นจะฝึนลบก็กลัวอะไรจะพัง ถ้าจะไม่ลบมันก็ค้างคาใจยิ่งนัก จนทำให้เกิดคำถามแรงๆ แบบหัวข้อของบทนี้&lt;br /&gt;
&lt;br /&gt;
วันนี้เจอผู้ช่วยแล้วครับ&lt;br /&gt;
&lt;br /&gt;
$ lsof &lt;br /&gt;
&lt;br /&gt;
คำสั่งนี้จะแสดงไฟล์ทั้งหมดที่ถูกใช้งานอยู่ออกมาพร้อมแสดง process ที่ใช้งานมันอยู่ แถมยังมี id กำกับพร้อมให้เรา kill ได้ทันที ถ้าส่งสัยไฟล์ไหนก็สั่ง&lt;br /&gt;
&lt;br /&gt;
$ lsof | grep filename&lt;br /&gt;
&lt;br /&gt;
โปรแกรม lsof จะแสดงผลออกมาประมาณนี้&lt;br /&gt;
dropbox 3646 apirak  mem    REG        8,3    6556 9396629 &lt;br /&gt;
/home/apirak/.dropbox-dist/_dbus_glib_bindings.so&lt;br /&gt;
&lt;br /&gt;
สนใจเพิ่มเติมก็สั่ง $ man lsof เอาละกันนะครับ ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-4582822500626035007?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/6vfTuaOpiwE/blog-post_26.html</link><author>apirak@apirak.com</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/05/blog-post_26.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-6801520155587332924</guid><pubDate>Fri, 22 May 2009 03:13:00 +0000</pubDate><atom:updated>2009-05-22T01:48:13.122-07:00</atom:updated><title>หนึ่งภาพแทนพันคำ</title><description>เมื่อวานนี้ตอนไปดูหนังเหลือบไปเห็น poster เรื่องนี้เข้า&lt;br/&gt;
&lt;br/&gt;
&lt;a href='http://3.bp.blogspot.com/_F2rZXyRWz5I/ShYYa5H_B2I/AAAAAAAAB04/dmila65HAK8/s1600-h/ugly_truth.jpg'&gt;&lt;img src='http://3.bp.blogspot.com/_F2rZXyRWz5I/ShYYa5H_B2I/AAAAAAAAB04/dmila65HAK8/s320/ugly_truth.jpg' border='0' alt=''style='clear:both; margin:0px 10px 10px 0;' /&gt;&lt;/a&gt;&amp;nbsp;&lt;br/&gt;
&lt;br/&gt;
ทำให้เราเข้าใจว่า "ใจตรงกัน" มันเป็นแบบนี้นี่เอง อิอิ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-6801520155587332924?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/WtSuHitr798/blog-post_21.html</link><author>apirak@apirak.com</author><media:thumbnail url="http://3.bp.blogspot.com/_F2rZXyRWz5I/ShYYa5H_B2I/AAAAAAAAB04/dmila65HAK8/s72-c/ugly_truth.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/05/blog-post_21.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-3092834030755200213</guid><pubDate>Thu, 21 May 2009 01:17:00 +0000</pubDate><atom:updated>2009-05-22T01:49:09.647-07:00</atom:updated><title>ติดตั้ง google gadgets บน ubuntu 9.04</title><description>เสียเวลา compile เองอยู่นานมาก สุดท้ายหาเจอว่ามันอยู่ใน repository ซะแล้ว การติดตั้งจะต้องติดตั้ง google desktop ก่อน ซึ่งผมไม่แน่ใจว่ามีใน repository แล้วหรือเปล่า เพราะว่า download มาลงเอง&lt;br/&gt;
&lt;br/&gt;
http://desktop.google.com/linux/&lt;br/&gt;
&lt;br/&gt;
ส่วน google gadget สามารถลงผ่านคำสั่ง apt-get ได้&lt;br/&gt;
&lt;br/&gt;
sudo apt-get install google-gadgets-gtk&lt;br/&gt;
&lt;br/&gt;
สำหรับ widget ต้องรอสักพักมันถึงจะ update เสร็จ ถ้าเรียกเลยจะเห็นแค่ 4 ตัว &lt;br/&gt;
&lt;br/&gt;
ความตั้งใจที่ผมลง google-gadget เพราะอยากได้ gtalk แต่ดันไม่มีบน linux ซะงั้น&lt;br/&gt;
ที่ประสบความสำเร็จกว่าความคาดหมายคือมันมี twitter client มาให้ครับ&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-3092834030755200213?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/cpCU1PXqECU/google-gadgets-ubuntu-904.html</link><author>apirak@apirak.com</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/05/google-gadgets-ubuntu-904.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-3466201905984276170</guid><pubDate>Mon, 18 May 2009 11:47:00 +0000</pubDate><atom:updated>2009-05-18T04:56:21.987-07:00</atom:updated><title>Utility that save my time and my mind</title><description>ก่อนหน้านี้ตอนลง ubuntu ผมจำเป็นต้องใช้ ruby version 1.8.6 ทำให้ไม่สามารถใช้ applet sshmenu ได้ มาวันนี้ลง ubuntu ใหม่ พร้อมแยก ruby ตัวที่เป็นงาน กับตัวที่ใช้ทั่วไปออกจากกัน ทำให้ได้ application ตัวนี้กลับมา

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_F2rZXyRWz5I/ShFMCTU4KNI/AAAAAAAAB0U/PP0zrJkHTNU/s1600-h/sshmenu_screenshot.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 171px;" src="http://1.bp.blogspot.com/_F2rZXyRWz5I/ShFMCTU4KNI/AAAAAAAAB0U/PP0zrJkHTNU/s320/sshmenu_screenshot.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5337130635842037970" /&gt;&lt;/a&gt;

ต่อไปนี้ก็ไม่ต้องพิมพ์ ssh command ทุกครั้งแล้วละครับ แต่ขอบันทึกไว้หน่อยว่า package ที่ต้องเอามาลงคือ

sshmenu และ sshmenu-gnome

เพราะถ้าลงแค่ตัวเดียว มันจะไม่ใส่ใน applet ของ panel ให้เราครับ ต้องลงทั้งสองตัวเลย หลังจากลงแล้วก็ให้สั่ง

killall gnome-panel 

เพื่อ reset รายการ applet ใน panel แล้วก็ click ขวาเลือก add sshmenu ได้เลยครับ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-3466201905984276170?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/pHteXEgSzeg/utility-that-save-my-time-and-my-mind.html</link><author>apirak@apirak.com</author><media:thumbnail url="http://1.bp.blogspot.com/_F2rZXyRWz5I/ShFMCTU4KNI/AAAAAAAAB0U/PP0zrJkHTNU/s72-c/sshmenu_screenshot.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/05/utility-that-save-my-time-and-my-mind.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-7215209630889034945</guid><pubDate>Thu, 14 May 2009 02:39:00 +0000</pubDate><atom:updated>2009-05-18T21:23:04.747-07:00</atom:updated><title>ติดตั้ง ruby สองตัวบน ubuntu เครื่องเดียว</title><description>เริ่มต้นจากติดตั้ง default ruby ลงบนเครื่องก่อน ด้วยคำสั่ง  &lt;pre class="brush: bash;"&gt;$ sudo apt-get install ruby irb ri rdoc libruby-extras rubygems ruby1.8-dev
&lt;/pre&gt;จากนั้น Download ruby ที่ต้องการมาไว้ในซัก folder นึ่ง  &lt;pre class="brush: bash;"&gt;$ cd /tmp
$ wget -c ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6.tar.gz
$ tar -xvzf ruby-1.8.6.tar.gz
$ cd ruby-1.8.6
&lt;/pre&gt;จัดการ untar ให้เรียบร้อยแล้วสั่ง .comfigure พร้อมกำหนด folder ที่ควรจะเป็นให้ ruby ตั้วใหม่  &lt;pre class="brush: bash;"&gt;$ ./configure --prefix=/opt/ruby-1.8.6
$ make
$ sudo make install
&lt;/pre&gt;เวลาเรียกใช้ก็ต้องใส่กันเต็มยศครับ  &lt;pre class="brush: bash;"&gt;$ ruby -version
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
$ /opt/ruby-1.8.6/bin/ruby --version
ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-linux]
&lt;/pre&gt;ถ้าต้องการทำอย่างอื่นด้วย เช่นทำให้สลับ Version ได้ง่ายๆ ก็ลองอ่านใน reference นะครับ&lt;br/&gt;
&lt;br/&gt;
reference: &lt;a href="http://blog.michaelgreenly.com/2008/08/multiple-versions-of-ruby-on-ubuntu-2.html"&gt;blog.michaelgreenly.com&lt;/a&gt;  &lt;br /&gt;
&lt;br/&gt;&lt;br /&gt;
ปรับปรุง: ผมใช้ ubuntu 9.04 ต้องลง zlib ก่อน ถึงจะใช้ได้ครับ (sudo apt-get install zlib1g-dev)&lt;br/&gt;&lt;br /&gt;
ปรับปรุง 2: เวลาต้องการ install rails ให้ใช้คำสั่ง sudo /opt/ruby-1.8.6/bin/gem install -v=2.0.2 rails นะครับ&lt;br/&gt;&lt;br /&gt;
ปรับปรุง 3: วิธีอื่นก็มีที่นี่ &lt;a href="http://www.mjwall.com/2008/08/multiple-versions-of-ruby-with-stow"&gt;STOW&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-7215209630889034945?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/6CVRrQVKUzs/ruby-ubuntu.html</link><author>apirak@apirak.com</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/05/ruby-ubuntu.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-3120040215961046732</guid><pubDate>Wed, 13 May 2009 15:23:00 +0000</pubDate><atom:updated>2009-05-13T08:32:33.519-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">thai</category><category domain="http://www.blogger.com/atom/ns#">log</category><category domain="http://www.blogger.com/atom/ns#">linux</category><title>กว่าจะเป็น "ปูม"</title><description>ดูหนังเรื่อง Star trek แล้วเจอเค้าแปลคำว่า log ว่า "ปูม"&lt;br /&gt;
&lt;br /&gt;
สำหรับในหนังอาจจะแปลง่ายหน่อย เพราะในการเดินเรือเค้าใช้คำว่า "ปูม" อยู่แล้ว แต่ใน Software ไม่ได้แปลง่ายแบบนั้น บังเอิญผมตามอ่าน mailling list ของ thai-l10n อยู่พอดี&lt;br /&gt;
&lt;br /&gt;
เหตุการณ์เริ่มจากคุณ Theppitak เสนอขึ้นมาว่า&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
คำว่า "log" ปัจจุบัน ossglossary กำหนดคำแปลว่า "บันทึกปฏิบัติการ"&lt;br /&gt;
แต่มีคำเสนอว่า "ล็อก" และเร็ว ๆ นี้ bact' ใช้คำว่า "ปูม"&lt;br /&gt;
&lt;br /&gt;
อันที่จริง คำว่า "ปูม" ก็คิดว่าน่าสนใจมานานแล้วเหมือนกัน เพียงแต่ถ้า&lt;br /&gt;
เปลี่ยนมาใช้ จะต้องตามแก้อีกเยอะมาก ก็เลยชะลอไว้&lt;br /&gt;
&lt;br /&gt;
คิดว่าควรใช้คำไหนดีครับ?
&lt;/blockquote&gt;
&lt;br /&gt;
จากนั้นคุณ akom สนับสนุนคำว่า "ล๊อก" และเสนอให้ใช้เป็น "ปูมหลัง"&lt;br /&gt;
&lt;br /&gt;
คุณ mk บอกว่าเคยใช้ "บันทึกการทำงาน" แต่ก็สนับสนุน "ปูม"&lt;br /&gt;
&lt;br /&gt;
คุณ Isara เสนอว่า "บันทึกปฏิบัติการ หรือปูมปฏิบัติการ" น่าจะเหมาะกว่า "ปูมหลัง"&lt;br /&gt;
&lt;br /&gt;
คุณ Arthit เริ่มวิเคราะห์ว่า&lt;br /&gt;
&lt;br /&gt;
log นาม - "ปูม"&lt;br /&gt;
log กริยา - "บันทึกลงปูม" ไหม ?&lt;br /&gt;
&lt;br /&gt;
อ. Thawatchat วิเคราะห์ต่อว่าจะไม่ใช้คำนี้เลยดีหรือเปล่า&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
ในความคิดผม ถ้าแปล The error messages will be logged. &lt;br /&gt;
อาจจะไม่แปลตรงๆ แต่แปลให้สื่อได้อย่างเช่น &lt;br /&gt;
"ระบบจะบันทึกข้อความแจ้งความผิดพลาดเหล่านี้ไว้" ครับ&lt;br /&gt;
&lt;br /&gt;
อีกประเด็นหนึ่งในเรื่องการแปลนั้น passive voice เราควรแปลให้เป็น &lt;br /&gt;
active voice ทั้งหมดไหมครับ เนื่องจากภาษาไทยโดยพื้นฐานไม่มี &lt;br /&gt;
passive voice ใช่ไหมครับ
&lt;/blockquote&gt;
&lt;br /&gt;
คุณ Mk ว่า ยังไงก็น่าจะมี เช่น View log เป็นต้น&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ผมว่าการคิดหลายคนเป็นเรื่องดีมากๆ เพราะทำให้มีคนช่วยมองจากหลายมุม ลดความผิดพลาดได้มากทีเดียว&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
คุณหมวยมองอีกมุมว่าให้คิดเผื่อคำว่า traffic log ด้วย&lt;br /&gt;
&lt;br /&gt;
อ. ธวัชชัย แปลให้ฟังว่า&lt;br /&gt;
view log = ดูปูม&lt;br /&gt;
traffic log = ปูมการจราจร&lt;br /&gt;
&lt;br /&gt;
คุณเก่งเสนออะไรเท่ๆ ว่า แล้วพวก logger จะเป็น "ผู้บันทึกปูม" ไหมครับ?&lt;br /&gt;
&lt;br /&gt;
จากนั้นก็คุยกับอีกหลาย mail ก่อนที่คุณเทพจะมาสรุปว่า&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
ปูม เป็นศัพท์ที่ใช้ในการเดินเรือครับ ตรงกับคำว่า log ในภาษาอังกฤษเลย&lt;br /&gt;
คือใช้บันทึกเหตุการณ์ต่าง ๆ ระหว่างการเดินเรือ อย่างในเรื่องไททานิค&lt;br /&gt;
ตอนที่เจอภูเขาน้ำแข็ง กัปตันก็จะสั่งให้บันทึกลงปูมไว้ ทำให้นึกถึง&lt;br /&gt;
/var/log/messages หรือกล่องดำของเครื่องบินขึ้นมาทันทีเหมือนกัน&lt;br /&gt;
&lt;br /&gt;
สรุปว่าใช้ "ปูม" นะครับ?
&lt;/blockquote&gt;
&lt;br /&gt;
กว่าจะได้คำว่า "ปูม" ต้องคุยกันถึง 16 Mail ซึ่งถือว่าไม่มากนะครับถ้าเทียบกับ Minimize, Maximize อันนั้นคุยกันยาวมาก ถ้าต่อไปเราใช้คำว่าปูมใน Linux แล้วทำให้ลูกหลานเรารู้จักคำว่าปูม ก็ต้องขอบใจทีมนี้ด้วยครับ เพราะอย่างผมก็พึ่งรู้จักคำว่าปูมเอาตอนนี้เอง&lt;br /&gt;
&lt;br /&gt;
ทีมงานแปล คุณเท่จริงๆ :)


&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-3120040215961046732?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/FlWY4Ly8RZo/blog-post_13.html</link><author>apirak@apirak.com</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/05/blog-post_13.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-6969625313713084209</guid><pubDate>Mon, 11 May 2009 17:29:00 +0000</pubDate><atom:updated>2009-05-12T07:54:54.129-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">story</category><title>ชอบมากครับ ขอบอก</title><description>บางทีความรักก็เกิดขึ้นแบบคาดไม่ถึง&lt;br /&gt;
&lt;br /&gt;
&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/uy0HNWto0UY&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/uy0HNWto0UY&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;br /&gt;&lt;br /&gt;
ผู้ชายมักกลัวจนทำให้เสียเรื่องอยู่บ่อยๆ หลังจากเรื่องเสียก็หาข้อแก้ตัวโทษโน่น โทษนี่ สุดท้ายก็โทษผู้หญิง&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-6969625313713084209?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/uZKLFz_wJD4/blog-post.html</link><author>apirak@apirak.com</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><media:content url="http://feedproxy.google.com/~r/apirak/~5/iMhCHZ6740o/uy0HNWto0UY&amp;hl=en&amp;fs=1" fileSize="763" type="application/x-shockwave-flash" /><itunes:explicit>no</itunes:explicit><itunes:subtitle>บางทีความรักก็เกิดขึ้นแบบคาดไม่ถึง ผู้ชายมักกลัวจนทำให้เสียเรื่องอยู่บ่อยๆ หลังจากเรื่องเสียก็หาข้อแก้ตัวโทษโน่น โทษนี่ สุดท้ายก็โทษผู้หญิง</itunes:subtitle><itunes:author>apirak@apirak.com</itunes:author><itunes:summary>บางทีความรักก็เกิดขึ้นแบบคาดไม่ถึง ผู้ชายมักกลัวจนทำให้เสียเรื่องอยู่บ่อยๆ หลังจากเรื่องเสียก็หาข้อแก้ตัวโทษโน่น โทษนี่ สุดท้ายก็โทษผู้หญิง</itunes:summary><itunes:keywords>apple,mac,ruby,interface,design</itunes:keywords><feedburner:origLink>http://www.apirak.com/2009/05/blog-post.html</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/apirak/~5/iMhCHZ6740o/uy0HNWto0UY&amp;hl=en&amp;fs=1" length="763" type="application/x-shockwave-flash" /><feedburner:origEnclosureLink>http://www.youtube.com/v/uy0HNWto0UY&amp;hl=en&amp;fs=1</feedburner:origEnclosureLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-106456225834258296</guid><pubDate>Mon, 04 May 2009 13:29:00 +0000</pubDate><atom:updated>2009-05-04T06:29:06.489-07:00</atom:updated><title>Mac not represent me</title><description>ช่วงนี้มีคนพยายามพูดว่า Mac เป็นเครื่องจัดระดับในสังคม และคนซื้อ Mac เพื่อแสดงระดับของตัวเองต่อสังคม ซึ่งจริง สำหรับคนที่อยู่ในยุคก่อนหน้านี้ สิ่งที่เราพกติดตัวดูจะเป็นสิ่งที่บ่งชี้ตัวเรามากที่สุด มากยิ่งกว่าสิ่งที่เราทำ ไม่เว้นแม้แต่คนที่ใกล้ชิดเรา เพราะยากที่คนอื่นจะรู้ว่าเราทำอะไร&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;การแสดงออกมีได้หลายอย่าง การที่คนแสดงออกโดยการเขียนความรู้ขึ้น blog ก็อย่างหนึ่ง การแสดงออกโดยการแต่งตัวหรือถือสิ่งของก็เป็นการแลกเปลี่ยนอย่างหนึ่ง &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;สำหรับคนที่ไม่มองผิวเผิน สำหรับคนที่อยู่ในยุคแห่งการแลกเปลี่ยนข้อมูล สิ่งที่บ่งชี้ตัวเรามากยิ่งกว่าสิ่งที่เราถือก็คือสิ่งที่เราสร้างขึ้นมา เพราะในยุคนี้คนอื่นๆ สนใจ และสามารถมองเห็นสิ่งที่เราสร้างขึ้นได้ง่ายกว่าเดิม และสิ่งนี้ทำให้การตีความต่างไปจากเดิม เช่น มีเด็กคนหนึ่งถือ Mac มาเราคงไม่มองว่าเด็กคนนี้มันเท่ แต่คงมองว่าเด็กคนนี้น่าจะผลิตงานด้าน Graphic แม้จะเป็นการคาดเดาแต่ซึ่งอาจจะไม่ถูกทั้งสองอย่างแต่จะเห็นว่าการตีความเปลี่ยนจากรูปลักษณ์เป็นผลงานได้&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ผมสนับสนุนให้มองที่ผลงานครับ&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ดังนั้นหากคอมพิวเตอร์พัง ผมจะเสียดาย content ในเครื่องมากกว่าตัวเครื่อง หลายคนคงคิดเหมือนกัน...&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-106456225834258296?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/n2n6zDdxlEA/mac-not-represent-me.html</link><author>apirak@apirak.com</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/05/mac-not-represent-me.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-6062051584719108224</guid><pubDate>Thu, 23 Apr 2009 23:49:00 +0000</pubDate><atom:updated>2009-04-23T16:49:16.802-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">os x</category><category domain="http://www.blogger.com/atom/ns#">cut to dashboard</category><category domain="http://www.blogger.com/atom/ns#">mac</category><category domain="http://www.blogger.com/atom/ns#">dashboard</category><title>ใช้ "Cut to dashboard" เป็นครั้งแรก</title><description>&lt;a href="http://picasaweb.google.com/lh/photo/4Kz0AXXzE3rD-6TwvJcW8Q?feat=embedwebsite"&gt;&lt;img src="http://lh5.ggpht.com/_F2rZXyRWz5I/SfD7IA3s69I/AAAAAAAABzI/SjTW7pLbgLs/s800/Picture%202.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
ผมชอบ idea "Cut to dashboard" นะ เพราะมันช่วยให้เราไม่ต้องพิมพ์ url หรือเปิด browser ทุกครั้งที่ต้องการหาข้อมูล แถมยังช่วยย่นระยะเวลาในการพัฒนา dashboard ด้วย เช่นอยากได้ slide show ของ album ตัวเอง ก็สามารถเปิด picasa แล้วตัดส่วน slideshow มาใส่ใน dashboard ได้เลย&lt;br /&gt;
&lt;br /&gt;
แต่จนแล้วจนรอด ก็ไม่ได้ใช้ซักที จนเริ่มสงสัยว่าจริงๆ แล้วมันมาถูกเวลาหรือเปล่า... วันนี้ได้ใช้แล้วครับ&lt;br /&gt;
&lt;br /&gt;
จาก post ที่ผ่านมาเรื่อง Stencils ของ Omnigraffle ผมเข้าไปดู Download, Rating บ่อยมาก... สนุกกับการติดตามผลงาน :)  ตอนมี Stencils อันเดียวก็ไม่เป็นไร พอมีสองอันเริ่มเหนื่อย แต่ก็อยากดู ตอนนี้เลยปิ้ง idea ว่าเรามี "Cut to dash board นี่หว่า&lt;br /&gt;
&lt;br /&gt;
ว่าแล้วก็เอามาตัดเลยครับ ได้ผลดังนี้&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://picasaweb.google.com/lh/photo/M0JASjU4duUZHCbY1paLKg?feat=embedwebsite"&gt;&lt;img src="http://lh6.ggpht.com/_F2rZXyRWz5I/SfD7H4zWSuI/AAAAAAAABzE/XyKd4jwlw0c/s400/Picture%201.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
ได้ใช้ของที่มีอยู่ให้คุ้มค่ามันมีความสุขจริงๆ :)&lt;br /&gt;
&lt;br /&gt;
ปล. บน dashboard ของผม นอกจากตัว "Cut to dashboard" แล้ว ก็ยังมี "Stickies" "Calculator" และ "Currency Converter" ครับ&lt;br /&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-6062051584719108224?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/lp6bPfaHYlE/to-dashboard.html</link><author>apirak@apirak.com</author><media:thumbnail url="http://lh5.ggpht.com/_F2rZXyRWz5I/SfD7IA3s69I/AAAAAAAABzI/SjTW7pLbgLs/s72-c/Picture%202.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/04/to-dashboard.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-6405288669016492165</guid><pubDate>Thu, 23 Apr 2009 01:37:00 +0000</pubDate><atom:updated>2009-04-22T19:34:38.843-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">concept</category><category domain="http://www.blogger.com/atom/ns#">interface</category><title>ผู้ใช้ไม่รู้ Requirement</title><description>สิ่งที่ต้องเตือนตัวเองอยู่เสมอคือ "ผู้ใช้ไม่รู้ Requirement" แม้ว่าเราจะพูดว่า "ไปเก็บ Requirement" แต่จริงๆ แล้วสิ่งที่เราไปเก็บคือ "Need" ผู้ใช้อาจจะพร่ำอะไรออกมามากมาย อยากได้แบบโน้น อยากได้แบบนี้ แต่เราต้องดึง need ออกมาจากสิ่งเหล่านั้นให้ได้&lt;br /&gt;
&lt;br /&gt;
ดูจาก product ในรูป &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://picasaweb.google.com/lh/photo/a-UnvVS9iPXK4dydXlPnOA?feat=embedwebsite"&gt;&lt;img src="http://lh5.ggpht.com/_F2rZXyRWz5I/Se_FYQNwGuI/AAAAAAAAByk/7NSdaelnMkQ/s288/4749_djpg.jpg" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
ถ้าให้เก็บ Requirement จากผู้ใช้ตรงๆ น่าจะได้ว่า&lt;br /&gt;
&lt;ul&gt;
  &lt;li&gt;ช้อนใหญ่ๆ พอดีคำ&lt;/li&gt;
  &lt;li&gt;วางไว้ข้างๆ จานแล้วไม่หล่นง่าย เด็กๆ ชอบวิ่งไปวิ่งมา&lt;/li&gt;
  &lt;li&gt;ควรเก็บง่ายนะ ส่วนมากจะเป็นเด็กๆ ใช้เลยต้องแข็งแรง ไม่หักง่าย&lt;/li&gt;
  &lt;li&gt;ถ้าไม่หนักก็ดี&lt;/li&gt;
  &lt;li&gt;เอาแบบน่ารักๆ เก๋ๆ นะ&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
ถ้าดึง Need ออกมา น่าจะเหลือแค่&lt;br /&gt;
&lt;ul&gt;
  &lt;li&gt;ต้องใช้ตักเค๊กกินได้&lt;/li&gt;
  &lt;li&gt;เด็กต้องใช้ได้&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
ต่อจากนั้นเราก็มาสร้าง Requirement ของเราเองเพื่อตอบโจทย์ของ Need โดยไม่ต้องสนใจ Requirement ของผู้ใช้... หลายคนคงสงสัยว่าไม่ต้องไปสนใจเลยหรอ ขอย้ำอีกครั้งว่า ใช่!!! &lt;br /&gt;
&lt;br /&gt;
ถ้าอะไรที่เรากลับไปมองแล้วว่ามันสำคัญ ให้ดึงมาใส่ใน Need แล้วค่อยคิด Requirement ใหม่ เช่น ตอนนี้มี Need 2 ข้อ ถ้าผู้ใช้หรือทีมงานท้วงว่า "น้ำหนักสำคัญ" แสดงว่า น้ำหนักก็เป็น Need ให้ดึงน้ำหนักลงมา พร้อมใส่ตัวชี้วัด เช่น "น้ำหนักไม่เกิน 200g" &lt;br /&gt;
&lt;br /&gt;
แม้ว่าเรื่องน้ำหนักจะอยู่ในข้อ "เด็กต้องใช้ได้" แต่ถ้ามันเป็น Need เราจะไม่เอามาใส่ในข้อ "เด็กต้องใช้ได้" ไม่งั้นเราเองจำสับสนว่าอะไรเป็น need กันแน่&lt;br /&gt;
&lt;br /&gt;
ลองใช้โจทย์ข้อนี้สร้าง Requirement ขึ้นมา (น่าจะได้เกือบ 20 ข้อ โดยเฉพาะข้อ 2) แล้วจะพบว่า "ผู้ใช้ไม่มีทางรู้ Requirement" แน่นอน&lt;br /&gt;
&lt;br /&gt;
ที่มาของรูป: &lt;a href="http://www.swiss-miss.com/2009/04/candle-forks.html"&gt;swiss-miss.com&lt;/a&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-6405288669016492165?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/A5BSBD_oJdM/requirement.html</link><author>apirak@apirak.com</author><media:thumbnail url="http://lh5.ggpht.com/_F2rZXyRWz5I/Se_FYQNwGuI/AAAAAAAAByk/7NSdaelnMkQ/s72-c/4749_djpg.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/04/requirement.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-1721474924613277995</guid><pubDate>Wed, 22 Apr 2009 09:14:00 +0000</pubDate><atom:updated>2009-04-22T02:14:28.607-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">process</category><category domain="http://www.blogger.com/atom/ns#">linux</category><category domain="http://www.blogger.com/atom/ns#">port</category><category domain="http://www.blogger.com/atom/ns#">unix</category><title>หาว่า process อะไรใช้ port อยู่</title><description>วันนี้ Start web server แล้วเจอว่ามีคนจอง port 8006 อยู่ พยายาม ps, top ไม่สำเร็จซักตัว มี netstat -atun ใกล้เคียงที่สุดแต่มันก็ไม่บอกว่า process อะไรที่ใช้ port นั้นๆ อยู่&lt;br/&gt;
สุดท้ายได้คำสั่ง&lt;br/&gt;
&lt;br/&gt;
fuser -n tcp 8001&lt;br/&gt;
&lt;br/&gt;
มันจะบอกเสร็จเลยว่าใช้ process id อะไรที่ใช้อยู่ พร้อมให้เรา kill ได้เลย&lt;br/&gt;
&lt;br/&gt;
ถ้ายังหาไม่เจออีกต้องลอง
&lt;br/&gt;
sudo fuser -n tcp 8001&lt;br/&gt;
&lt;br/&gt;
เพราะบางทีคนที่จอง port ไว้อาจจะไม่ใช่ user เราก็ได้&lt;br/&gt;
ที่ดีมากๆ คือทั้งบน mac และ linux มีคำสั่งนี้ให้ใช้ทั้งคู่ครับ&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-1721474924613277995?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/3-NOCFWu7hY/process-port.html</link><author>apirak@apirak.com</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/04/process-port.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-3599115364113994877</guid><pubDate>Tue, 21 Apr 2009 02:29:00 +0000</pubDate><atom:updated>2009-04-21T18:49:20.353-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">omni graffle</category><category domain="http://www.blogger.com/atom/ns#">interface design</category><category domain="http://www.blogger.com/atom/ns#">interface</category><category domain="http://www.blogger.com/atom/ns#">gui</category><category domain="http://www.blogger.com/atom/ns#">sketch</category><title>Web Sketch Interface</title><description>วันก่อนต้องออกแบบ Application เลยทำ Sketch ของ Application ขึ้นมา &lt;a href="http://graffletopia.com/stencils/446"&gt;OS X Sketch Interface&lt;/a&gt; มาวันนี้ต้องออกแบบเว็บก็มีผลออกมาแบบนี้ครับ&lt;br/&gt;
&lt;br/&gt;
&lt;a href="http://picasaweb.google.com/lh/photo/tH2a7_tBYh4Fx5KFh7_rrA?feat=embedwebsite"&gt;&lt;img src="http://lh3.ggpht.com/_F2rZXyRWz5I/Se0tqXmQB7I/AAAAAAAAByE/9OcwcBiMjSs/s400/original-1.png" /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
ผมเอาไปไว้ที่ &lt;a href="http://graffletopia.com/stencils/459"&gt;Graffletopia.com&lt;/a&gt; นะครับ สนใจเข้าไป &lt;a href="http://graffletopia.com/stencils/459"&gt;Download&lt;/a&gt; ได้เลย&lt;br/&gt;
&lt;br/&gt;
เริ่มรู้สึกว่าเดี๋ยวนี้เวลาทำอะไรต้องทำให้ตัวเอง เอาไปใช้อีกได้ง่ายๆ ไม่พยายามมักง่ายทำแบบให้เสร็จๆ ไปเป็นครั้งๆ (ถึงแม้ว่ามันจะเย้ายวนเพียงใดก็ตาม) ถ้าใครได้ใช้แล้วอยากได้ component อะไรเพิ่มเติมก็บอกได้นะครับ นึกไม่ค่อยออก อยากใช้ค่อยทำเพิ่มลงไป :)

&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-3599115364113994877?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/aagCoU6yL5w/web-sketch-interface.html</link><author>apirak@apirak.com</author><media:thumbnail url="http://lh3.ggpht.com/_F2rZXyRWz5I/Se0tqXmQB7I/AAAAAAAAByE/9OcwcBiMjSs/s72-c/original-1.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/04/web-sketch-interface.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-7609656831316845499</guid><pubDate>Wed, 08 Apr 2009 01:39:00 +0000</pubDate><atom:updated>2009-04-07T18:40:32.316-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">color</category><category domain="http://www.blogger.com/atom/ns#">terminal</category><category domain="http://www.blogger.com/atom/ns#">apple</category><title>ใส่สีให้ terminal</title><description>เรื่องสีใน terminal นี่เขียนไว้ตั้งแต่ตอน Panther แล้ว ตอนนั้นยังทำยากอยู่ถึงขั้นต้องลงโปรแกรมเสริม มาใน Leopard ทำง่ายขึ้นมาก ต้องจดเอาไว้ก่อน&lt;br/&gt;
&lt;br/&gt;
เปิดไฟล์
&lt;pre class="brush: bash;"&gt;
  vi ~/.bash_profile
&lt;/pre&gt;
&lt;br/&gt;
เพิ่มสองบรรทัดนี้ลงไป
&lt;pre class="brush: bash;"&gt;
 export CLICOLOR=1
 export LSCOLORS=ExFxCxDxBxegedabagacad
&lt;/pre&gt;
จากนั้นลองเปิด terminal ใหม่ เวลา ls ก็จะมีสีแล้ว&lt;br/&gt;
ถึงตอนแรกจะบอกว่าใส่สีให้ terminal แต่จริงๆ แค่ใส่สีให้ ls เท่านั้นเอง ขั้นต่อไปต้องใส่สีให้ vi&lt;br/&gt;

ที่มา &lt;a href="http://www.mactips.org/archives/2005/08/02/color-your-os-x-command-prompt"&gt;Mac Tip.org&lt;/a&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-7609656831316845499?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/YCxdE3AcyYg/terminal.html</link><author>apirak@apirak.com</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/04/terminal.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-6108943627436268312</guid><pubDate>Thu, 02 Apr 2009 15:08:00 +0000</pubDate><atom:updated>2009-04-02T08:33:40.662-07:00</atom:updated><title>ปิดเปิดไฟบน web page</title><description>เป็นแนวคิดที่เท่มากๆ ก่อนหน้านี้ผมมีปัญหาว่า การแสดงวีดีโอจะสวยต้องให้ Back ground เป็นสีดำ เหมือนที่โรงหนังต้องมืด แต่ถ้าทำให้เว็บเป็นสีดำ ก็จะไม่เหมาะกับการอ่าน text เพราะตัวหนังสือขาวที่อยู่บนพื้นสีดำ จะอ่านยาก ดังนั้นเว็บอย่าง youtube ที่มี content เยอะๆ จึงต้องเป็นสีขาว&lt;br/&gt;
&lt;br/&gt;
&lt;a href="http://picasaweb.google.com/lh/photo/HGbnuJeR2FwVMYzOoi-ENg?feat=embedwebsite"&gt;&lt;img src="http://lh5.ggpht.com/_F2rZXyRWz5I/SdTSiCEkV2I/AAAAAAAABwE/4lMKlxPfq0c/s400/Picture%209.png" /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
แต่เว็บนี้เป็นเว็บภาพ วีดีโอนะต้องเป็นสีเข้มสิ คิดได้ดังนั้น youtube เลยทำปุ่มปิดไฟซะเลย&lt;br/&gt;
&lt;br/&gt;
&lt;a href="http://picasaweb.google.com/lh/photo/Ohqsd6okWmJqqoao0IAUsA?feat=embedwebsite"&gt;&lt;img src="http://lh4.ggpht.com/_F2rZXyRWz5I/SdTSaSJOCSI/AAAAAAAABwA/BmB2O0AE900/s400/Picture%2010.png" /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
เมื่อต้องการให้เว็บดำก็ปิดไฟซะ ตรงไป ตรงมาดี&lt;br/&gt;
&lt;br/&gt;
&lt;a href="http://picasaweb.google.com/lh/photo/JSvAwd4X-ozJbpORXyYH3g?feat=embedwebsite"&gt;&lt;img src="http://lh4.ggpht.com/_F2rZXyRWz5I/SdTSSHvr-YI/AAAAAAAABv8/WQo3TZZDBWE/Picture%208.png" /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
 แต่ให้ปิดไฟทุกครั้งที่ดูก็ไม่ไหวนะ ถึงอย่างนั้นก็เป็น idea ที่เอาไปใช้ได้อีกหลายงานดีเดียว&lt;br/&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-6108943627436268312?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/KDxv_poM4dg/web-page.html</link><author>apirak@apirak.com</author><media:thumbnail url="http://lh5.ggpht.com/_F2rZXyRWz5I/SdTSiCEkV2I/AAAAAAAABwE/4lMKlxPfq0c/s72-c/Picture%209.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.apirak.com/2009/04/web-page.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-3912235839367370247</guid><pubDate>Wed, 25 Mar 2009 02:16:00 +0000</pubDate><atom:updated>2009-03-24T19:19:49.306-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Untitled</category><category domain="http://www.blogger.com/atom/ns#">key binding</category><category domain="http://www.blogger.com/atom/ns#">netbean</category><category domain="http://www.blogger.com/atom/ns#">shortcut</category><title>เตรียมพร้อมสำหรับ Netbean 6.7</title><description>&lt;p&gt;ปัญหาอันดับหนึ่งคือ short cut ใน netbean พอเราเปลี่ยนมาใช้ Profile Eclipse จะทำให้พวก command หรือ ctrl มันสลับไปเป็นของ windows หมด ทำให้ไม่คุ้นมือ สิ่งที่พอทำได้คือต้องไป map เอาเอง&lt;/p&gt;&lt;a href="http://picasaweb.google.com/lh/photo/nOQgOujEMKSseknJD5pfEA?feat=embedwebsite"&gt;&lt;img src="http://lh6.ggpht.com/_F2rZXyRWz5I/ScmRJ3PRI4I/AAAAAAAABvY/f4OskqJ8WQk/s288/Picture%203.png" /&gt;&lt;/a&gt;&lt;br /&gt;
จดเอาไว้กันลืมว่าต้อง map อะไรบ้าง&lt;br /&gt;
&lt;br /&gt;
Edit&lt;br /&gt;
1. Go to Line [Meta+L]&lt;br /&gt;
&lt;br /&gt;
Other&lt;br /&gt;
1. Extend Selection to Beginning of Line [Shift + Meta + Left]&lt;br /&gt;
2. Extend Selection to End of Line [Shift + Meta + Right]&lt;br /&gt;
3. Insertion Point to Beginning of Line [Meta+ Left]&lt;br /&gt;
4. Insertion Point to End of Line [Meta + Right]&lt;br /&gt;
5. Move Selection else Line down [Meta+Down]&lt;br /&gt;
6. Move Selection else Line up [Meta+Up]&lt;br /&gt;
&lt;br /&gt;
System&lt;br /&gt;
1. Save [Meta+S]&lt;br /&gt;
2. Save all [Meta+Shift+S]&lt;br /&gt;
&lt;br /&gt;
เท่านี้ชีวิตก็มีความสุขขึ้นอีกนิด&lt;br /&gt;

&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-3912235839367370247?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/fQeT8O64oes/netbean-67.html</link><author>apirak@apirak.com</author><media:thumbnail url="http://lh6.ggpht.com/_F2rZXyRWz5I/ScmRJ3PRI4I/AAAAAAAABvY/f4OskqJ8WQk/s72-c/Picture%203.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/03/netbean-67.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-287422396613151744</guid><pubDate>Wed, 18 Mar 2009 12:40:00 +0000</pubDate><atom:updated>2009-03-18T05:42:17.056-07:00</atom:updated><title>ความเป็น google citizen ของผม</title><description>&lt;p&gt;ต่อไปการสังกัด Google, Yahoo, Microsoft หรือ Apple อาจจะรุนแรงกว่าการเป็นประชาชนของประเทศก็ได้ เพราะโลก online สำคัญขึ้นทุกวันๆ ไปอยู่ต่างประเทศยังไปได้ แต่ mail หายนี่แย่เลย (อดีตของผม หมดกัน)&lt;/p&gt;
&lt;p&gt;identity ของเราในประเทศนี้คือบัตรประชาชน ส่วน identity ของตัวเราเองอาจเป็นการที่แม่ค้าปากซอยจำชื่อเราได้ มาในโลก online ก็มีเหมือนกัน เช่น Hi5, OpenID, หรือ Blog ของตัวเราเอง&lt;/p&gt;
&lt;p&gt;ตอนนี้เริ่มแยกไม่ออกว่าสิ่งไหนเป็นสิ่งที่บอกตัวตนของเราได้มากกว่ากัน แต่ตอนนี้ผมเอา online identity ไปฝากไว้กับ Google มากมายทีเดียวครับเริ่มตั้งแต่&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Mail: ผมใช้ gmail กับงานสำคัญที่ต้องอยู่กันยาวๆ&lt;/li&gt;

  &lt;li&gt;Second Mail: ผมใช้ google app จด apirak@apirak.com เอาไว้ ใช้งานทั่วไป แต่ไม่ใช้ถาวรเพราะ domain อาจจะหายได้ ถ้าผมไม่สามารถต่ออายุ ได้เป็นเวลานาน (เช่น โดนลักพาตัวหายไปสองปี หรือง่ายกว่านั้นคือลืม)&lt;/li&gt;

  &lt;li&gt;Docs: ความรู้ส่วนใหญ่เก็บ online ไว้ที่นี่ ไม่ต้องกลัวเครื่องพัง&lt;/li&gt;

  &lt;li&gt;Address book: ตอนนี้เก็บไว้กับ google หมดแล้ว มือถือหายก็ไม่กลัว&lt;/li&gt;

  &lt;li&gt;Calendar: วันเกิดแฟน วันพบกันครั้งแรก หรือวันสำคัญต่างๆ ก็ย้อนอดีตไปหาได้ตลอด&lt;/li&gt;

  &lt;li&gt;Blog: ผมไม่ทำ drupal, wordpress เองแล้วครับ พบว่าทำเองมี over head มากเกินไป ตอนนี้ apirak.com ย้ายมาอยู่กับ blogger ของ google ไปแล้ว&lt;/li&gt;

  &lt;li&gt;Blog 2: Blog อื่นๆ ก็มาอยู่กับ blogger หมด&lt;/li&gt;

  &lt;li&gt;Photo: ตอนนี้ใช้ Picasaweb อยู่ แต่ด้วยมีรูปไว้ 30G ตัว Picasa คงรับไม่ไหว รูป 5 ดาว เก็บไว้กับ Picasa หมด&lt;/li&gt;

  &lt;li&gt;IM: ใช้ GTalk บ่อยกว่า MSN ซะแล้ว&lt;/li&gt;

  &lt;li&gt;Feed: ตอนนี้ใช้ google reader หมดใจ ไม่เหลือให้ safari หรือ feed reader อื่นๆ แล้ว&lt;/li&gt;

  &lt;li&gt;Mailing list: ย้ายมาจาก Yahoo group มาอยู่ Google จนตอนนี้มี Group ของเพื่อนๆ เกือบ 10 กลุ่มแล้ว&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;แบบไม่เต็มตัว&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Movie: ผมฝากให้บน youtube นะเฉพาะอันที่ต้องการใส่ใน blog นอกนั้นก็ยังเก็บไว้กับเครื่องตัวเอง&lt;/li&gt;

  &lt;li&gt;Notebook: เค้าปิดไปแล้ว ทำให้เกิดความสยองขึ้นมากมาย การจะย้าย content ไปไว้ที่ google docs ก็เหนื่อยอยู่&lt;/li&gt;

  &lt;li&gt;Map: สถานที่สำคัญ ผมจดไว้ในนี้ครับ โดยเฉพาะที่เที่ยวที่เคยไป หรือร้านอาหารอร่อยๆ&lt;/li&gt;

  &lt;li&gt;Visitor Statistic: ตัวชี้วัดความเป็นที่รู้จัก อันนี้อยู่บน Google Analytics ทุก blog&lt;/li&gt;

  &lt;li&gt;Feed Statistic: ก็ใช้ Feed burner ครับ กลายเป็นของ Google เหมือนกัน&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ลองเขียนออกมาแล้วเยอะกว่าที่คิดเฮะ ถ้า AIG จะล้มละลายคงต้องให้ US ช่วยอุ่ม แต่ถ้า Google จะลม ทั้งโลกคงต้องช่วยอุ้มเลยละครับ&lt;/p&gt;

&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-287422396613151744?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/wA6dx8tLj5o/google-citizen.html</link><author>apirak@apirak.com</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.apirak.com/2009/03/google-citizen.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-2486853719178157471</guid><pubDate>Sat, 14 Mar 2009 15:59:00 +0000</pubDate><atom:updated>2009-03-14T08:59:35.675-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">google</category><title>Feedburner กลายเป็นของ Google ไปซะแล้ว</title><description>หลังจากย้ายบ้านมาที่ blogger วันนี้มาจัดการเรื่อง feed บน feedburner พอ login มันก็บอกว่าต่อไปให้ใช้ google account แทน แล้วพาเราเข้าไปที่&lt;br /&gt;
&lt;br /&gt;
http://feedburner.google.com&lt;br /&gt;
&lt;br /&gt;
ไม่รู้แบบนี้แปลว่า google ซื้อ feedburner ไปแล้วหรือเปล่า แต่ทำแบบนี้น่าสนใจทีเดียวเพราะช่วยให้ระบบโฆษณาสมบูรณ์แบบมากขึ้น คนทำ web ก็ไม่ต้องมาจัดการ โฆษณาผ่าน feed ด้วยตนเอง เพราะทำออกมาให้ดีได้ยาก&lt;br /&gt;

&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-2486853719178157471?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/wbgK_u7-4B8/feedburner-google.html</link><author>apirak@apirak.com</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.apirak.com/2009/03/feedburner-google.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-7868704103217181847</guid><pubDate>Fri, 13 Mar 2009 15:01:00 +0000</pubDate><atom:updated>2009-03-13T20:39:35.235-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ruby</category><category domain="http://www.blogger.com/atom/ns#">php</category><category domain="http://www.blogger.com/atom/ns#">refractor</category><title>ruby แปลงตัวเลข เป็นตัวหนังสือ</title><description>ตอยอดงานของคุณ MRTIGER จาก&lt;br /&gt;
http://admincmd.blogspot.com/2007/08/php-convert-digit-to-thai-word.html&lt;br /&gt;
เอามาแปลงเป็น ruby ได้ผลออกมาแบบนี้&lt;br /&gt;

&lt;pre class="brush: ruby"&gt;
def convert(number)
  txtnum1 = ['ศูนย์','หนึ่ง','สอง','สาม','สี่','ห้า','หก','เจ็ด','แปด','เก้า','สิบ']
  txtnum2 = ['','สิบ','ร้อย','พัน','หมื่น','แสน','ล้าน']
  number.gsub!(",","") 
  number.gsub!(" ","")
  number.gsub!("บาท","")
  numbers = number.split(".")
  
  if(numbers.length&gt;2) 
    return "มีเครื่องหมาย '.' มากกว่า 1 ตัว" 
  end

  strlen = numbers.first.length
  convert = ""

  0.upto(strlen-1) do |i|
    n = numbers.first[i].chr.to_i
    if (n.chr != "0") 
      if ( i == (strlen-1) and n == 1)
        convert = convert + "เอ็ด"
      elsif ( i == (strlen-2) and n == 2)
        convert = convert + "ยี่"
      elsif ( i == (strlen-2) and n == 1)
        convert = convert + ""
      else
        puts "n = #{n.chr.to_i}"
        convert = convert + txtnum1[n]
      end
      convert = convert + txtnum2[strlen-i-1] 
    end 
  end

  convert = convert + "บาท" 
  if(numbers[1]=="0" or numbers[1]=="00" or numbers[1]=="")
    convert = convert + "ถ้วน"
  else 
    strlen = numbers[1].length
    0.upto(strlen-1) do |i|
      n = numbers.last[i].chr.to_i 
      if(n!=0)
        if(i==(strlen-1) and n==1)
          convert = convert + 'เอ็ด'
        elsif(i==(strlen-2) and n==2)
          convert = convert + 'ยี่'
        elsif(i==(strlen-2) and n==1)
          convert = convert + ''
        else
          convert = convert + txtnum1[n] 
        end
        convert = convert + txtnum2[strlen-i-1] 
      end
    end 
    convert = convert + 'สตางค์' 
  end
  return convert
end

x = convert('5,121.10 บาท')
puts x
&lt;/pre&gt;

&lt;br/&gt;
โปรแกรมสามารถ Refractor ได้อีก 2 ตลบ อันแรกคือ loop แทนที่จะวนด้วยตัวเลข ก็ใช้ string.each ได้เลย อีกอันคือโปรแกรมนี้ทำส่วนจำนวนเต็มกับทศนิยม คล้ายกันมาก น่าจะแยกออกมาเป็น function ได้
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-7868704103217181847?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/4yeem_VMo1A/function.html</link><author>apirak@apirak.com</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/03/function.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-8484335515054166455</guid><pubDate>Tue, 10 Mar 2009 17:39:00 +0000</pubDate><atom:updated>2009-03-14T08:29:31.203-07:00</atom:updated><title>Rails podcast in Thai</title><description>&lt;p&gt;ลองทำ pod cast ของ rails ดู เห็นมีหลายคนบ่นๆ ว่า rails podcast บน internet เป็น rails 1.2 มันเอามาใช้ไม่ได้กับ 2.0 ก็เลยลองทำของ 2.0 ดู ทำมาสองตัวคือ การเขียน blog ด้วย rails กับการเขียน blog แล้วมี comment ด้วย จริงๆ อยากจะเอาตัวที่เป็น blog ขึ้นมาก่อน แต่ดัน upload ตัวที่เป็น blog + comment เสร็จซะแล้ว ไว้จะเอาอีกตัวขึ้นวันพรุ่งนี้นะครับ&lt;/p&gt;
&lt;p&gt;&lt;a href="http://files.apirak.com/downloads/Rails_blog_comment.m4v"&gt;&lt;img src="http://files.apirak.com/downloads/rails_blog.png" /&gt;&lt;/a&gt; &lt;a href="/downloads/Rails_blog_comment.m4v"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://files.apirak.com/downloads/Rails_blog_comment.m4v"&gt;download&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;

&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-8484335515054166455?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/rIAsik3UbfQ/rails-podcast-in-thai.html</link><author>apirak@apirak.com</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/03/rails-podcast-in-thai.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7114220.post-1759972375995285293</guid><pubDate>Tue, 10 Mar 2009 17:39:00 +0000</pubDate><atom:updated>2009-03-13T16:51:34.147-07:00</atom:updated><title>customize text_field</title><description>&lt;p&gt;ได้แรงบรรดาลใจมาจาก blog ของ PunNeng &lt;a href="http://weblog.punneng.com/2008/6/28/ruby-on-rails-customize-form-helper"&gt;หน้านี้&lt;/a&gt; พยายามเอามาใช้กับ project ที่ทำงานอยู่แต่ทำยังไงก็ไม่ work ซะที สงสัยเพราะว่าใช้ rails คนละ version กัน ดูใน ruby trac เค้าบอกว่าจะปรับ attribute ของ form_for ใหม่ แต่ตอนนั้นดูแบบคร่าวๆ เพราะไม่รู้ว่าต้องแก้ตรงนี้&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;สุดท้ายมั่วไปมั่วมาได้ resolution ว่าให้สร้าง file doo_form_helper.rb ไว้ที่ app/helper แบบนี้ &lt;br/&gt;

&lt;pre class="brush: ruby;"&gt;
module DooFormHelper 
  def doo_form_for(record_or_name_or_array, *args, &amp;amp;proc) 
    form_for(record_or_name_or_array, *(args &amp;lt;&amp;lt; {:builder =&amp;gt; DooFormFor}), &amp;amp;proc) 
  end 

  class DooFormFor &amp;lt; ActionView::Helpers::FormBuilder 
    def text_field(method, options = {}) 
      @template.content_tag('p', label(method) + "" + super) 
    end 
  end 
end
&lt;/pre&gt; 

จากนั้นที่ _form.html.erb ก็ใช้ doo_form_for แทน ผมลองบน rails 2.0.2 ครับ ไม่รู้ว่า 2.1 จะสามารถใส่ :builder ลงใน form_for เลยได้หรือเปล่า ประมาณนี้ แต่ผมชอบแบบใช้ doo_form_for มากกว่า ดูลึกลับดี ปล. ที่ใช้คำว่า doo ไม่ได้มีความหมายพิเศษครับ แต่เพราะ project ที่ทำงานชื่อว่า dooExpert เลยใช้คำว่า doo นำหน้าน่ะครับ &lt;!--break--&gt;

&lt;/p&gt;


&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7114220-1759972375995285293?l=www.apirak.com'/&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/apirak/~3/B4gPQqDSz5s/customize-textfield.html</link><author>apirak@apirak.com</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.apirak.com/2009/03/customize-textfield.html</feedburner:origLink></item><language>en-us</language><media:rating>nonadult</media:rating><media:description type="plain">Apirak.com Panatkool</media:description></channel></rss>
