<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>nattster</title>
	<atom:link href="http://nattster.siamdev.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://nattster.siamdev.net</link>
	<description>ก็ชอบเขียนโปรแกรมอ่ะ...ผิดตรงไหน!?</description>
	<lastBuildDate>Thu, 11 Mar 2010 04:56:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		
<!-- Start Of Script Generated By WP-PostViews Plus -->
<script type='text/javascript' src='http://nattster.siamdev.net/wp-includes/js/jquery/jquery.js?ver=1.3.2'></script>
<script type="text/javascript">
/* <![CDATA[ */
/* ]]> */
</script>
<!-- End Of Script Generated By WP-PostViews Plus -->
	<item>
		<title>Ubuntu 3G ด้วย DTAC Aircard + Data Counter</title>
		<link>http://nattster.siamdev.net/2010/03/ubuntu-3g-data-counter/</link>
		<comments>http://nattster.siamdev.net/2010/03/ubuntu-3g-data-counter/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 04:46:53 +0000</pubDate>
		<dc:creator>nattster</dc:creator>
				<category><![CDATA[โปรแกรม/เครื่องมือ]]></category>
		<category><![CDATA[3g]]></category>
		<category><![CDATA[data counter]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://nattster.siamdev.net/?p=654</guid>
		<description><![CDATA[
วิธีตั้งค่า
1. ใส่ Sim card แล้วเสียบ Aircard เข้ากับคอม
2. รอ Aircard เชื่อมต่อเขากับเครือข่าย (ไฟกระพริบสีฟ้า)
3. ลอง lsusb จะเจอ Huawei Technologies Co., Ltd. E620 USB Modem
4. คลิกขวาที่ Network Manager เลือก Edit Connections&#8230;


5. คลิกที่ Tab Mobile Broadband กดปุ่ม Add
6. จะปรากฏหน้าต่างดังนี้ เลือก Device เป็น HUAWEI Technology HUAWEI Mobile แล้วกด Forward

7. เลือก Thailand กด Forward อีกรอบ
8. เลือก I can&#8217;t find my provider&#8230; แล้วตั้งชื่อ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://nattster.siamdev.net/wp-content/uploads/2010/03/2010-03-10-18.18.58.jpg"><img src="http://nattster.siamdev.net/wp-content/uploads/2010/03/2010-03-10-18.18.58.jpg" alt="" title="2010-03-10 18.18.58" width="150" height="175" class="alignleft size-full wp-image-662" /></a></p>
<h3>วิธีตั้งค่า</h3>
<p>1. ใส่ Sim card แล้วเสียบ Aircard เข้ากับคอม<br />
2. รอ Aircard เชื่อมต่อเขากับเครือข่าย (ไฟกระพริบสีฟ้า)<br />
3. ลอง lsusb จะเจอ Huawei Technologies Co., Ltd. E620 USB Modem<br />
4. คลิกขวาที่ Network Manager เลือก Edit Connections&#8230;<br />
<span id="more-654"></span><br />
<a href="http://nattster.siamdev.net/wp-content/uploads/2010/03/step1.png"><img src="http://nattster.siamdev.net/wp-content/uploads/2010/03/step1.png" alt="" title="step1" width="326" height="156" class="aligncenter size-full wp-image-658" /></a><br />
5. คลิกที่ Tab Mobile Broadband กดปุ่ม Add<br />
6. จะปรากฏหน้าต่างดังนี้ เลือก Device เป็น HUAWEI Technology HUAWEI Mobile แล้วกด Forward<br />
<a href="http://nattster.siamdev.net/wp-content/uploads/2010/03/step2.png"><img src="http://nattster.siamdev.net/wp-content/uploads/2010/03/step2-300x204.png" alt="" title="step2" width="300" height="204" class="aligncenter size-medium wp-image-659" /></a><br />
7. เลือก Thailand กด Forward อีกรอบ<br />
8. เลือก I can&#8217;t find my provider&#8230; แล้วตั้งชื่อ เช่น i-mobile 3GX แล้วก็กด Forward<br />
9. กำหนด APN (Access Point Name) ของเครือข่ายผมใช้ Internet แล้วก็กด Forward<br />
10. กด Apply อีก 2 ครั้ง<br />
11. ตอนนี้เวลาคลิกที่ไอคอน Network Manager จะปรากฏรายชื่อเครือข่าย Mobile Broadband ให้คลิกเพื่อเชื่อมต่อได้แล้วครับ<br />
<a href="http://nattster.siamdev.net/wp-content/uploads/2010/03/step3.png"><img src="http://nattster.siamdev.net/wp-content/uploads/2010/03/step3-300x203.png" alt="" title="step3" width="300" height="203" class="aligncenter size-medium wp-image-660" /></a></p>
<h3>ปัญหาที่เจอ</h3>
<p>	เวลาใช้บน Ubuntu เราไม่มีโปรแกรมช่วยต่อแบบบน Windows ตัว Aircard เลยเลือกเชื่อมต่อเครือข่ายที่สัญญาณแรงที่สุด แถวหอผม สัญญาณ TOT 3G บางทีก็เบา ตัว Aircard มันก็เลยต่อ AIS GSM ให้ พอ connect ปั๊บก็ใช้เน็ตไม่ได้ เพราะผิดเครือข่าย<br />
	วิธีแก้คือ Disconnect แล้วก็ถอด/เสีย Aircard ใหม่อีกรอบครับ</p>
<h3>Data Counter สำหรับ Ubuntu</h3>
<p>	คนใช้ 3G ทุกคนคงต้องกังวลเรื่อง Bandwidth (ปริมาณข้อมูลที่รับส่งในแต่ละเดือน) บน Ubuntu สามารถดูปริมาณอัพโหลด/ดาวน์โหลดได้ด้วยคำสั่ง ifconfig ppp0 ดังนี้ครับ</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">ifconfig</span> ppp0</pre></div></div>

<p>แต่ถ้าต้องนั่งจดเองทุกครั้งที่ต่อเน็ต ก็คงเหนื่อยเนาะครับ (ผมทำอยู่เดือนนึง หะๆ)</p>
<p>ผมเลยเขียน script เล็กๆ ไปฝากไว้เป็น Network Manager dispatcher ช่วยเก็บ log bandwidth ให้อัตโนมัติทุกครั้งที่ disconnect ครับ</p>
<p>สร้างไฟล์ 02datacounter ไว้ที่ /etc/NetworkManager/dispatcher.d / ให้มีเนื้อหาดังนี้<br />
ใช้คำสั่ง</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> gedit <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>NetworkManager<span style="color: #000000; font-weight: bold;">/</span>dispatcher.d<span style="color: #000000; font-weight: bold;">/</span>02datacounter</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash </span>
<span style="color: #007800;">IF</span>=$<span style="color: #000000;">1</span> 
<span style="color: #007800;">STATUS</span>=$<span style="color: #000000;">2</span> 
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$IF</span>&quot;</span> = <span style="color: #ff0000;">&quot;ppp0&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span> 
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$STATUS</span>&quot;</span> = <span style="color: #ff0000;">&quot;down&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span> 
        <span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>messages <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #ff0000;">'pppd.*Sent.*received'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">tail</span> <span style="color: #660033;">-1</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>nattster<span style="color: #000000; font-weight: bold;">/</span>logs<span style="color: #000000; font-weight: bold;">/`</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>b<span style="color: #000000; font-weight: bold;">`</span>.txt 
    <span style="color: #000000; font-weight: bold;">fi</span> 
<span style="color: #000000; font-weight: bold;">fi</span></pre></div></div>

<p>Script ข้างบนจะเก็บ log ไว้ในโฟลเดอร์ /home/nattster/logs/ ครับ โดยแยกตามเดือน เช่น Jan.txt, Feb.txt, Mar.txt, …</p>
<p>สร้างไฟล์ /home/nattster/logs/report.py มีเนื้อหาตามนี้ครับ (ใช้วิเคราะห์ log สร้างรายงานการใช้ bandwidth)</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># by Natt Piyapramote (@nattster)</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">re</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">glob</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> analyze<span style="color: black;">&#40;</span>filename<span style="color: black;">&#41;</span>:
	p = <span style="color: #dc143c;">re</span>.<span style="color: #008000;">compile</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'([A-Za-z]+ [ 0-9]+) .* Sent (.*) bytes, received (.*) bytes.'</span><span style="color: black;">&#41;</span>
&nbsp;
	f = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span>filename, <span style="color: #483d8b;">'r'</span><span style="color: black;">&#41;</span>.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	m = p.<span style="color: black;">findall</span><span style="color: black;">&#40;</span>f<span style="color: black;">&#41;</span>
&nbsp;
	bw = <span style="color: black;">&#123;</span><span style="color: black;">&#125;</span>
	sumbw = <span style="color: #ff4500;">0</span>
	<span style="color: #ff7700;font-weight:bold;">for</span> x <span style="color: #ff7700;font-weight:bold;">in</span> m:
		day, up, down = x
		<span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> bw.<span style="color: black;">has_key</span><span style="color: black;">&#40;</span>day<span style="color: black;">&#41;</span>:
			bw<span style="color: black;">&#91;</span>day<span style="color: black;">&#93;</span> = <span style="color: #ff4500;">0</span>
		bw<span style="color: black;">&#91;</span>day<span style="color: black;">&#93;</span> += <span style="color: #008000;">int</span><span style="color: black;">&#40;</span>up<span style="color: black;">&#41;</span>+<span style="color: #008000;">int</span><span style="color: black;">&#40;</span>down<span style="color: black;">&#41;</span>
		sumbw += <span style="color: #008000;">int</span><span style="color: black;">&#40;</span>up<span style="color: black;">&#41;</span>+<span style="color: #008000;">int</span><span style="color: black;">&#40;</span>down<span style="color: black;">&#41;</span>
&nbsp;
	<span style="color: #ff7700;font-weight:bold;">for</span> day <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">sorted</span><span style="color: black;">&#40;</span>bw.<span style="color: black;">keys</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>:
		<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">'   %s bw = %.2f MB'</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span>day,<span style="color: black;">&#40;</span>bw<span style="color: black;">&#91;</span>day<span style="color: black;">&#93;</span>/<span style="color: #ff4500;">1024.0</span>/<span style="color: #ff4500;">1024.0</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
	<span style="color: #ff7700;font-weight:bold;">print</span> filename, <span style="color: #483d8b;">'Total = %.2f MB'</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span>sumbw/<span style="color: #ff4500;">1024.0</span>/<span style="color: #ff4500;">1024.0</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">for</span> <span style="color: #008000;">file</span> <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #dc143c;">glob</span>.<span style="color: #dc143c;">glob</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'*.txt'</span><span style="color: black;">&#41;</span>:
	analyze<span style="color: black;">&#40;</span><span style="color: #008000;">file</span><span style="color: black;">&#41;</span></pre></div></div>

<p>เมื่อลองรันจะได้ผลลัพธ์ดังนี้ครับ</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ python report.py 
   Mar  <span style="color: #000000;">1</span> bw = <span style="color: #000000;">75.78</span> MB
   Mar  <span style="color: #000000;">2</span> bw = <span style="color: #000000;">8.20</span> MB
   Mar  <span style="color: #000000;">3</span> bw = <span style="color: #000000;">81.57</span> MB
   Mar  <span style="color: #000000;">4</span> bw = <span style="color: #000000;">97.50</span> MB
   Mar  <span style="color: #000000;">5</span> bw = <span style="color: #000000;">1.85</span> MB
   Mar  <span style="color: #000000;">6</span> bw = <span style="color: #000000;">21.89</span> MB
   Mar  <span style="color: #000000;">7</span> bw = <span style="color: #000000;">41.43</span> MB
   Mar  <span style="color: #000000;">8</span> bw = <span style="color: #000000;">13.83</span> MB
   Mar  <span style="color: #000000;">9</span> bw = <span style="color: #000000;">100.00</span> MB
   Mar <span style="color: #000000;">10</span> bw = <span style="color: #000000;">3.77</span> MB
   Mar <span style="color: #000000;">11</span> bw = <span style="color: #000000;">77.11</span> MB
Mar.txt Total = <span style="color: #000000;">522.94</span> MB</pre></div></div>

<h3>หมายเหตุ:</h3>
<p>- อย่าลืมเปลี่ยน /home/nattster/ เป็น home directory ของคุณ หรือ path อื่นๆ ที่จะเก็บ log<br />
- แก้ ppp0 เป็นชื่อ interface ที่ถูกต้องด้วยนะครับ (ดูรายชื่อ interface ได้ด้วยคำสั่ง ifconfig ครับ)</p>
]]></content:encoded>
			<wfw:commentRss>http://nattster.siamdev.net/2010/03/ubuntu-3g-data-counter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting a FTDI USB-to-Serial converter to work on Ubuntu 9.10</title>
		<link>http://nattster.siamdev.net/2010/02/getting-a-ftdi-usb-to-serial-converter-to-work-on-ubuntu-9-10/</link>
		<comments>http://nattster.siamdev.net/2010/02/getting-a-ftdi-usb-to-serial-converter-to-work-on-ubuntu-9-10/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 12:57:32 +0000</pubDate>
		<dc:creator>nattster</dc:creator>
				<category><![CDATA[เทคนิค]]></category>
		<category><![CDATA[ftdi]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[micropro]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://nattster.siamdev.net/?p=638</guid>
		<description><![CDATA[ I bought a USB-to-Serial converter from ETTeam.com and test it with Ubuntu 9.10 (Karmic kernel 2.6.31-18-generic.) I&#8217;ve found that it doesn&#8217;t show as /dev/ttyUSB0 as other generic USB-to-Serial converter do.

I&#8217;ve been googling for the solution for a while and found this bug report: ftdi serial driver broken in linux-image-2.6.31-14-generic (2.6.31-14.48)
It said that the fix [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.etteam.com/product/intf/et-usb-rs232-mini.jpg" width="200" align="left" style="padding: 5px;" /> I bought a USB-to-Serial converter from ETTeam.com and test it with Ubuntu 9.10 (Karmic kernel 2.6.31-18-generic.) I&#8217;ve found that it doesn&#8217;t show as /dev/ttyUSB0 as other generic USB-to-Serial converter do.<br />
<span id="more-638"></span><br />
I&#8217;ve been googling for the solution for a while and found this bug report: <a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/460857">ftdi serial driver broken in linux-image-2.6.31-14-generic (2.6.31-14.48)</a><br />
It said that the fix is released with linux-kernel 2.6.32-13.18.</p>
<p>So I download a new 2.6.32 kernel package (.deb) from <a href="http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.32.8/">Ubuntu&#8217;s kernel-ppa</a>. I installed these package with a command:</p>

<div class="wp_syntax"><div class="code"><pre class="generic" style="font-family:monospace;">sudo dpkg -i *.deb</pre></div></div>

<p>Now, I can load a ftdi_sio (FTDI Serial Input/Output) driver with a modprobe command. But it doesn&#8217;t recognize my device yet. I ran a <strong>lsusb</strong> command and found that my converter has a different Product ID. (It might be customized by ETTeam.com)</p>

<div class="wp_syntax"><div class="code"><pre class="generic" style="font-family:monospace;">$ lsusb
Bus 005 Device 005: ID 0403:e2e6 Future Technology Devices International, Ltd</pre></div></div>

<p>(0403 = vendor ID, e2e6 = product ID)</p>
<p>To get it work, I have to run the following command:</p>

<div class="wp_syntax"><div class="code"><pre class="generic" style="font-family:monospace;">$ sudo modprobe ftdi_sio vendor=0x0403 product=0xe2e6</pre></div></div>

<p>Then I replug the converter and it is shown as /dev/ttyUSB0 now!</p>
]]></content:encoded>
			<wfw:commentRss>http://nattster.siamdev.net/2010/02/getting-a-ftdi-usb-to-serial-converter-to-work-on-ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ชีวิตวิศวฯ คอม เกษตร (ภาค 1)</title>
		<link>http://nattster.siamdev.net/2009/12/cpe-ku-life-1/</link>
		<comments>http://nattster.siamdev.net/2009/12/cpe-ku-life-1/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 08:16:10 +0000</pubDate>
		<dc:creator>nattster</dc:creator>
				<category><![CDATA[บล็อก]]></category>
		<category><![CDATA[cpe]]></category>
		<category><![CDATA[ku]]></category>
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://nattster.siamdev.net/?p=629</guid>
		<description><![CDATA[เมื่อใกล้สอบ: พวกเราว่างจัด หัดพูดภาษากรีก


แบบว่า อ่านหนังสือจนเบื่อ เวลาว่างเยอะ เลยหัดพูดภาษากรีก ดีกว่า หลังจากพูดภาษาอังกฤษ ภาษาไทย C# Python C จนเบื่อแล้ว
ตอนปี 2: พวกเราตามล่าแพนด้า (เพราะมันน่ารัก?)

ตอนปี 2 พวกเราจะต้องเขียนโปรแกรมส่ง ถ้าโปรแกรมทำงานถูกต้อง 100% เราก็จะได้รับ panda 1 ตัว   พวกเราจึง want panda มากกกก
จบ ฮ่าๆ
]]></description>
			<content:encoded><![CDATA[<p>เมื่อใกล้สอบ: พวกเราว่างจัด หัดพูดภาษากรีก<br />
<a href="http://nattster.siamdev.net/wp-content/uploads/2009/12/new.png"><img src="http://nattster.siamdev.net/wp-content/uploads/2009/12/new.png" alt="new" title="new" width="494" height="122" class="alignnone size-full wp-image-630" /></a></p>
<p><a href="http://nattster.siamdev.net/wp-content/uploads/2009/12/boss.png"><img src="http://nattster.siamdev.net/wp-content/uploads/2009/12/boss.png" alt="boss" title="boss" width="476" height="557" class="alignnone size-full wp-image-631" /></a></p>
<blockquote><p>แบบว่า อ่านหนังสือจนเบื่อ เวลาว่างเยอะ เลยหัดพูดภาษากรีก ดีกว่า หลังจากพูดภาษาอังกฤษ ภาษาไทย C# Python C จนเบื่อแล้ว</p></blockquote>
<p>ตอนปี 2: พวกเราตามล่าแพนด้า (เพราะมันน่ารัก?)<br />
<a href="http://nattster.siamdev.net/wp-content/uploads/2009/12/panda.png"><img src="http://nattster.siamdev.net/wp-content/uploads/2009/12/panda.png" alt="panda" title="panda" width="421" height="124" class="alignleft size-full wp-image-633" /></a></p>
<blockquote><p>ตอนปี 2 พวกเราจะต้องเขียนโปรแกรมส่ง ถ้าโปรแกรมทำงานถูกต้อง 100% เราก็จะได้รับ panda 1 ตัว <img src='http://nattster.siamdev.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  พวกเราจึง want panda มากกกก</p></blockquote>
<p>จบ ฮ่าๆ</p>
]]></content:encoded>
			<wfw:commentRss>http://nattster.siamdev.net/2009/12/cpe-ku-life-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>imfilter ใน matlab</title>
		<link>http://nattster.siamdev.net/2009/12/imfilter-in-matlab/</link>
		<comments>http://nattster.siamdev.net/2009/12/imfilter-in-matlab/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 08:33:02 +0000</pubDate>
		<dc:creator>nattster</dc:creator>
				<category><![CDATA[เทคนิค]]></category>
		<category><![CDATA[matlab]]></category>

		<guid isPermaLink="false">http://nattster.siamdev.net/?p=622</guid>
		<description><![CDATA[เวลาทำ convolution ภาพด้วย Filter จะมีปัญหาในการคำนวณ pixel ที่ขอบภาพ (ทาบ filter แล้วตกขอบ)
มีวิธีแก้ปัญหาหลายวิธี:

ไม่คำนวณที่ pixel ขอบภาพ (จะได้ภาพผลลัพธ์เล็กลง)
Padding &#8211; เติมค่าสีเพิ่มที่ขอบๆ ภาพ

ใน matlab คำสั่ง imfilter สามารถกำหนดวิธี Padding ค่าสีที่ขอบภาพได้หลายวิธี มาดูตัวอย่างเลยดีกว่า

f เป็น filter ที่ให้ภาพเหมือนเดิมทุกประการ
a เป็นภาพต้นฉบับ ขนาด 2&#215;2
เราจะทำ imfilter ด้วย filter f บนภาพ a แล้วแสดงภาพผลลัพธ์ส่วนที่ถูก pad ด้วย (option &#8216;full&#8217;)

f = &#91;
0 0 0 0 0
0 0 0 0 0
0 0 1 0 0
0 0 [...]]]></description>
			<content:encoded><![CDATA[<p>เวลาทำ convolution ภาพด้วย Filter จะมีปัญหาในการคำนวณ pixel ที่ขอบภาพ (ทาบ filter แล้วตกขอบ)</p>
<p>มีวิธีแก้ปัญหาหลายวิธี:</p>
<ul>
<li>ไม่คำนวณที่ pixel ขอบภาพ (จะได้ภาพผลลัพธ์เล็กลง)</li>
<li>Padding &#8211; เติมค่าสีเพิ่มที่ขอบๆ ภาพ</li>
</ul>
<p>ใน matlab คำสั่ง imfilter สามารถกำหนดวิธี Padding ค่าสีที่ขอบภาพได้หลายวิธี มาดูตัวอย่างเลยดีกว่า<br />
<span id="more-622"></span><br />
<strong>f เป็น filter</strong> ที่ให้ภาพเหมือนเดิมทุกประการ<br />
<strong>a เป็นภาพต้นฉบับ</strong> ขนาด 2&#215;2<br />
เราจะทำ imfilter ด้วย filter f บนภาพ a แล้วแสดงภาพผลลัพธ์ส่วนที่ถูก pad ด้วย (option &#8216;full&#8217;)</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">f = <span style="color: #080;">&#91;</span>
<span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span>
<span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span>
<span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">1</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span>
<span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span>
<span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span><span style="color: #080;">&#93;</span>;
a = <span style="color: #080;">&#91;</span>
<span style="color: #33f;">1</span> <span style="color: #33f;">2</span>
<span style="color: #33f;">3</span> <span style="color: #33f;">4</span><span style="color: #080;">&#93;</span>;
&nbsp;
<span style="color: #0000FF;">disp</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'Zero padding (default)'</span><span style="color: #080;">&#41;</span>
imfilter<span style="color: #080;">&#40;</span>a, f, <span style="color:#A020F0;">'full'</span><span style="color: #080;">&#41;</span>
&nbsp;
<span style="color: #0000FF;">disp</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'symmetric - mirror reflect'</span><span style="color: #080;">&#41;</span>
imfilter<span style="color: #080;">&#40;</span>a, f, <span style="color:#A020F0;">'full'</span>, <span style="color:#A020F0;">'symmetric'</span><span style="color: #080;">&#41;</span>
&nbsp;
<span style="color: #0000FF;">disp</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'replicate - nearest neighbor value'</span><span style="color: #080;">&#41;</span>
imfilter<span style="color: #080;">&#40;</span>a, f, <span style="color:#A020F0;">'full'</span>, <span style="color:#A020F0;">'replicate'</span><span style="color: #080;">&#41;</span>
&nbsp;
<span style="color: #0000FF;">disp</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'circular - assume periodic'</span><span style="color: #080;">&#41;</span>
imfilter<span style="color: #080;">&#40;</span>a, f, <span style="color:#A020F0;">'full'</span>, <span style="color:#A020F0;">'circular'</span><span style="color: #080;">&#41;</span></pre></div></div>

<p>ผลลัพธ์ที่ได้ คือภาพต้นฉบับที่โดน pad ค่าเรียบร้อยแล้ว</p>
<p><em>อ๊ะแหะๆ&#8230; บล็อกนี้ค่อนข้างเฉพาะทางหน่อยนะครับ เขียนให้เพื่อนๆ ที่เรียน Digital Image Processing ด้วยกันอ่าน&#8230; แต่อัพลงบล็อกเผื่อคนอื่นๆ ที่เรียน Image เหมือนกันจะได้ประโยชน์ด้วย <img src='http://nattster.siamdev.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p>
]]></content:encoded>
			<wfw:commentRss>http://nattster.siamdev.net/2009/12/imfilter-in-matlab/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>compact, extract ใน PHP</title>
		<link>http://nattster.siamdev.net/2009/12/compact-extract-php/</link>
		<comments>http://nattster.siamdev.net/2009/12/compact-extract-php/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 20:49:55 +0000</pubDate>
		<dc:creator>nattster</dc:creator>
				<category><![CDATA[เทคนิค]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://nattster.siamdev.net/?p=618</guid>
		<description><![CDATA[ปกติส่งตัวแปรหลายๆ ตัวข้าม function ใน PHP ผมจะสร้าง array แล้วโยนไปโยนมาครับ
เมื่อคืนเกิดสงสัยว่ามันจะมีอะไรเจ๋งๆ ช่วยเรามั้ยน๊า ไปเปิด PHP Doc ดูก็เจอ compact กับ extract ครับ
ไม่พูดพร่ำทำเพรงให้เยิ่นเย้อ&#8230; ดูตัวอย่างโค้ดเลยดีกว่า

function get_something&#40;&#41;
&#123;
    $id = 10;
    $foo = &#34;bar&#34;;
    return compact&#40;'id', 'foo'&#41;;
&#125;
&#160;
extract&#40;get_something&#40;&#41;&#41;;
echo $id;              // ได้ผลลัพธ์เป็น 10
echo $foo; [...]]]></description>
			<content:encoded><![CDATA[<p>ปกติส่งตัวแปรหลายๆ ตัวข้าม function ใน PHP ผมจะสร้าง array แล้วโยนไปโยนมาครับ</p>
<p>เมื่อคืนเกิดสงสัยว่ามันจะมีอะไรเจ๋งๆ ช่วยเรามั้ยน๊า ไปเปิด PHP Doc ดูก็เจอ <a href="http://th.php.net/compact">compact</a> กับ <a href="http://th.php.net/extract">extract</a> ครับ</p>
<p>ไม่พูดพร่ำทำเพรงให้เยิ่นเย้อ&#8230; ดูตัวอย่างโค้ดเลยดีกว่า</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> get_something<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$id</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$foo</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;bar&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #990000;">compact</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'id'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'foo'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #990000;">extract</span><span style="color: #009900;">&#40;</span>get_something<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$id</span><span style="color: #339933;">;</span>              <span style="color: #666666; font-style: italic;">// ได้ผลลัพธ์เป็น 10</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$foo</span><span style="color: #339933;">;</span>            <span style="color: #666666; font-style: italic;">// ได้ผลลัพธ์เป็น bar</span></pre></div></div>

<h3>อธิบายสั้นๆ</h3>
<p><a href="http://th.php.net/compact">compact</a> &#8211; สร้าง array จากตัวแปรที่กำหนด ในตัวอย่างจะได้ array ที่มีเนื้อหาดังนี้</p>

<div class="wp_syntax"><div class="code"><pre class="generic" style="font-family:monospace;">(
   'id' =&gt; ค่าที่อยู่ในตัวแปร $id, 
   'foo' =&gt; ค่าที่อยู่ในตัวแปร $foo    
)</pre></div></div>

<p><a href="http://th.php.net/extract">extract</a> &#8211; ทำตรงกันข้ามกับ compact (ขี้เกียจเขียนล่ะ 555)</p>
]]></content:encoded>
			<wfw:commentRss>http://nattster.siamdev.net/2009/12/compact-extract-php/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>หัวแตกเพราะ MS-DOS</title>
		<link>http://nattster.siamdev.net/2009/11/ms-dos/</link>
		<comments>http://nattster.siamdev.net/2009/11/ms-dos/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 10:44:59 +0000</pubDate>
		<dc:creator>nattster</dc:creator>
				<category><![CDATA[บล็อก]]></category>
		<category><![CDATA[dos]]></category>
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://nattster.siamdev.net/?p=602</guid>
		<description><![CDATA[ตอนอยู่อนุบาล 2 พ่อสอนว่าถ้าอยากเล่นเกม Mickey Mouse ให้ใส่แผ่น แล้วพิมพ์คำสั่งตามนี้

B: [enter]
mickey [enter]


พอเล่นเกมเสร็จ ผมก็อยากจะออกจาก MS-DOS กลับไปเข้า Windows 3.11 ปกติผมจะจิ้มปุ่ม Power ปิดเปิดเครื่องใหม่ (หนูๆ ทางบ้านโปรดอย่าลอกเลียนแบบ)
วันนั้นผมกลับเป็นเจ้าหนูจำไม อยากรู้อย่างแรงว่า วิธีที่ถูกต้องควรทำยังไง เลยวิ่งลงบันไดจะไปถามพ่อ (พ่อกำลังตรวจคนไข้อยู่ข้างล่าง เหตุการณ์ทั้งหมดเกิดขึ้นในคลินิกแห่งหนึ่งแถวกระทุ่มแบนครับ)
ปรากฏว่า มีน้ำหกอยู่ตรงหน้าบันได ผมก็ลื่นปรืี๊ดกลิ้งกลุกๆๆๆ ลงไปตามบันได+เอาหน้าผากทักทายกับขอบเหล็กของบันได ~ 20 ขั้น
พอถึงชั้นล่าง ผมก็ความจำเสื่อม จำคนรักไม่ได้&#8230;. เย้ย!&#8230; ผมก็นอนแอ้งแม้ง มึน! ครับ 
(เวลาผ่านไป) พี่ชายสงสัยว่า เอ๊ะ.. ทำไมผมหายไปนานจัง เลยเดินออกมาดู เห็นผมนอนอยู่ตรงบันได ก็งงว่าผมเล่นอะไร ทำไมหน้าผากเลอะไปหมด&#8230; พอพี่มาดูใกล้ๆ ก็เห็นว่าเป็น &#8220;เลือด&#8221; ด้วยความตกใจ พี่ชายเลยอุ้มผมขึ้นไปหาแม่&#8230; แม่ก็อุ้มผมลงไปหาพ่อ&#8230;.
พ่อก็ฉีดยาชาที่หน้าผาก แล้วก็เย็บให้ 3 เข็ม เป็นอันเสร็จ (หัวแตกตรงกลางระหว่างคิ้วพอดีเลย&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p>ตอนอยู่อนุบาล 2 พ่อสอนว่าถ้าอยากเล่นเกม Mickey Mouse ให้ใส่แผ่น แล้วพิมพ์คำสั่งตามนี้</p>

<div class="wp_syntax"><div class="code"><pre class="generic" style="font-family:monospace;">B: [enter]
mickey [enter]</pre></div></div>

<p><a href="http://nattster.siamdev.net/wp-content/uploads/2009/11/800px-Floppy_disk_2009_G1.jpg"><img src="http://nattster.siamdev.net/wp-content/uploads/2009/11/800px-Floppy_disk_2009_G1.jpg" alt="800px-Floppy_disk_2009_G1" title="800px-Floppy_disk_2009_G1" width="420" height="200" class="alignleft size-full wp-image-605" /></a><br />
พอเล่นเกมเสร็จ ผมก็อยากจะออกจาก MS-DOS กลับไปเข้า Windows 3.11 ปกติผมจะจิ้มปุ่ม Power ปิดเปิดเครื่องใหม่ (หนูๆ ทางบ้านโปรดอย่าลอกเลียนแบบ)</p>
<p>วันนั้นผมกลับเป็นเจ้าหนูจำไม อยากรู้อย่างแรงว่า วิธีที่ถูกต้องควรทำยังไง เลยวิ่งลงบันไดจะไปถามพ่อ (พ่อกำลังตรวจคนไข้อยู่ข้างล่าง เหตุการณ์ทั้งหมดเกิดขึ้นในคลินิกแห่งหนึ่งแถวกระทุ่มแบนครับ)</p>
<p>ปรากฏว่า มีน้ำหกอยู่ตรงหน้าบันได ผมก็ลื่นปรืี๊ดกลิ้งกลุกๆๆๆ ลงไปตามบันได+เอาหน้าผากทักทายกับ<strong>ขอบเหล็กของบันได ~ 20 ขั้น</strong></p>
<p>พอถึงชั้นล่าง ผมก็ความจำเสื่อม จำคนรักไม่ได้&#8230;. เย้ย!&#8230; ผมก็นอนแอ้งแม้ง มึน! ครับ </p>
<p>(เวลาผ่านไป) พี่ชายสงสัยว่า เอ๊ะ.. ทำไมผมหายไปนานจัง เลยเดินออกมาดู เห็นผมนอนอยู่ตรงบันได ก็งงว่าผมเล่นอะไร ทำไมหน้าผากเลอะไปหมด&#8230; พอพี่มาดูใกล้ๆ ก็เห็นว่าเป็น &#8220;เลือด&#8221; ด้วยความตกใจ พี่ชายเลยอุ้มผมขึ้นไปหาแม่&#8230; แม่ก็อุ้มผมลงไปหาพ่อ&#8230;.</p>
<p>พ่อก็ฉีดยาชาที่หน้าผาก แล้วก็เย็บให้ 3 เข็ม เป็นอันเสร็จ (หัวแตกตรงกลางระหว่างคิ้วพอดีเลย&#8230; ไม่เชื่อไปถามพ่อดูจิ)</p>
<p>สรุปว่าตอนอนุบาล 2 ผมก็ยังไม่รู้อยู่ดีว่าจะออกจาก MS-DOS ยังไง</p>
<p>ตอนนี้รู้แล้วครับ</p>

<div class="wp_syntax"><div class="code"><pre class="generic" style="font-family:monospace;">exit</pre></div></div>

<p>ปล. เคยเล่นเกมส์อะไรกันบ้างครับ เล่าให้ฟังหน่อย (เผื่อจะเดาอายุถูก อิๆ)</p>
]]></content:encoded>
			<wfw:commentRss>http://nattster.siamdev.net/2009/11/ms-dos/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>รวม Quote จาก อ.เฉลิมศักดิ์</title>
		<link>http://nattster.siamdev.net/2009/11/%e0%b8%a3%e0%b8%a7%e0%b8%a1-quote-%e0%b8%88%e0%b8%b2%e0%b8%81-%e0%b8%ad-%e0%b9%80%e0%b8%89%e0%b8%a5%e0%b8%b4%e0%b8%a1%e0%b8%a8%e0%b8%b1%e0%b8%81%e0%b8%94%e0%b8%b4%e0%b9%8c/</link>
		<comments>http://nattster.siamdev.net/2009/11/%e0%b8%a3%e0%b8%a7%e0%b8%a1-quote-%e0%b8%88%e0%b8%b2%e0%b8%81-%e0%b8%ad-%e0%b9%80%e0%b8%89%e0%b8%a5%e0%b8%b4%e0%b8%a1%e0%b8%a8%e0%b8%b1%e0%b8%81%e0%b8%94%e0%b8%b4%e0%b9%8c/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 07:51:14 +0000</pubDate>
		<dc:creator>nattster</dc:creator>
				<category><![CDATA[บล็อก]]></category>
		<category><![CDATA[quote]]></category>

		<guid isPermaLink="false">http://nattster.siamdev.net/?p=594</guid>
		<description><![CDATA[
&#8220;เวลา present โปรแกรม อย่าโชว์ algorithm แต่ให้โชว์ data structure แล้วทำตัวเป็น algorithm&#8221;
&#8220;พิธีกรรมเป็นเพียงข้อแก้ตัว ใช้พิธีไหว้ครูขอโทษครูวันเดียว แล้วทำให้ครูไม่สบายใจไปอีก 364 วัน&#8221;
&#8220;โปรแกรมยาวขึ้นตั้งไบต์นึง ทำให้เปลืองทรัพยากรของโลก&#8221;
&#8220;ข้อสอบวันนี้คุณไม่ได้เป็นคนเลย คุณได้เป็น computer, compiler, assembler, และ loader เพราะงั้นรีบๆ ทำให้เสร็จคุณจะได้กลับเป็นคนซักที&#8221;
&#8220;คุณต้องเสแสร้งอยากทำ assembler นะครับ เพราะถ้าคุณไม่อยากทำก็ไม่เหลือใครในโลกอยากทำแล้ว&#8221;
&#8220;เหมือนจักรพรรดิ (OS Kernel) จะเข้า ขันที (loader) ต้องวิ่งพล่านเลย&#8221;
&#8220;ความตั้งใจเป็นของคน ความสำเร็จขึ้นอยู่กับฟ้า&#8221;
&#8220;ตอนนี้ประเทศเราอยู่ในช่วง bootstrap และก็ยังคงอยู่ในช่วง bootstrap ต่อไป&#8221;

ขอขอบคุณ อ.เฉลิมศักด์ สำหรับ quote ดีๆ มา ณ ที่นี้ด้วยครับ
]]></description>
			<content:encoded><![CDATA[<ul>
<li>&#8220;เวลา present โปรแกรม อย่าโชว์ algorithm แต่ให้โชว์ data structure แล้วทำตัวเป็น algorithm&#8221;</li>
<li>&#8220;พิธีกรรมเป็นเพียงข้อแก้ตัว ใช้พิธีไหว้ครูขอโทษครูวันเดียว แล้วทำให้ครูไม่สบายใจไปอีก 364 วัน&#8221;</li>
<li>&#8220;โปรแกรมยาวขึ้นตั้งไบต์นึง ทำให้เปลืองทรัพยากรของโลก&#8221;</li>
<li><strong>&#8220;ข้อสอบวันนี้คุณไม่ได้เป็นคนเลย คุณได้เป็น computer, compiler, assembler, และ loader เพราะงั้นรีบๆ ทำให้เสร็จคุณจะได้กลับเป็นคนซักที&#8221;</strong></li>
<li>&#8220;คุณต้องเสแสร้งอยากทำ assembler นะครับ เพราะถ้าคุณไม่อยากทำก็ไม่เหลือใครในโลกอยากทำแล้ว&#8221;</li>
<li>&#8220;เหมือนจักรพรรดิ (OS Kernel) จะเข้า ขันที (loader) ต้องวิ่งพล่านเลย&#8221;</li>
<li>&#8220;ความตั้งใจเป็นของคน ความสำเร็จขึ้นอยู่กับฟ้า&#8221;</li>
<li>&#8220;ตอนนี้ประเทศเราอยู่ในช่วง bootstrap และก็ยังคงอยู่ในช่วง bootstrap ต่อไป&#8221;</li>
</ul>
<p>ขอขอบคุณ <a href="http://www.cpe.ku.ac.th/~ccd/">อ.เฉลิมศักด์</a> สำหรับ quote ดีๆ มา ณ ที่นี้ด้วยครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://nattster.siamdev.net/2009/11/%e0%b8%a3%e0%b8%a7%e0%b8%a1-quote-%e0%b8%88%e0%b8%b2%e0%b8%81-%e0%b8%ad-%e0%b9%80%e0%b8%89%e0%b8%a5%e0%b8%b4%e0%b8%a1%e0%b8%a8%e0%b8%b1%e0%b8%81%e0%b8%94%e0%b8%b4%e0%b9%8c/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>OpenKiosk Extension : ตู้ประชาสัมพันธ์ง่ายๆ ด้วย Firefox</title>
		<link>http://nattster.siamdev.net/2009/10/openkiosk-firefox-extension/</link>
		<comments>http://nattster.siamdev.net/2009/10/openkiosk-firefox-extension/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 09:55:01 +0000</pubDate>
		<dc:creator>nattster</dc:creator>
				<category><![CDATA[โปรแกรม/เครื่องมือ]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[kiosk]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://nattster.siamdev.net/?p=578</guid>
		<description><![CDATA[ไปแข่ง linux (NLC10 &#8211; การแข่งขันระบบปฏิบัติการลินุกซ์แห่งประเทศไทย) มา เขามีโจทย์ให้เลือก 5 ข้อ กลุ่มผมเลือกทำข้อง่ายสุดคือ &#8220;เตรียมเครื่อง linux สำหรับเป็นตู้ Interactive Kiosk สำหรับสนามบินแห่งชาติ&#8221; (ขอเรียก Interactive Kiosk สั้นๆ ว่า Kiosk ละกันนะครับ)
ถ้างงว่าตู้ Kiosk คืออะไร
ให้นึกถึงจอ Touchscreen ใหญ่ๆ ตามห้างครับ ที่เราเข้าไปจิ้มๆ หาข้อมูลได้ว่าร้านกระเป๋าหลุยส์ติงต๊อง อยู่ชั้นไหนโซนไหน จะได้เดินไปซื้อได้ถูก เจ้าจอ Touchscreen ใหญ่ๆ นี่แหละครับเรียกว่าตู้ Kiosk หรือตู้ประชาสัมพันธ์
คุณสมบัติที่สำคัญของตู้ Kiosk คือ
ดูเว็บ/ใช้โปรแกรมประชาสัมพันธ์ได้อย่างเดียว ไม่มีสามารถหลบไปเล่นเกมกู้ระเบิด (Minesweeper), ถอดไพ่ (Solitare) หรือใช้งานโปรแกรมอื่นๆ
ทำยังไงให้คอมธรรมดา กลายเป็นตู้ Kiosk

ติดตั้ง ระบบปฏิบัติการตามใจชอบ จะ Windows หรือ Linux ก็ได้
ติดตั้ง Mozilla Firefox, [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_580" class="wp-caption alignleft" style="width: 268px"><a href="http://nattster.siamdev.net/wp-content/uploads/2009/10/army.mil-35841-2009-04-22-150416.resized.jpg"><img src="http://nattster.siamdev.net/wp-content/uploads/2009/10/army.mil-35841-2009-04-22-150416.resized-258x300.jpg" alt="ตัวอย่างตู้ Kiosk ของ US Army (ภาพจาก http://www.army.mil)" title="ตัวอย่างตู้ Kiosk ของ US Army" width="258" height="300" class="size-medium wp-image-580" /></a><p class="wp-caption-text">ตัวอย่างตู้ Kiosk ของ US Army (ภาพจาก http://www.army.mil)</p></div>ไปแข่ง linux <a href="http://nlc10.opentle.org/">(NLC10 &#8211; การแข่งขันระบบปฏิบัติการลินุกซ์แห่งประเทศไทย)</a> มา เขามีโจทย์ให้เลือก 5 ข้อ กลุ่มผมเลือกทำข้อง่ายสุดคือ &#8220;เตรียมเครื่อง linux สำหรับเป็นตู้ <a href="http://en.wikipedia.org/wiki/Interactive_kiosk#Internet_Kiosk">Interactive Kiosk</a> สำหรับสนามบินแห่งชาติ&#8221; (ขอเรียก Interactive Kiosk สั้นๆ ว่า Kiosk ละกันนะครับ)</p>
<h4>ถ้างงว่าตู้ Kiosk คืออะไร</h4>
<p>ให้นึกถึงจอ Touchscreen ใหญ่ๆ ตามห้างครับ ที่เราเข้าไปจิ้มๆ หาข้อมูลได้ว่าร้านกระเป๋าหลุยส์ติงต๊อง อยู่ชั้นไหนโซนไหน จะได้เดินไปซื้อได้ถูก เจ้าจอ Touchscreen ใหญ่ๆ นี่แหละครับเรียกว่าตู้ Kiosk หรือตู้ประชาสัมพันธ์</p>
<h4>คุณสมบัติที่สำคัญของตู้ Kiosk คือ</h4>
<p>ดูเว็บ/ใช้โปรแกรมประชาสัมพันธ์ได้อย่างเดียว ไม่มีสามารถหลบไปเล่นเกมกู้ระเบิด (Minesweeper), ถอดไพ่ (Solitare) หรือใช้งานโปรแกรมอื่นๆ</p>
<h4>ทำยังไงให้คอมธรรมดา กลายเป็นตู้ Kiosk</h4>
<ol>
<li>ติดตั้ง ระบบปฏิบัติการตามใจชอบ จะ Windows หรือ Linux ก็ได้</li>
<li>ติดตั้ง Mozilla Firefox, jsLib และ OpenKiosk จากเว็บ <a href="https://mozdevgroup.com/clients/bm/">Brooklyn Museum Kiosk Client</a></li>
<li>เมื่อติดตั้งเสร็จแล้วให้ปิด firefox แล้วเปิดจาก Command line ดังนี้ (เพื่อเปิดใช้ Kiosk แบบเต็มจอ)

<div class="wp_syntax"><div class="code"><pre class="generic" style="font-family:monospace;">mozilla -kiosk</pre></div></div>

</li>
<li>นอกจากนี้เรายังสามารถตั้งค่า Firefox ด้วย OpenKiosk ได้อีกมากมาย อ่านรายละเอียดได้จาก <a href="https://mozdevgroup.com/clients/bm/">https://mozdevgroup.com/clients/bm/</a> ครับ</li>
</ol>
<p>ตอนแข่งผมก็นั่งแก้ GUI ของ firefox เอง (firefox มันใช้ XUL ทำ GUI ครับ แก้ไขได้อิสระมากๆ) แต่พอค้นดีๆ เจอ OpenKiosk แล้ว โฮกกกก&#8230;. รู้งี้โหลดมาใช้ตั้งนานแล้ว</p>
]]></content:encoded>
			<wfw:commentRss>http://nattster.siamdev.net/2009/10/openkiosk-firefox-extension/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>เล็บยาว พิมพ์ช้า จริงเหรอ?</title>
		<link>http://nattster.siamdev.net/2009/10/touch-typing/</link>
		<comments>http://nattster.siamdev.net/2009/10/touch-typing/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 16:56:10 +0000</pubDate>
		<dc:creator>nattster</dc:creator>
				<category><![CDATA[เทคนิค]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[typing]]></category>

		<guid isPermaLink="false">http://nattster.siamdev.net/?p=546</guid>
		<description><![CDATA[&#8220;เล็บยาว พิมพ์ไม่ถนัดเลย ช้าด้วย&#8221; จริงเหรอ?
วันนี้เล็บยาว (ปลายเล็บส่วนที่เป็นสีขาวยาว ~3mm) เลยลองทดสอบความเร็วที่เว็บ TypeOnline.co.uk ดูปรากฏว่า:

ก่อนตัดวัดได้ 88 wpm (88 คำต่อนาที)
หลังตัดวัดได้ 89 wpm

สรุปว่า &#8220;เล็บยาว พิมพ์ไม่ถนัดเลย&#8221; เป็นจริง รู้สึกเสียวมาก ว่าเล็บจะฉีก จะหัก
แต่ &#8220;ช้าด้วย&#8221; นี่ไม่น่าจะจริงครับ (ความเร็วต่างกันแค่คำเดียวเอง)
ผมหัดพิมพ์สัมผัสยังไง?


  ตอน ป.1 เรียนคอมพิวเตอร์ แล้วครูสอนพิมพ์สัมผัส

ครูให้วางนิ้วก้อย นาง กลาง ชี้ ที่ a s d f และ j k l ; ตามลำดับ
ครูสั่งให้เปิด notepad ขึ้นมา หลับตา และพิมพ์ตามที่ครูพูด a s d f j k l ; [...]]]></description>
			<content:encoded><![CDATA[<h4>&#8220;เล็บยาว พิมพ์ไม่ถนัดเลย ช้าด้วย&#8221; จริงเหรอ?</h4>
<p>วันนี้เล็บยาว (ปลายเล็บส่วนที่เป็นสีขาวยาว ~3mm) เลยลองทดสอบความเร็วที่เว็บ <a href="http://www.typeonline.co.uk/typingspeed.php">TypeOnline.co.uk</a> ดูปรากฏว่า:
<ul>
<li>ก่อนตัดวัดได้ <strong>88 wpm</strong> (88 คำต่อนาที)</li>
<li>หลังตัดวัดได้ <strong>89 wpm</strong></li>
</ul>
<p>สรุปว่า &#8220;เล็บยาว พิมพ์ไม่ถนัดเลย&#8221; <strong>เป็นจริง</strong> รู้สึกเสียวมาก ว่าเล็บจะฉีก จะหัก<br />
แต่ &#8220;ช้าด้วย&#8221; นี่ไม่น่าจะจริงครับ (ความเร็วต่างกันแค่คำเดียวเอง)</p>
<h4>ผมหัดพิมพ์สัมผัสยังไง?</h4>
<ul>
<li>
  ตอน ป.1 เรียนคอมพิวเตอร์ แล้วครูสอนพิมพ์สัมผัส</p>
<ul>
<li>ครูให้วางนิ้วก้อย นาง กลาง ชี้ ที่ a s d f และ j k l ; ตามลำดับ</li>
<li>ครูสั่งให้เปิด notepad ขึ้นมา หลับตา และพิมพ์ตามที่ครูพูด a s d f j k l ; a s d f j k l ; a a s d f ฯลฯ</li>
<li>ลืมตาขึ้นมา &#8211;&gt; โฮก&#8230; ผิดไปหลายตัวเลย</li>
</ul>
</li>
<li>ใช้โปรแกรมฝึกพิมพ์ จะได้รู้ว่าปุ่มไหนใช้นิ้วไหนกด (จำชื่อโปรแกรมตอนสมัย Windows 3.11 ไม่ได้เล้ว)</li>
<li>ช่วยพิมพ์รายงานให้พ่อ ให้พี่ชาย (เก็บ exp)</li>
<li>ใช้คีย์บอร์ดแบบนี้:
</li>
<p><div id="attachment_566" class="wp-caption aligncenter" style="width: 330px"><a href="http://www.thinkgeek.com/computing/keyboards-mice/8396/"><img src="http://nattster.siamdev.net/wp-content/uploads/2009/10/8396_das_keyboard.jpg" alt="Das Keyboard Ultimate (จาก thinkgeek.com)" title="Das Keyboard Ultimate (จาก thinkgeek.com)" width="320" height="159" class="size-full wp-image-566" /></a><p class="wp-caption-text">Das Keyboard Ultimate (จาก thinkgeek.com)</p></div>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://nattster.siamdev.net/2009/10/touch-typing/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>^_^ และ ^_____^</title>
		<link>http://nattster.siamdev.net/2009/09/smile/</link>
		<comments>http://nattster.siamdev.net/2009/09/smile/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 15:23:40 +0000</pubDate>
		<dc:creator>nattster</dc:creator>
				<category><![CDATA[บล็อก]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://nattster.siamdev.net/?p=536</guid>
		<description><![CDATA[

เห็น ^_^ แล้วประทับใจ หะๆ
]]></description>
			<content:encoded><![CDATA[<p><a href="http://nattster.siamdev.net/wp-content/uploads/2009/09/pm_abhisit.png"><img src="http://nattster.siamdev.net/wp-content/uploads/2009/09/pm_abhisit-300x235.png" alt="pm_abhisit" title="pm_abhisit" width="300" height="235" class="alignleft size-medium wp-image-534" /></a><br />
<a href="http://nattster.siamdev.net/wp-content/uploads/2009/09/pm_abhisit2.png"><img src="http://nattster.siamdev.net/wp-content/uploads/2009/09/pm_abhisit2-300x172.png" alt="pm_abhisit2" title="pm_abhisit2" width="300" height="172" class="alignleft size-medium wp-image-535" /></a><br />
เห็น ^_^ แล้วประทับใจ หะๆ</p>
]]></content:encoded>
			<wfw:commentRss>http://nattster.siamdev.net/2009/09/smile/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
