<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>JOMYUT.NET - Computer Science</title>
    <link>http://diary.jomyut.net/</link>
    <description>Blog</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.3 - http://www.s9y.org/</generator>
    <pubDate>Fri, 20 Jun 2008 17:01:47 GMT</pubDate>

    <image>
        <url>http://diary.jomyut.net/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: JOMYUT.NET - Computer Science - Blog</title>
        <link>http://diary.jomyut.net/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Social Security</title>
    <link>http://diary.jomyut.net/archives/1346-Social-Security.html</link>
            <category>Computer Science</category>
    
    <comments>http://diary.jomyut.net/archives/1346-Social-Security.html#comments</comments>
    <wfw:comment>http://diary.jomyut.net/wfwcomment.php?cid=1346</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://diary.jomyut.net/rss.php?version=2.0&amp;type=comments&amp;cid=1346</wfw:commentRss>
    

    <author>nospam@example.com (JOMYUT.NET)</author>
    <content:encoded>
    &lt;p&gt;ปัญหาเรื่อง Security ทุกๆคนต้องเผชิญอย่างไม่สามารถหลีกเลี่ยงได้ บางคนที่รู้เท่าทันก็ดีไป แต่บางคนก็ไม่รู้เท่าทันก็จะตกเป็นเหยื่อได้โดยง่าย ในครั้งนี้ เป็นเรื่องของ การ Attack แบบ Man-in-the-middle แน่นอนว่าใครอยู่ในวงการ Security ก็ต้องรู้จัก แต่การ Attack แบบนี้ ในชีวิตประจำวันก็มีให้เห็นทั่วไป โดยที่อาจจะไม่ทันได้สังเกตกัน&lt;/p&gt;&lt;p&gt;วันนี้ผมได้ไปที่ Fortune Town ซึ่งในนั้น มีบูทของผู้ให้บริการอินเตอร์เน็ตความเร็วสูงเจ้าหนึ่งเปิดบูทเล็กๆอยู่ แน่นอน เค้าคือ Sale กลุ่มนี้เป็นกลุ่มที่ผมไม่เคยคิดจะได้เข้าไปพูดคุยด้วยเลยแม้แต่น้อย เพราะว่าผมติด ADSL มานานมากๆแล้ว แต่วันนี้เพื่อนผมเข้าไปถาม ซึ่งบริการดีมาก เพื่อนผมไม่สามารถจำเบอร์โทรศัพท์บ้านตัวเองได้แล้วคุยกับผม พนักงาน ก็เสนอว่า จำชื่อเจ้าของเบอร์ได้ไหมคะ เพื่อนผมก็บอกไป เค้าก็ค้นมาให้เรียบร้อย เบอร์ xxx-xxxx ใช่มั๊ยคะ&lt;/p&gt;&lt;p&gt;อ๋อ ไม่ใช่คะ งั้นสงสัยชื่ออีกคนนึง เพื่อนผมตอบ....&lt;/p&gt;&lt;p&gt;ประเด็นคือ ถ้าผมเป็นโรคจิตคนนึง แล้วจำชื่อของคนที่ผมต้องการค้นหาได้ละ ง่ายนิดเดียว กดกด ผ่านพนักงาน True ก็ได้ข้อมูลแล้ว!!! ทั้งๆที่ คนที่ผมต้องการค้นหานั้น บางทีได้แจ้งความจำนงปิดบังข้อมูลไม่ให้สามารถใช้สมุดหน้าเหลือง หรือค้นหาผ่านเว็บไซต์ได้ แต่ผมกลับค้นหาได้โดยง่าย โดยให้พนักงานเป็นผู้ที่ค้นหาข้อมูลให้ผมเลย แค่นี้ผมก็ได้เบอร์มาเรียบร้อยแล้ว&lt;/p&gt;&lt;p&gt;ในขณะที่ การบริการลูกค้าทางโทรศัพท์ ของบริษัทแห่งนี้ จะมีการให้ป้อนรหัสผ่านก่อน แต่ถึงกระนั้นก็เถอะ ครั้งหนึ่ง ผมได้สอบถามรายละเอียดเกี่ยวกับเบอร์ของผม ว่าทำไม ถึงได้โปรโมชั่น ไม่เหมือนกับที่เพื่อนผมสมัคร แต่โชคดีที่พนักงาน Call Center มักจะได้รับการฝึกฝนวิทยายุทธ์ในการปกปิดข้อมูลลูกค้าทุกราย ก็เลยไม่ได้รับข้อมูลเกี่ยวกับโทรศัพท์ที่เกี่ยวข้องแต่อย่างใด&lt;/p&gt;&lt;p&gt;ประเด็นคือ การหลอกลวงแบบนี้ในต่างประเทศมีมานานมากๆแล้ว ตั้งแต่สมัยผมอยู่ประถม แต่สำหรับประเทศไทย เพิ่งมีเกิดกับคนรอบๆตัว หนักๆ ไม่นานมานี้ โชคดีที่เขาเหล่านั้น รู้ทันกลเม็ดเลยหลุดพ้นมาได้&lt;/p&gt;&lt;p&gt;อีกครั้งหนึ่ง มาถึงประตูบ้าน สอบถามข้อมูล ตอนแรกก็ทำท่าว่าจะพบคนนั้นคนนี้ แล้วตอนหลังหลอกถามข้อมูลภายในบ้าน ซึ่งก็พลาดได้ให้ข้อมูลบางอย่างไป&lt;/p&gt;&lt;p&gt;สุดท้ายแล้ว &amp;quot;แม่สอนว่า ไม่ให้พูดกับคนแปลกหน้า&amp;quot; น่าจะเป็นคำตอบสุดท้าย สำหรับ ความไว้วางใจ คนที่ไม่เคยเจอหน้าตากันมาก่อน เข้ามาถามข้อมูล อย่างนั้นหรือ??&lt;/p&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Sat, 21 Jun 2008 00:01:47 +0700</pubDate>
    <guid isPermaLink="false">http://diary.jomyut.net/archives/1346-guid.html</guid>
    
</item>
<item>
    <title>SVN shortnote</title>
    <link>http://diary.jomyut.net/archives/1264-SVN-shortnote.html</link>
            <category>Computer Science</category>
    
    <comments>http://diary.jomyut.net/archives/1264-SVN-shortnote.html#comments</comments>
    <wfw:comment>http://diary.jomyut.net/wfwcomment.php?cid=1264</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://diary.jomyut.net/rss.php?version=2.0&amp;type=comments&amp;cid=1264</wfw:commentRss>
    

    <author>nospam@example.com (JOMYUT.NET)</author>
    <content:encoded>
    &lt;br /&gt;
&lt;p&gt;1. How to delete all .svn with only one command&lt;/p&gt;&lt;ul&gt;&lt;li&gt;# &lt;font color=&quot;#0066cc&quot;&gt;&lt;span class=&quot;ident&quot;&gt;find&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ident&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;.svn&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ident&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;ident&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ident&quot;&gt;rf&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;{}&lt;/span&gt; \&lt;span class=&quot;punct&quot;&gt;;&lt;/span&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;2. SVN commit [&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/svnbook.red-bean.com/en/1.1/re06.html&#039;);&quot;  href=&quot;http://svnbook.red-bean.com/en/1.1/re06.html&quot;&gt;Ref&lt;/a&gt;]&lt;/p&gt;&lt;ul&gt;&lt;li&gt;If commit by enter no comments, it may show error message that some files will be ignore to add to repository. &amp;quot;This line, and those below, will be ignored&amp;quot;.&lt;/li&gt;&lt;li&gt;Try &lt;font color=&quot;#0000ff&quot;&gt;svn commit -m &amp;quot;commit message you want&amp;quot;.&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;3. Subversion with Branch / Trunk [&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/svnbook.red-bean.com/en/1.1/svn-book.html#svn-ch-4-sect-1&#039;);&quot;  href=&quot;http://svnbook.red-bean.com/en/1.1/svn-book.html#svn-ch-4-sect-1&quot;&gt;Ref&lt;/a&gt;]&lt;p&gt;&lt;br /&gt;4. SVN Client and Public/Private Key&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Use Pageant of &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.chiark.greenend.org.uk/~sgtatham/putty/&#039;);&quot;  href=&quot;http://www.chiark.greenend.org.uk/~sgtatham/putty/&quot;&gt;Putty&lt;/a&gt; package&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Final: Ubuntu Service command (Management) [&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.cyberciti.biz/faq/howto-runlevel-configuration-tool-to-start-service/&#039;);&quot;  href=&quot;http://www.cyberciti.biz/faq/howto-runlevel-configuration-tool-to-start-service/&quot;&gt;Ref&lt;/a&gt;]&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;# update-rc.d SERVICE-NAME  remove&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p /&gt; 
    </content:encoded>

    <pubDate>Sat, 23 Feb 2008 15:45:41 +0700</pubDate>
    <guid isPermaLink="false">http://diary.jomyut.net/archives/1264-guid.html</guid>
    <category>command line</category>
<category>svn</category>
<category>ubuntu</category>

</item>
<item>
    <title>Barcamp Shortnote</title>
    <link>http://diary.jomyut.net/archives/1226-Barcamp-Shortnote.html</link>
            <category>Computer Science</category>
    
    <comments>http://diary.jomyut.net/archives/1226-Barcamp-Shortnote.html#comments</comments>
    <wfw:comment>http://diary.jomyut.net/wfwcomment.php?cid=1226</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://diary.jomyut.net/rss.php?version=2.0&amp;type=comments&amp;cid=1226</wfw:commentRss>
    

    <author>nospam@example.com (JOMYUT.NET)</author>
    <content:encoded>
    &lt;br /&gt;
&lt;p&gt;&lt;u&gt;&lt;b&gt;รายละเอียดที่เก็บได้จาก Barcamp&lt;/b&gt;&lt;/u&gt; &lt;/p&gt;&lt;p&gt;แนะนำให้อ่านของ &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/blog.winginfotech.net/2008/01/27/barcamp_bangkok_winter_2008_3/&#039;);&quot;  href=&quot;http://blog.winginfotech.net/2008/01/27/barcamp_bangkok_winter_2008_3/&quot;&gt;[Link&lt;/a&gt;] อันนี้ก่อน เพราะค่อนข้างครอบคลุมประเด็นทีเดียว&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Making Magick with SSH by &lt;/strong&gt;Joson Smith มาจาก &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.proven-corporation.com/&#039;);&quot;  href=&quot;http://www.proven-corporation.com/&quot; target=&quot;_blank&quot;&gt;Proven Corporation&lt;/a&gt;&lt;/p&gt;&lt;p&gt;คนนี้เป็นมืออาชีพมากๆครับ คำสั่งต่างๆสามารถเขียนได้อย่างรวดเร็ว ทำงานอย่างเร็วในการเข้าถึงส่วนต่างๆ ไม่ว่าจะเป็น Presentation ที่ทำเป็น HTML ใช้โปรแกรม Compile เอา ไม่แน่ใจว่าใช้โปรแกรมอะไร กับ Swap Desktop ทราบภายหลังจากพี่ Sugree ว่า Features นี้มีอยู่ใน Ubuntu Version ใหม่แล้ว&lt;/p&gt;&lt;p&gt;ประเด็นของ SSH ที่ไม่เคยรู้มาก่อน ก็เป็นพวกการทำ VPN ส่วน Port Forwarding เคยใช้มาก่อนหน้าแล้ว ถึงอย่างไรก็ตาม เทคนิคในการนำเสนอน่าติดตามมากทีเดียว SSH สามารถสร้างเป็น Tab เหมือน Firefox ได้ด้วย อันนี้เพิ่งรู้ แต่รู้สึกว่าใช้โปรแกรมที่ชื่อว่า screen เข้ามาช่วย&lt;/p&gt;&lt;p&gt;Session นี้มีคำถามอยู่ แต่หมดเวลาพอดี ไม่ทันได้ถาม เสียดายมาก พอดีมีโครงการจะทำ MySQL Tunnel ระหว่างเครื่อง Web Server กับเครื่อง MySQL Server แต่ไม่แน่ใจในเรื่องของ Performance ว่าจะลดทอนอะไรอย่างไร&lt;/p&gt;&lt;p&gt;&lt;b&gt;Google Summer of Code&lt;/b&gt; by Sugree&lt;/p&gt;&lt;p&gt;อันนี้พูดถึงโครงการของ Google ครับ ตอนแรกผมเข้าใจว่ามีแต่ Student เข้าร่วมได้เสียอีก แต่ปรากฏว่าสามารถเข้าร่วมได้ในบทบาทอื่น เช่น การเป็น Mentor หรือผ่าน Opensource Organization โดยปกติจะรับสมัครช่วงมีนาคม นับว่าเป็นโครงการที่ดี เดี๋ยจะลองสมัครไปเป็น Mentor ดู&lt;/p&gt;&lt;p&gt;&lt;b&gt;Ruby shared Host&lt;/b&gt; by Speedthai.com&lt;/p&gt;&lt;p&gt;ผู้พัฒนา Shared Host รายแรกที่ สามารถใช้ภาษา Ruby ได้ เขาก็เป็นคนมาแนะนำ เขาแนะนำการใช้ FastCGI มีการ Setup ครั้งแรกที่ Setup ยาก เพียงครั้งเดียว แต่ว่าสามารถทำ Performance ได้ดีกว่า สามารถ Fork Process ของ Application Ruby ได้อัตโนมัติ รวมถึงการ Release หน่วยความจำ ตั้งเวลาไว้ เมื่อโปรแกรมไม่มีการใช้งาน เพื่อลดการใช้ Memory ตอน Demo เขาใช้ VHCS Control Panel มา Modified แต่มี Direct Admin ที่พอจะใช้งานได้อยู่บ้าง ส่วนตอนนี้กำลัง Create Control Panel สำหรับ Ruby อยู่ ชื่อว่า Redgem ที่ Sourceforge.net&lt;/p&gt;&lt;p&gt;&lt;b&gt;Open Social / Facebook&lt;/b&gt; อันนี้เสียดายไม่ได้เข้าฟัง&lt;/p&gt;&lt;p&gt;&lt;b&gt;Haskell Functional Programming&lt;/b&gt; อันนี้เข้าฟังช่วงแรกไม่ทัน เลยหลุด ฟังไม่เข้าใจเลย เลยหนีมาฟังห้องข้างๆแทน เรื่องของ &lt;b&gt;Capacity Test&lt;/b&gt; แต่ว่าไม่มี Comments&lt;/p&gt;&lt;p&gt;หลังจากนั้นฟังหัวข้อ &lt;b&gt;SA&lt;/b&gt; กับ SpeedThai อีกครั้ง ตอนนี้เรารู้สึกเหมือนเรียนวิชา Requirement Engineering ใหม่อีกรอบ เพราะเป็นเนื้อหาวิชานั้นเลย เช่น วิธีการเก็บ Requirement รูปแบบต่างๆ จริงๆ มี Comments แต่ว่าหมดเวลาเสียก่อน คือ เรื่องของ Requirement Documents จะต้องวัดค่าได้ เพราะว่ามันจะควบคู่กับเอกสาร TOR ในการตีความตอนรับมอบงานของลูกค้า รวมถึงเอกสาร SRS Practice ของ IEEE 830-1998 ด้วย แล้วก็เรื่องวิธีการเก็บ Requirement ที่มีมุมมองความลึกแคบแตกต่างกัน เช่น การทำแบบสอบถาม จะได้ข้อมูลแบบกว้าง แต่การสัมภาษณ์จะได้ข้อมูลแบบลึก เวลาการ Interview จะต้องมีการกำหนดรูปแบบคำถาม ซึ่งระหว่างกลุ่ม Manager กับ Operation จะแตกต่างกัน รวมถึง เอกสาร SA หลายอย่าง สามารถแทนที่ได้ด้วย UML แล้ว หลายแผนภาพ เป็นแบบเก่า ที่ปัจจุบัน หนังสือเรียนมีอยู่ แต่ไม่ได้ใช้กันแล้ว&lt;/p&gt;&lt;p&gt;&lt;b&gt;Java Multithread&lt;/b&gt;&lt;/p&gt;&lt;p&gt;อันนี้พูดเรื่อง Mahlee ว่าจะเอามาลองใช้งานดูบ้างอยู่ ถ้าหากว่าง มีคำถาม แต่ไมได้ถามออกไป เช่นการ Compare กับ Java Script Library ประเภทอื่นๆ&lt;/p&gt;&lt;p&gt;&lt;b&gt;L10N&lt;/b&gt;&lt;/p&gt;&lt;p&gt;เรื่องของ Localization ตรงนี้ มีคำถาม แต่ไม่ทันได้ถาม เพราะหมดเวลาก่อน แต่ก็ได้ถามไปแล้วหลายคำถาม จริงๆติดประเด็นอยู่ว่า แล้วถ้าเราสร้างโปรแกรมขึ้นมาเอง เราจะ Generate ในส่วนของ Translation อะไรอย่างไร ให้มันสามารถ Code Readability กับ Transalation ablity พร้อมๆกัน ส่วนใหญ่เค้าแนะนำโปรแกรมบน Linux แต่เราถนัดแต่โปรแกรม poEdit บน Windows ซึ่ง ใช้ล่าสุดก็ยังมีปัญหากับภาษาไทยอยู่ สุดท้ายก็เลยไม่ได้ใช้ทำงานอะไรจริงๆจังๆเสียที&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#000099&quot;&gt;&lt;b&gt;Security Patterns&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;อันนี้เป็นคนพูดเอง เน้นเชิง Discussion หน่อย เพราะว่าเตรียมตัวมาไม่ทัน ได้หลายๆคนมาช่วยไว้ ทำให้งานสามารถ Present ได้ครบเวลา ซึ่งติดตามได้จาก [&lt;a href=&quot;http://diary.jomyut.net/archives/1223-Barcamp-Bangkok-My-Presentation.html&quot;&gt;Entry นี้&lt;/a&gt;]&lt;/p&gt;&lt;p&gt;หลังจากนั้นเป็นอันหมด&lt;/p&gt;&lt;p&gt;หัวข้อที่เหลือมีที่น่าสนใจอยู่หลายอันที่ไม่ได้เข้าฟัง อย่างเช่น งานวิจัยทางด้าน Biology กับคอมพิวเตอร์ อยากฟัง แต่ว่าหลุด Schedule ไป&lt;/p&gt;&lt;p&gt;ถ้ามีโอกาสไปครั้งหน้า อาจจะพูดเรื่องของ Code Optimization (คือสนใจจะ Discussion แต่ไม่มีความรู้แฮะ) กับเรื่องของ MySQL HA/ Performance Tunning อะไรทำนองนั้น นอกเหนือจาก Security Patterns ที่ครั้งหน้าอาจจะมีอะไรน่าสนใจเพิ่มขึ้น ก็เป็นได้&lt;/p&gt;&lt;p&gt;&lt;br /&gt;
&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 27 Jan 2008 23:01:17 +0700</pubDate>
    <guid isPermaLink="false">http://diary.jomyut.net/archives/1226-guid.html</guid>
    <category>barcampbangkok</category>
<category>linux</category>
<category>security</category>
<category>ssh</category>

</item>
<item>
    <title>Barcamp Bangkok - My Presentation</title>
    <link>http://diary.jomyut.net/archives/1223-Barcamp-Bangkok-My-Presentation.html</link>
            <category>Computer Science</category>
    
    <comments>http://diary.jomyut.net/archives/1223-Barcamp-Bangkok-My-Presentation.html#comments</comments>
    <wfw:comment>http://diary.jomyut.net/wfwcomment.php?cid=1223</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://diary.jomyut.net/rss.php?version=2.0&amp;type=comments&amp;cid=1223</wfw:commentRss>
    

    <author>nospam@example.com (JOMYUT.NET)</author>
    <content:encoded>
    &lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;http://diary.jomyut.net/media/General/2220359763_577d58c7f5_o.jpg&quot; class=&quot;serendipity_image_link&quot;&gt;&lt;!-- s9ymdb:457 --&gt;&lt;img width=&quot;330&quot; height=&quot;225&quot; src=&quot;http://diary.jomyut.net/media/General/2220359763_577d58c7f5_o.thumb.jpg&quot; style=&quot;border: 0px none ; padding-left: 5px; padding-right: 5px;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p align=&quot;center&quot;&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.flickr.com/photos/plynoi/2220359763/in/set-72157603796733436/&#039;);&quot;  href=&quot;http://www.flickr.com/photos/plynoi/2220359763/in/set-72157603796733436/&quot;&gt;จากรูป&lt;/a&gt; จะเห็นหัวข้อ Security Patterns อยู่ล่างซ้าย แปะไปสิบห้านาทีสุดท้าย&lt;/p&gt;&lt;p&gt;จากการที่ลงหัวข้อ 15 นาทีสุดท้าย ก่อนปิดเวลา Vote ตอนแรกคิดว่าจะไม่ได้พูดแล้ว ปรากฏว่า คะแนนเสียงเพิ่มขึ้นมาเป็นสิบแต้ม เลยได้รับการจัดเข้าตารางเวลา ตอน 5 โมงเย็น ซึ่งเป็นเวลาที่เขาลดห้อง Presentation จากสามห้อง เหลือเพียงสองห้อง เราก็คิดว่าเอาละ คนฟังเยอะแน่ๆ แย่แล้ว ไม่ได้เตรียม Slide มาด้วย เดิมทีตั้งใจว่าจะพูด ถ้าได้เตรียม Slide มา แต่เนื่องจากไม่ได้เตรียม Slide มา งั้นทำไงละทีนี้ ก็เป็นพูดสดละครับงั้น ตอนหลังแอบไปเติม คำว่า &amp;quot;Discussion&amp;quot; ต่อท้าย จะได้เหมือนกับเป็น Class ที่ให้ทุกคนมาแชร์ร่วมกัน แต่ถึงกระนั้น ชื่อหัวข้อหน้าห้อง ก็ไม่ได้แก้ไขอยู่ดี&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;http://diary.jomyut.net/media/General/barcampbangkok-securityschedule.JPG&quot; class=&quot;serendipity_image_link&quot;&gt;&lt;!-- s9ymdb:456 --&gt;&lt;img width=&quot;248&quot; height=&quot;330&quot; src=&quot;http://diary.jomyut.net/media/General/barcampbangkok-securityschedule.thumb.JPG&quot; style=&quot;border: 0px none ; padding-left: 5px; padding-right: 5px;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;u&gt;[&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/picasaweb.google.com/helloframe/BarcampBangkok2008&#039;);&quot;  href=&quot;http://picasaweb.google.com/helloframe/BarcampBangkok2008&quot;&gt;Source&lt;/a&gt;] 15 นาที ได้มาสิบเสียง แล้วถ้าเราไปแปะตั้งแต่ตอนเราถึง นี่จะได้กี่เสียงกันนะ&lt;/u&gt;&lt;/p&gt;&lt;p&gt;ตอนแรกว่าจะเอา Papers มาอ่านคร่าวๆ สุดท้าย ไม่ได้อ่านครับ อาศัยวิชาที่เพิ่งได้ร่ำเรียนมา 1 ครั้ง แต่ใช้ซะคุ้มเลย ก็คือ Mind Map เอามาใช้ในการนำเสนอ ก็คือ ขึ้นด้วย หน้าจอเปล่าๆ พอใครพูดอะไรมา เราก็ Note มาไว้ใน Mind Map ไว้ให้ งานนี้ มีคำชมครับ :$ เพิ่งแอบไปเปิดดูสรุปมา [&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/blog.winginfotech.net/2008/01/27/barcamp_bangkok_winter_2008_3/&#039;);&quot;  href=&quot;http://blog.winginfotech.net/2008/01/27/barcamp_bangkok_winter_2008_3/&quot;&gt;ตามไปดูที่นี่&lt;/a&gt;]&lt;/p&gt;&lt;p&gt;====================================&lt;/p&gt;&lt;p&gt;เนื้อหา&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;a class=&quot;serendipity_image_link&quot; href=&quot;http://diary.jomyut.net/media/General/Barcampbangkok_SecurityPatterns.png&quot;&gt;&lt;!-- s9ymdb:455 --&gt;&lt;img width=&quot;330&quot; height=&quot;127&quot; style=&quot;border: 0px none ; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://diary.jomyut.net/media/General/Barcampbangkok_SecurityPatterns.thumb.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;อันนี้ เราต้องคิดมาก่อนเริ่มพูดนิดนึง ว่ามีเรื่องอะไรที่จะทำให้เกิดการพูดคุยได้บ้าง ก็เลยเริ่มต้นที่คำถามหลักๆก็แล้วกัน ว่า What? Why? How? Who? When? คือ ทำไมต้องมีละ Security Patterns? มันมีประโยชน์ยังไงบ้างละ Security Patterns? แล้วจะใช้มันยังไงได้บ้างละ ? แล้วมันมีรูปแบบ Patterns แบบไหนบ้างละ&lt;/p&gt;&lt;p&gt;เราก็พูดโยงกับเรื่องของ Design Patterns ของ Object-Oriented งานของ GoF หลังจากนั้นก็มาแจกแจง ว่าเราสามารถสร้าง Patterns ตามรูปแบบไหนได้บ้าง &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Attacking Patterns ดูว่าโดนโจมตีอย่างไร&lt;/li&gt;&lt;li&gt;Physical ดูว่า เรามีอะไร Token, Username, Biometrics&lt;/li&gt;&lt;li&gt;เอ ตาม Defense ได้มั๊ยนะ&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;แล้วก็โยงเข้ากับ Papers ที่เราใช้ในการ Present ตลอดเทอมนี้ ก็คือ &amp;quot;A study of security architectural patterns&amp;quot; งาน Patterns ที่มีการออกแบไว้แล้ว &amp;quot;Model Checking Security Pattern Compositions&amp;quot; การเช็คว่า Model ควมปลอดภัยที่สร้างขึ้นนั้น ปลอดภัยแล้วหรือยัง&lt;/p&gt;&lt;p&gt;งานนี้ทำให้เราได้รู้วิธีการจู่โจมในรูปแบบอื่นๆอีก ต้องขอบคุณ ไทโกะ, คุณเก่ง และก็พี่ System Engineering จากกันตนา มาช่วยแชร์ความรู้ ทำให้ Session ผ่านไปด้วยดี ใช้เวลาไปทั้งหมด 40 นาทีเต็ม ในการ Discussion ครั้งนี้ (เริ่มก่อนชาวบ้าน 10 นาที - จริงๆ ก่อนเวลา 15 นาที) หมดตรงเวลาพอดี&lt;/p&gt;&lt;p&gt;งานนี้ เราได้รู้ Patterns ของ Security มากขึ้น จุดงานที่สนใจ เห็นจะเป็นการเชื่อมโยงระหว่างงาน Security Design กับ Social Design ซึ่งมีงาน &amp;quot;Password Sharing: Implications for Security Design Based on Social Practice&amp;quot; ซึ่งเค้าพูดถึงเรื่อง Trusts ของ Social Practice กับ Security Engineering เอามาพูดเกริ่นๆด้วยอีกเช่นเดียวกัน&lt;/p&gt;&lt;p&gt;นอกจากนี้ ได้พูดถึง Model ในการ Authentication ของ Thawte (Web-of-Trust) กับ 3rd Party ด้วย งานนี้ ได้ไปเชื่อมกับ PGP Encryption ว่ามีเทคนิคที่เหมือนกันอย่างลงตัว&lt;/p&gt;&lt;p&gt;================================&lt;/p&gt;&lt;p&gt;ขอยก Quote จากเว็บไซต์ที่เขียนถึงเราเก็บไว้สักหน่อย&lt;/p&gt;&lt;blockquote&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/blog.winginfotech.net/wp-content/gallery/barcamp_bangkok_2007/IMG_9764.png&#039;);&quot;  href=&quot;http://blog.winginfotech.net/wp-content/gallery/barcamp_bangkok_2007/IMG_9764.png&quot; class=&quot;thickbox&quot; rel=&quot;singlepic621&quot;&gt;&lt;img class=&quot;ngg-singlepic&quot; src=&quot;http://blog.winginfotech.net/wp-content/plugins/nextgen-gallery/nggshow.php?pid=621&amp;width=320&amp;height=240&amp;mode=&quot; alt=&quot;IMG_9764.png&quot; title=&quot;IMG_9764.png&quot; /&gt;&lt;/a&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;ถัดมาเรื่องสุดท้ายก็คือ &lt;strong&gt;“Security Pattern”&lt;/strong&gt;&lt;br /&gt;
ซึ่งตอนนี้ผมเริ่มหมดแรงแล้ว เลยไม่ค่อยได้จดอะไรมาแล้วครับ&lt;br /&gt;
แต่คนนี้เค้าใช้ซอฟต์แวร์ mindmap ใช้ในการพรีเซนต์ซึ่งน่าสนใจมากทีเดียว&lt;br /&gt;
ในการให้คนที่ฟังสามารถจับจุดได้เป็นอย่างดี&lt;/p&gt;Ref: [&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/blog.winginfotech.net/2008/01/27/barcamp_bangkok_winter_2008_3/&#039;);&quot;  href=&quot;http://blog.winginfotech.net/2008/01/27/barcamp_bangkok_winter_2008_3/&quot;&gt;Blog Here&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Sun, 27 Jan 2008 21:15:16 +0700</pubDate>
    <guid isPermaLink="false">http://diary.jomyut.net/archives/1223-guid.html</guid>
    <category>barcampbangkok</category>

</item>
<item>
    <title>DoS attacking...</title>
    <link>http://diary.jomyut.net/archives/1115-DoS-attacking....html</link>
            <category>Computer Science</category>
    
    <comments>http://diary.jomyut.net/archives/1115-DoS-attacking....html#comments</comments>
    <wfw:comment>http://diary.jomyut.net/wfwcomment.php?cid=1115</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://diary.jomyut.net/rss.php?version=2.0&amp;type=comments&amp;cid=1115</wfw:commentRss>
    

    <author>nospam@example.com (JOMYUT.NET)</author>
    <content:encoded>
    &lt;br /&gt;
&lt;p&gt;ตอนนี้เครื่องกำลังโดยภัย Denial-of-Service อีกครั้ง จากสองหมายเลข IP Address ซึ่งอันหนึ่งมาจาก TOT อันหนึ่งมาจาก True อย่างไรก็ตาม ผลของความเสียหายไม่รุนแรงมากนัก เว็บเปิดได้อืดๆนิดหน่อย ก็เลยทำการ Drop Packet จากสองไอพีแอดเดรสทิ้ง ปัญหาการ DoS เกิดจากเว็บไซต์เดิม ที่อยู่ภายในเครื่อง ซึ่งกำลังตัดสินใจต่อไป ว่าอยากจะสนุกโดยการไปลองแจ้งความให้ดำเนินการเล่นๆดีมั๊ย ไหนๆเค้าก็มาสนุกกับเครื่องเราแล้ว&lt;/p&gt;&lt;p&gt;ตอนแรกว่าจะมาเขียนไดอาร์รี่ถึงเรื่องไปเที่ยววันนี้ซะหน่อย กลับกลายมาเป็นเจอ Issue เสียก่อน แต่ก็สนุกดี ตอนนี้จัดการกับพวก DoS ได้อย่างใจเย็นขึ้น ไม่ค่อยเครียดเหมือนครั้งแรกที่โดน เริ่มรู้ Process ที่จะต้องทำ ตั้งแต่แรกจนกระทั้งสืบย้อนกลับในขั้นตอนสุดท้าย ตอนนี้ก็เลยคงปล่อยให้มี DoS ต่อไปสักพัก เพราะระดับความรุนแรงไม่สูงนัก ถือเป็นการฝึกประสบการณ์ไปในตัว ว่าจะจัดการอย่างไร&lt;/p&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Fri, 05 Oct 2007 00:02:14 +0700</pubDate>
    <guid isPermaLink="false">http://diary.jomyut.net/archives/1115-guid.html</guid>
    <category>attack</category>
<category>denial-of-service</category>

</item>
<item>
    <title>PDF Brute-force Attack</title>
    <link>http://diary.jomyut.net/archives/1111-PDF-Brute-force-Attack.html</link>
            <category>Computer Science</category>
    
    <comments>http://diary.jomyut.net/archives/1111-PDF-Brute-force-Attack.html#comments</comments>
    <wfw:comment>http://diary.jomyut.net/wfwcomment.php?cid=1111</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://diary.jomyut.net/rss.php?version=2.0&amp;type=comments&amp;cid=1111</wfw:commentRss>
    

    <author>nospam@example.com (JOMYUT.NET)</author>
    <content:encoded>
    &lt;br /&gt;
&lt;p&gt;Today, I try to use Brute-force attack to PDF file to show how secure of it.&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;!-- s9ymdb:406 --&gt;&lt;img width=&quot;330&quot; height=&quot;117&quot; style=&quot;border: 0px none ; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://diary.jomyut.net/media/General/Brute-force.thumb.PNG&quot; /&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;Figure: &lt;b&gt;Brute-force Attack in APDFPR application&lt;/b&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;As you see in above image, I use 1 machine with CPU T7300 Core2Duo 2.00 GHz to brute-force attack to the pdf file... I make 2 process working seperately to optimize CPU usage. If 1 process, it will work on single core, I use 2 process to work parallel each cpu core. So, it can brute-force at 4x,xxx queries/second&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;For the password that use only number 8 characters, I will found the key within 1:0x:xx hrs.&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;The way to secure more to your file is use your secondary language that you know as the password. Because there is no one try with unicode password (such as use password with Thai language if the application supported)&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;So, you can imagination how long am I can decrypt the password 8 characters with 10 machines? It is basically. It use 0.1 times of an hours (ten minutes) to know the password.&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&lt;b&gt;KEEP YOUR SECRET, TAKE PASSWORD COMPLEX AND LONG&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Mon, 01 Oct 2007 18:54:54 +0700</pubDate>
    <guid isPermaLink="false">http://diary.jomyut.net/archives/1111-guid.html</guid>
    
</item>
<item>
    <title>Distributed System Presentation</title>
    <link>http://diary.jomyut.net/archives/1096-Distributed-System-Presentation.html</link>
            <category>Computer Science</category>
    
    <comments>http://diary.jomyut.net/archives/1096-Distributed-System-Presentation.html#comments</comments>
    <wfw:comment>http://diary.jomyut.net/wfwcomment.php?cid=1096</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://diary.jomyut.net/rss.php?version=2.0&amp;type=comments&amp;cid=1096</wfw:commentRss>
    

    <author>nospam@example.com (JOMYUT.NET)</author>
    <content:encoded>
    &lt;br /&gt;
&lt;p&gt;เมื่อคืนไปค้างที่ ISEL LAB ที่คณะมา เพื่อปั่นงาน Project วิชา Distributed System เป็นงานกลุ่มกับเพื่อน M.Sc. Computer Science กับ พี่ย้ง ป.เอก... ค้างที่นั่น ทำงานกันทั้งคืน แอบไปงีบหลับหน่อย ช่วงตี 5-7 โมงเช้า ก่อนที่จะโหมทำงานต่อ จนถึงเที่ยง ซึ่งเป็นเวลา Present งาน. เป็นตัวอย่างของการ Management เวลาที่ไม่ดีนัก&lt;/p&gt;&lt;p&gt;โปรเจคที่ได้รับในวิชา Distributed System เป็นการทำ Replica Manager (RM) โดยจะทำการสำเนาข้อมูล ทุก Transaction ไปยัง RM ตัวอื่นๆ ซึ่งเราก็จะต้องมีการ Handle กรณีเกิดปัญหา Error ต่างๆ เช่น Service ไม่ได้เปิด, RM ตาย, สาย Network เจ้ง, และอื่นๆอีกมากมาย โดยจะต้องมี Process ในการ Recovery System ให้กลับมาในสภาพที่สมบูรณ์&lt;/p&gt;&lt;p&gt;จากการ Present งานในวันนี้ ทำให้เรากลับมา Focus งาน ซึ่ง Concern ในเรื่องเกี่ยวกับ View ของข้อมูลมากขึ้น คือ Data จะต้องมี Consistency ในขณะที่ Application ที่เราทำส่งอาจารย์ มัวแต่ไปจัดการในเรื่องของ Performance ซึ่งพยายามยิง Packet จำนวนกว่า 10,000 Transactions / Second ออกไปทาง Network แต่ก็ได้ข้อคิดจากอาจารย์ว่า ตรงนั้นมันไม่ใช่ Point แต่จุดที่จะต้อง Concern คือ Algorithm ในโปรแกรมของเราเอง ว่าจะทำยังไงให้ Data มัน Consistency คือจะต้อง Proof ได้ 100% ว่า ไม่ว่า RM จะตื่นจะตายกี่รอบ ก็จะได้ข้อมูลที่ Consistency กัน&lt;/p&gt;&lt;p&gt;พระเอกขี่ม้าขาว ที่เราคิดว่าเป็นลูกเมียน้อยก็คือ Global Sequencer ซึ่งทำหน้าที่เพียงแค่แจกหมายเลข Transactions ตอนแรกคิดว่ามีหน้าที่เพียงเท่านั้น มันก็ไม่น่าจะยากอะไร แต่จริงๆแล้ว หน้าที่ของ Global Sequencer ที่น่าสนใจคือ การส่งคำสั่งพิเศษ เพื่อควบคุมการทำงานของโปรแกรม เช่น.... ถ้าโปรแกรมมีการส่ง Packet จำนวนมาก ทำให้ เกิด Lost ใน Network สูง.... ถ้าอย่างนั้นแล้ว ทำไมเราถึงไม่ไปสั่งให้ Global Sequencer ทำงานช้าลงละ ? มัวแต่ไป Focus เรื่องการส่งข้อมูลซ้ำระหว่าง RM เพื่อทำการ Recovery แต่ไม่ได้มีการมองวิธีการทำให้ระบบเสถียรขึ้น โดยการนำ Global Sequencer มาช่วยเลย.&lt;/p&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Sat, 22 Sep 2007 18:43:44 +0700</pubDate>
    <guid isPermaLink="false">http://diary.jomyut.net/archives/1096-guid.html</guid>
    
</item>
<item>
    <title>Multicast Programming</title>
    <link>http://diary.jomyut.net/archives/1081-Multicast-Programming.html</link>
            <category>Computer Science</category>
    
    <comments>http://diary.jomyut.net/archives/1081-Multicast-Programming.html#comments</comments>
    <wfw:comment>http://diary.jomyut.net/wfwcomment.php?cid=1081</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://diary.jomyut.net/rss.php?version=2.0&amp;type=comments&amp;cid=1081</wfw:commentRss>
    

    <author>nospam@example.com (JOMYUT.NET)</author>
    <content:encoded>
    &lt;br /&gt;
&lt;p&gt;การเขียนโปรแกรม เพื่อส่งข้อมูลแบบ Multicast&lt;/p&gt;&lt;p&gt;- การทดสอบ จะต้องดูให้ดีว่า Multicast นั้นกำหนดวง ของการส่ง Multicast ไว้อย่างไร อ้างอิงจากเอกสารของ &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.iana.org/assignments/multicast-addresses&#039;);&quot;  href=&quot;http://www.iana.org/assignments/multicast-addresses&quot;&gt;iana &lt;/a&gt;ได้ระบุเกี่ยวกับการส่ง Multicast ไว้คือ&lt;/p&gt;&lt;pre&gt;224.0.0.0  Base Address (Reserved)                   [RFC1112,JBP]&lt;br /&gt;224.0.0.1  All Systems on this Subnet                [RFC1112,JBP]&lt;br /&gt;224.0.0.2  All Routers on this Subnet                        [JBP]&lt;/pre&gt;&lt;p&gt;จากตัวอย่าง ถ้ากำหนด Multicast ไป Join Group 224.0.0.0 จะเกิดอะไรขึ้น... เครื่องอื่นๆ ก็จะไม่ได้รับ Message ที่ส่งใน Group ครับ เพราะว่ามันเป็น Reserve IP Address ที่ส่งถึงแค่ในวงนั้น ที่นี้ ถ้าลง Detail มากขึ้นจะได้ดังนี้&lt;/p&gt;&lt;p&gt;1110 ???? . ???? ???? . ???? ???? . ???? ???? Binary IP Address - อันนี้จะเป็นวง Reserve for Multicasting&lt;/p&gt;&lt;p&gt;ส่วน 2 IP Addresses ถัดมา เป็น Special IP Address สำหรับ Multicast ทั้งกลุ่ม Subnet กับทั้งกลุ่ม Router คือ&lt;/p&gt;&lt;p&gt;1110 0000 . 0000 0000 . 0000 0000 . 0000 0001 สำหรับ Multicast ทั้ง Subnet&lt;/p&gt;&lt;p&gt;1110 0000 . 0000 0000 . 0000 0000 . 0000 0010 สำหรับ Multicast Routers ทั้ง Subnet&lt;/p&gt;&lt;p&gt;นอกเหนือจากนี้จะดูค่า TTL ว่าส่ง Packet ไปไกลได้มากสุดกี่ Hops&lt;/p&gt;&lt;p&gt;- IP_ADD_MEMBERSHIP : Cannot join the domain บางครั้งเกิด เพราะว่าเรากำหนด Range ของวงการ Multicast ไปนอกเหนือจาก Reserve IP Address for Multicasting ข้างต้น&lt;/p&gt;&lt;p&gt;More Information:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;http://ntrg.cs.tcd.ie/undergrad/4ba2/multicast/&lt;/li&gt;&lt;li&gt;http://ntrg.cs.tcd.ie/undergrad/4ba2/multicast/antony/index.html&lt;/li&gt;&lt;li&gt;http://www.ixiacom.com/library/white_papers/display?skey=multicast&lt;/li&gt;&lt;/ol&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Tue, 11 Sep 2007 08:13:09 +0700</pubDate>
    <guid isPermaLink="false">http://diary.jomyut.net/archives/1081-guid.html</guid>
    
</item>
<item>
    <title>First Joke of day</title>
    <link>http://diary.jomyut.net/archives/1047-First-Joke-of-day.html</link>
            <category>Computer Science</category>
    
    <comments>http://diary.jomyut.net/archives/1047-First-Joke-of-day.html#comments</comments>
    <wfw:comment>http://diary.jomyut.net/wfwcomment.php?cid=1047</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://diary.jomyut.net/rss.php?version=2.0&amp;type=comments&amp;cid=1047</wfw:commentRss>
    

    <author>nospam@example.com (JOMYUT.NET)</author>
    <content:encoded>
    &lt;p&gt;Admin Joke.... &lt;img src=&quot;http://diary.jomyut.net/templates/default/img/emoticons/laugh.png&quot; alt=&quot;:-D&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;!-- s9ymdb:377 --&gt;&lt;img width=&quot;300&quot; height=&quot;264&quot; src=&quot;http://diary.jomyut.net/media/General/sudo_shirt_thumb.png&quot; style=&quot;border: 0px none ; padding-left: 5px; padding-right: 5px;&quot; /&gt;&lt;/p&gt;&lt;p&gt;Source: &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/xkcd.com/store/&#039;);&quot;  href=&quot;http://xkcd.com/store/&quot;&gt;XKCD&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Sun, 26 Aug 2007 11:16:45 +0700</pubDate>
    <guid isPermaLink="false">http://diary.jomyut.net/archives/1047-guid.html</guid>
    
</item>
<item>
    <title>Antivirus vs. Performance</title>
    <link>http://diary.jomyut.net/archives/1021-Antivirus-vs.-Performance.html</link>
            <category>Computer Science</category>
    
    <comments>http://diary.jomyut.net/archives/1021-Antivirus-vs.-Performance.html#comments</comments>
    <wfw:comment>http://diary.jomyut.net/wfwcomment.php?cid=1021</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://diary.jomyut.net/rss.php?version=2.0&amp;type=comments&amp;cid=1021</wfw:commentRss>
    

    <author>nospam@example.com (JOMYUT.NET)</author>
    <content:encoded>
    &lt;br /&gt;
&lt;p&gt;หลายๆคน เลือกที่จะใช้ Antivirus เพราะกลัว Virus ลงเครื่อง หรือบางคนก็อาจจะติดตั้ง Antivirus หลายๆตัวซะด้วยซ้ำไป โดยที่ไม่รู้ว่า Antivirus เนี๊ย เป็นตัวบริโภคความเร็วของระบบอย่างดีเลย. เนื่องจาก ตอนนี้ใช้ NOD32 จึงไม่ขอเปรียบเทียบกับการใช้ Antivirus ก่อนหน้านี้ตัวก่อนๆ แต่ NOD32 นั้น เมื่อ Enable AMON หรือ Real-time File Monitoring ทำให้ประสิทธิภาพของเครื่องลดลงถึง 3 เท่าตัวเป็นอย่างน้อยๆเลยทีเดียว&lt;/p&gt;&lt;p&gt;ถ้าใครอยากลองประสิทธิภาพความเร็วอย่างง่ายๆ ก็ลองโอนไฟล์ดู ยิ่ง Microsoft Windows Vista จะอืดดดดดมากอย่างเห็นได้ชัด และพอ Disable ตัว Antivirus ก็จะเห็นความเร็วที่เพิ่มขึ้นหลายเท่าตัว สาเหตุที่เป็นอย่างนี้ ก็เพราะโดยธรรมชาติของ Antivirus มันจะต้องแทรกแซงการทำงานการอ่านไฟล์ของทุกโปรแกรม มาเทียบกับ Virus Pattern ก่อน ว่ามันตรงกับ Virus Pattern ตัวใดหรือเปล่า ถ้าตรงก็จะ Alert ขึ้นมาว่า &amp;quot;ว๊ากกกกก ไฟล์ abcd มีไวรัส จะให้ช๊านนนทำยังงายยยย&amp;quot;&lt;/p&gt;&lt;p&gt;เพราะฉนั้น ถ้าเครื่องคอมพิวเตอร์ไม่ได้สำส่อนจริงๆ ก็อย่าไปใช้เลย Antivirus เพราะมันลดประสิทธิภาพการทำงานลงเยอะมากๆ (แต่มันก็ได้ความปลอดภัยกลับมาอะนะ) แต่สำหรับเรา เลือกที่จะ Disable เวลาตัวเองนั่งทำงาน และรู้ว่าตัวเองกำลังทำอะไรกับระบบอยู่... ค่อยไป Enable เวลาที่เครื่องมีโอกาสต้องสำส่อน อย่างเช่น Presentation หรือว่าไปใช้งานนอกบ้าน ที่มีโอกาสที่ไวรัสจะเข้ามาทางระบบ Network, By the way, อย่างไรก็ตาม เราค่อนข้างเชื่อใจในระบบ User Access Control (UAC) ของ Windows Vista ในระดับหนึ่ง ที่มันจะมี Alert ขึ้นมาถาม กรณีไฟล์มีการเรียกใช้เพื่อเขียนไฟล์ลงใน Directory ที่มีการสงวนไว้ ดังนั้น ถ้าเชื่อใจ UAC ตัวนี้ ก็แทบจะ Disable Antivirus ได้เลย เพียงแต่ อย่าเผลอไปกด Allow ตัว Application ที่เป็นไวรัสเสียเอง&lt;/p&gt;&lt;p&gt;ถ้าอยากจะทดสอบให้ละเอียดมากขึ้น ก็ลองเปิดตัว Windows Task Manager (Ctrl+Alt+Del) &amp;gt; เลือก Performance &amp;gt; Resource Monitor (สำหรับ Windows Vista) เราก็จะเห็นกราฟของ CPU, IO Operation, Memory, ... ก็มาดูที่ IO Operation แล้วลอง Transfer ไฟล์ ระหว่าง Enable/Disable Antivirus เพื่อดูประสิทธิภาพที่แตกต่างได้เลย.&lt;/p&gt;&lt;p&gt;ปล. Defrag เครื่อง Vista ครั้งแรก เสียเวลาไป 4 ชั่วโมงได้ เพิ่งมา Disable Antivirus ตอนท้าย --&#039;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 13 Aug 2007 18:56:13 +0700</pubDate>
    <guid isPermaLink="false">http://diary.jomyut.net/archives/1021-guid.html</guid>
    
</item>
<item>
    <title>Review: The Google Cluster Architecture</title>
    <link>http://diary.jomyut.net/archives/1020-Review-The-Google-Cluster-Architecture.html</link>
            <category>Computer Science</category>
    
    <comments>http://diary.jomyut.net/archives/1020-Review-The-Google-Cluster-Architecture.html#comments</comments>
    <wfw:comment>http://diary.jomyut.net/wfwcomment.php?cid=1020</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://diary.jomyut.net/rss.php?version=2.0&amp;type=comments&amp;cid=1020</wfw:commentRss>
    

    <author>nospam@example.com (JOMYUT.NET)</author>
    <content:encoded>
    &lt;br /&gt;
&lt;p&gt;อ่านบทความเรื่อง &lt;font color=&quot;#0000ff&quot;&gt;Web Search for a Planet: The Google Cluster Architecture&lt;/font&gt; ของวิชา Distributed System ไป ในบทความนี้พูดถึงการใช้ทรัพยากรคอมพิวเตอร์ของ Google ซึ่งเน้นในลักษณะของการนำ PC ธรรมดา มาสร้างเป็น Cluster เพื่อให้บริการ แทนที่จะใช้ Server-based ที่มีราคาสูง&lt;/p&gt;&lt;p&gt;จากการที่เราอ่าน เราคิดว่า Google ใช้ PC-based ได้นี้ มีปัจจัยอยู่หลายอย่าง ตั้งแต่ &lt;/p&gt;&lt;p&gt;1. ลักษณะของ High-Available Computing คือเน้นการให้บริการจำนวนมาก, Task การ Query นั้นเป็นอิสระต่อกัน ไม่จำเป็นต้องใช้ CPU หลายตัวประมาณผลงานด้วยกัน ดังนั้น ความจำเป็นการในการใช้ Server จึงลดลง&lt;/p&gt;&lt;p&gt;2. เรื่องของ Redundancy ของ Hardware ก็ไม่จำเป็นนัก โดยทั่วไปแล้ว ระบบขนาดใหญ่ จะให้ความสำคัญกับข้อมูล ซึ่งใช้วิธีการ Backup แบบ RAID แต่ Google ไม่ใช่, Google ได้มีการสร้าง Software ขึ้นมาของตนเอง ซึ่ง Point สำคัญ ที่เราคิดว่า Google ทำแบบนี้ได้ก็เพราะว่า ข้อมูลของ Google ไม่ได้อยู่ที่ Google คือ มันเป็น Website ที่กระจายอยู่ทั่วโลกอยู่แล้ว ดังนั้น การที่ Google เสียข้อมูลไป อย่างมากก็ให้ Crawl เข้าไปค้นข้อมูลส่วนที่ข้อมูลเกิดความเสียหายใหม่ได้ เพราะยังไง ก็จะต้องมีการค้นเว็บเพจเพิ่มขึ้นทุกวันๆอยู่แล้ว การทำ Redundancy ด้วย RAID เลยอาจจะสิ้นเปลืองเกินไป&lt;/p&gt;&lt;p&gt;3. Single-Application เนื่องจาก Google มี Software ของตัวเอง ไม่ได้ไปใช้ของใครที่ไหน อีกทั้ง Software ในการ Search ก็เป็นตัวเดียว มันก็จริงที่ว่าอาจจะมี Components ย่อยๆ แต่ก็นั้นหละการที่มี Software เพียงชิ้นเดียว ก็ทำให้ สามารถจัดการเรื่องต่างๆได้ง่ายขึ้น ไม่ว่าจะเป็นเรื่องของ การคำนวณการใช้งาน CPU ซึ่งในบทความมีการเขียนถึงการใช้งานตั้งแต่ การใช้หน่วยประมวณผล การใช้ Cache L1, L2, RAM ทั้งหมดเลย เพื่อที่จะเลือกได้ว่า จะใช้ CPU ที่มี Feature อะไรบ้าง พูดง่ายๆคือ ใช้ CPU ได้คุ้มค่ากับประสิทธิภาพมากที่สุด อย่างเช่น ถ้าเกิด Application ใช้ L2 แค่นิดเดียว ก็ไม่มีความจำเป็นที่จะต้องซื้อ CPU ที่มี Cache L2 ใหญ่ๆ&lt;/p&gt;&lt;p&gt;4. เรื่องของประสิทธิภาพต่อราคา... ในบทความเอามาคำนวณ ตั้งแต่ ถ้าใช้ Server ค่าใช้จ่ายเป็นอย่างไร ถ้าใช้ PC เครื่องร้อนขึ้น จะต้องใช้ค่าใช้จ่ายเท่าไหร่ในการลดความร้อนของระบบ หรือเสียค่าใช้จ่ายกับระบบ Power อย่างไร ที่จะถูก และดูในเรื่องของความร้อนที่ออกมา&lt;/p&gt;&lt;p&gt;5. เรื่องการกระจายระบบไปที่ต่างๆทั่วโลก ที่นอกเหนือจากทำให้ ผู้ใช้เข้าถึงระบบได้เร็วแล้ว ก็ยังลดปัญหาที่อาจจะเกิดขึ้นที่เดียว (Risk Management) เช่นถ้าเกิดแผ่นดินไหว พายุ ระบบไฟฟ้าขัดข้อง ก็จะเน่าเป็น Cluster ไป ไม่ได้เน่าระบบทั้งหมด ประเด็นนี้ เคยอ่านแล้ว จากหนังสือ Google Story ซึ่งครั้งนึง Data Center ที่ Google เช่าอยู่ ก็เคยเกิดไฟไหม้ แต่ Google ก็ยังทำงานได้ เพราะยังมี Cluster ที่อื่นอยู่&lt;/p&gt;&lt;p&gt;ประเด็นที่น่าขบคิดสำหรับเราก็คือ ประเทศไทย จะมีการคำนวณเรื่องความคุ้มค่าของ System ที่จัดซื้อไปบ้างมั๊ยนะ เน้นแต่เครื่องแรง แต่เอามาพิมพ์งานต๊อกๆ... เรียกว่าใช้ประสิทธิภาพได้ไม่เต็มเม็ดเต็มหน่วยกับเงินที่เสียไป น่าเสียดายเงินจริงๆ...&lt;/p&gt;&lt;p&gt;Source: &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/ieeexplore.ieee.org/xpl/freeabs_all.jsp?tp=&amp;amp;arnumber=1196112&amp;amp;isnumber=26907&#039;);&quot;  href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?tp=&amp;arnumber=1196112&amp;isnumber=26907&quot;&gt;IEEE Computer Society&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Mon, 13 Aug 2007 18:37:43 +0700</pubDate>
    <guid isPermaLink="false">http://diary.jomyut.net/archives/1020-guid.html</guid>
    
</item>
<item>
    <title>Do we needs a lot of protocols ?</title>
    <link>http://diary.jomyut.net/archives/864-Do-we-needs-a-lot-of-protocols.html</link>
            <category>Computer Science</category>
    
    <comments>http://diary.jomyut.net/archives/864-Do-we-needs-a-lot-of-protocols.html#comments</comments>
    <wfw:comment>http://diary.jomyut.net/wfwcomment.php?cid=864</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://diary.jomyut.net/rss.php?version=2.0&amp;type=comments&amp;cid=864</wfw:commentRss>
    

    <author>nospam@example.com (JOMYUT.NET)</author>
    <content:encoded>
    &lt;p&gt;ก่อนหน้านี้ ผมเคยสงสัยว่า ทำไมเราจะต้องมาศึกษา Protocol แบบต่างๆ ไม่ว่าจะเป็น LDAP, UDP ในเมื่อ Application ปัจจุบันที่ผมเห็นทั้งหมดส่วนใหญ่ก็ใช้แต่ TCP Protocol กันทั้งนั้น เรายังมีความจำเป็นอยู่หรือ ที่จะต้องศึกษา Protocol แบบอื่นๆ หรือลักษณะการต่อระบบ LAN ที่เป็นแบบ Bus เดี๋ยวนี้ผมก็ไม่เห็นใครจะมาใช้งานแบบนี้เลย ก็ใช้ Switch กันทั้งนั้น....&lt;/p&gt;&lt;p&gt;เมื่อก่อน ในชีวิตประจำวันที่ผมใช้ POP3, SSH, HTTP, HTTPS, FTP ผมก็แทบจะไม่ได้ใช้อะไรอย่างอื่น มาวันนี้ ผมได้อยู่ในองค์กรที่มีการพัฒนา Protocol ขึ้นมาเอง ทำให้เข้าใจมากขึ้น จากตอนแรกที่สงสัยว่า ทำไมจะต้องพัฒนาขึ้นมาใหม่ด้วย ในเมื่อของเก่าก็มีอยู่เดิม&lt;/p&gt;&lt;p&gt;คำตอบก็คือ ทุกวันนี้ เราก็ยังใช้ Protocols มากมายหลายรูปแบบอยู่ดี ทั้งนี้ก็เพราะการออกแบบโปรโตคอลแต่ละแบบนั้น มีความแตกต่างกันในด้านการใช้งาน ขอยกตัวอย่างคำถามเป็นข้อๆไป.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ทำไมจะต้องศึกษารูปแบบการต่อเน็ตเวิร์คแบบอื่นๆ ทั้งๆที่ปัจจุบันก็ใช้แบบ Star ที่มี Switch เป็นตัวเชื่อมหมดแล้ว&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;คำตอบ... ผิดแล้วครับ, รูปแบบการเชื่อมต่อเน็ตเวิร์คแบบอื่นๆก็ยังมีการใช้งานอยู่ ผมคิดว่าในกลุ่มตลาดหุ้น ก็น่าจะใช้เครือข่ายแบบ Bus อยู่ ในการ Broadcast ข้อมูลทางการเงิน เช่น ราคาหุ้นซื้อขาย ณ ปัจจุบัน เพราะว่าเครื่องทั้งหมด อาจจะต้องการข้อมูลชุดเดียวกัน และส่วนใหญ่เป็นการ Receive ข้อมูลทิศทางเดียว นอกเหนือจากการต่อภายนอกแล้ว Protocol แบบ Broadcast ก็ยังจำเป็นต้องใช้งานอยู่ ยกตัวอย่างกรณีเดียวกัน เช่นการ Boardcast ข้อมูลทางการเงิน หรือราคาหุ้น ที่หลายๆเครื่องอาจจะมีการขอข้อมูลราคาหุ้นตัวเดียวกันเป็นต้น&lt;/p&gt;&lt;p&gt;การพัฒนาโปรโตคอลใหม่บนโปรโตคอลตัวเดิมก็ยังมีความจำเป็น อย่างเช่น UDP ที่ส่งแบบไม่รู้ว่าปลายทางได้มั๊ย แต่หากเราต้องการให้มันมีการตอบสนองว่าได้รับข้อมูลแล้ว ก็อาจจะเปลี่ยนไปเป็น TCP เลย แท้ที่จริงแล้วไม่ใช่ เพราะบางที เราอาจจะไม่ได้ต้องการ Synchonize กันระหว่างคอมพิวเตอร์ 2 เครื่อง (TCP เป็น Synchonize Protocol) เราอาจจะต้องการเพียง ถ้าสมุติว่า ต้องการยกเลิกรับข้อมูลการเงินของหุ้นตัวนี้ ก็ให้ Reply กลับมาบอกด้วย หรือ ถ้าไม่ได้รับข้อมูล ก็ค่อย Reply กลับมาบอก ดังนั้น เราจึงใช้การส่งข้อมูลแบบ UDP แล้ว Implement Protocol Ontop อีกทีนึง &lt;/p&gt;&lt;p&gt;ประโยชน์ก็คือ ขนาด Packet ที่เล็กลง จำนวน Packet ที่ส่งไปใน Network มีการใช้อย่างมีประสิทธิภาพ.... เพราะว่า เราให้มัน Reply เท่าที่เราต้องการ... ก็เป็นคำถามอีกเหมือนกันว่า ทำไมเราจะต้อง Optimize Network ด้วย ทั้งๆที่เครื่องคอมพิวเตอร์เรา ปกติแทบจะไม่ได้ใช้เน็ตเวิร์คเลย แต่ในระดับองค์กร หรืออย่างข่าวการเงิน ข้อมูล จะมีการส่งตลอดเวลา และเป็นจำนวนมาก ข้อมูลมีการ Broadcast ทั่วโลกพร้อมกัน การซื้อขายราคาหุ้น อาจเกิดทีละ 10,000 หุ้น ในวินาทีเดียวกัน ดังนั้น หากเกิดปัญหาคอขวดที่ Network ก็ย่อมจะทำให้ได้รับข้อมูลที่ผิดพลาดไปด้วย เพราะว่าราคาอาจจะเกิดการเปลี่ยนแปลงไปแล้ว ดังนั้น การส่ง Packet ตามขนาดเท่าที่ใช้ การย่อขนาด จึงเป็นสิ่งจำเป็นมาก&lt;/p&gt;&lt;p&gt;สรุปว่า Protocol ทุกประเภทก็คงยังมีความสำคัญและมีการใช้งานทุกวันนี้, LDAP บริษัทผมก็ใช้ใน Address Book ของ Outlook Express ซึ่งรวมถึง IP Phone ด้วย ที่มีการดึงข้อมูลผ่าน LDAP จาก Server ที่เดียวกัน ข้อมูลใน Address Book จะทำให้ผมสามารถส่งอีเมล์ให้คนทั้งหมดในบริษัทได้ โดยไม่ตกๆหล่นๆใคร เพราะว่า Address Book มัน Update ที่เครื่อง Server ที่เดียว&lt;/p&gt;&lt;p&gt;Microsoft Mail Exchange ที่ผมเคยคิดว่าใครจะไปใช้ ก็ใช้ POP3 ก็ได้ แต่ในบริษัทก็มีการใช้กัน สิ่งที่แตกต่างคือ Client ทุกเครื่องจะมีการเปิดพอร์ตกับ Server ตลอดเวลา ดังนั้น เวลาเมล์มาถึง ก็จะเห็นใน Client ทันที แตกต่างจาก POP3 ที่ใช้วิธีการแบบ Pooling&lt;/p&gt;&lt;p&gt;แม้แต่เกมส์ก็ยังใช้ UDP Protocol. ระบบคลัสเตอร์ขนาดใหญ่ ก็อาจจะต่อ Network โดยใช้ Topology แบบ Mesh เชื่อมต่อกันทุกเครื่อง เพื่อให้ส่งข้อมูลได้รวดเร็ว.... สรุปว่าทุกแบบยังมีการใช้งานทั้งหมด ผมแทบไม่น่าเชื่อเลย.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 22 Apr 2007 12:02:21 +0700</pubDate>
    <guid isPermaLink="false">http://diary.jomyut.net/archives/864-guid.html</guid>
    
</item>
<item>
    <title>Low latency vs. High Thoughtput</title>
    <link>http://diary.jomyut.net/archives/862-Low-latency-vs.-High-Thoughtput.html</link>
            <category>Computer Science</category>
    
    <comments>http://diary.jomyut.net/archives/862-Low-latency-vs.-High-Thoughtput.html#comments</comments>
    <wfw:comment>http://diary.jomyut.net/wfwcomment.php?cid=862</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://diary.jomyut.net/rss.php?version=2.0&amp;type=comments&amp;cid=862</wfw:commentRss>
    

    <author>nospam@example.com (JOMYUT.NET)</author>
    <content:encoded>
    &lt;h3&gt;Performance Testing&lt;/h3&gt;&lt;p&gt;&lt;font style=&quot;BACKGROUND-COLOR: #faffff&quot;&gt;จะทำการทดสอบ Performance อย่างไร สำหรับ Application ที่เป็น API หรือมีการรับส่งข้อมูลผ่าน Network อยู่ตลอดเวลา? แล้วหากมีการเขียน Protocol เองด้วยละ เราจะทดสอบอย่างไร?&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font style=&quot;BACKGROUND-COLOR: #faffff&quot;&gt;โดยปกติ API ที่ผมทำการทดสอบจะทำการทดสอบ 2 ค่า (ตาม Requirement) นั้นก็คือ Low Latency หมายถึง การตอบสนองของ API ที่รวดเร็วที่สุด โดยไม่คำนึงว่า CPU มีการใช้งานหนักเพียงใด อย่างเช่น โปรแกรมอาจจะทำการจองพื้นที่หน่วยความจำ ไว้ขนาดใหญ่ เพื่อให้สามารถตอบสนองได้ทันที เมื่อมีการรับ Message จากระบบ ให้ทำการ Dispatch Packet นั้นทันที ทำการประมวลผลทันที ซึ่งทุกอย่างก็จะเป็นไปอย่างรวดเร็ว แต่โปรแกรมอาจจะทำงานได้ไม่นานนักก็ตายก็เป็นได้ เพราะว่า ระบบมีการประมวลผลอย่างหนักอยู่ตลอดเวลา&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font style=&quot;BACKGROUND-COLOR: #faffff&quot;&gt;การทดสอบ จะทดสอบเป็นชั้นบันได โดยการเริ่มส่ง Packet มาให้ Dispatch ทีละ 10,20,100,200,1000,... ไปเรื่อยๆ แล้วเราทำการ Monitor ดูจำนวน Packet สูงสุดที่จะเป็นไปได้ที่ทำให้ระบบยังคงมีเสถียรภาพ ซึ่งจะได้ค่าเร็วที่สุดที่ API สามารถทำได้ แต่นั่นหมายถึงทรัพยากรของระบบที่อาจจะมีการใช้งานมหาศาล ก็เป็นได้&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font style=&quot;BACKGROUND-COLOR: #faffff&quot;&gt;การทดสอบตาม Requirement อีกรูปแบบนึงคือ High Thoughtput ในรูปแบบนี้ จะเน้นให้รับ Packet ได้มากที่สุด โดยที่ไม่คำนึงถึงความเร็ว เช่น การตอบสนองเมื่อมีการรับ Packet มา อาจจะมี Lantency สูง หรือมีการตอบสนองช้า แต่ว่าสามารถรับ Packet ได้จำนวนมาก หรืออย่างเช่น รับ Packet มาสัก 100 Packet แล้วค่อยทำการ Dispatch 1 ครั้ง ซึ่งก็จะลดเวลาของ CPU เป็นต้น&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font style=&quot;BACKGROUND-COLOR: #faffff&quot;&gt;ปัจจัยที่จะต้องควบคุมก็มีอย่างเช่น Platform, CPU, Memory Size โดยเฉพาะเมื่อมีการทดสอบเปรียบเทียบกับผลของเวอร์ชั่นก่อนหน้า จะต้องควบคุมสภาพแวดล้อมให้เหมือนกัน ไม่เช่นนั้น อาจจะให้ผลของประสิทธิภาพที่นำมาเปรียบเทียบกันผิดพลาด ทางที่ดี เมื่อมีการตรวจสอบประสิทธิภาพของโปรแกรมเรียบร้อย จะต้องบันทึกเป็น Baseline ว่าเรามีการใช้คอมพิวเตอร์อย่างไร Platform อะไร ลง Service Pack หรือไม่ หรือมีการลง Patch เพิ่มเติม รวมถึง Application อื่นๆที่โปรแกรมของเราทำงานร่วมด้วย จะต้องควบคุมให้เป็นเวอร์ชั่นเดียวกัน&lt;/font&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 22 Apr 2007 01:01:19 +0700</pubDate>
    <guid isPermaLink="false">http://diary.jomyut.net/archives/862-guid.html</guid>
    
</item>
<item>
    <title>QA. vs. Business Logic</title>
    <link>http://diary.jomyut.net/archives/852-QA.-vs.-Business-Logic.html</link>
            <category>Computer Science</category>
    
    <comments>http://diary.jomyut.net/archives/852-QA.-vs.-Business-Logic.html#comments</comments>
    <wfw:comment>http://diary.jomyut.net/wfwcomment.php?cid=852</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://diary.jomyut.net/rss.php?version=2.0&amp;type=comments&amp;cid=852</wfw:commentRss>
    

    <author>nospam@example.com (JOMYUT.NET)</author>
    <content:encoded>
    เอามาฝากน้องๆละกัน เป็นประสบการณ์จากทำงาน....&lt;br /&gt;&lt;br /&gt;เนื่องจาก Product ของทีมผม ปกติจะ Support OS คือ Linux Redhat Enterprise 4, Windows XP, Windows 2000, Windows 2003, Solaris 8, Solaris 10 และเนื่องจากตอนนี้ก็มี Microsoft Windows Vista เข้ามา ผมจึงได้รับการ Assign งาน ให้ไปทดสอบความ Compatible ของ Product กับ Windows Vista ซึ่ง ลักษณะของ Product ผมเป็น API ที่ผู้ใช้จะต้องเอาไปเขียนโปรแกรมติดต่อ และ Compile บน Visual Studio.NET 2003 หรือ Visual Studio.NET 2005 ซึ่ง Product ประกาศ Support.&lt;br /&gt;&lt;br /&gt;เรื่องราวมันก็มีอยู่ดังนี้ว่า ผมก็เลยทำการติดตั้ง VS.NET2003 และ VS.NET2005 บน Vista โดยที่เมื่อเข้าไปดูที่เว็บไซต์ของ Microsoft แล้วปรากฏว่า VS.NET2003 นั้น Microsoft ไม่ Support บน Vista. ผมก็เลยนั่ง Test ไปด้วยความตุ้มๆต่อมๆ ว่าจะเจอ ปัญหาอะไรในโปรแกรมบ้าง...... รวมถึง VS.NET2005 เช่นเดียวกัน ที่ จะต้องลง Patch เพื่อใช้งานบน Vista แต่ผมก็ยัง Test ต่อไปด้วยใจตุ้มๆต่อมๆ ว่า Product ของเราจะเกิดปัญหาบน Vista หรือไม่ แล้วถ้าเกิดขึ้น มันเกิดขึ้นจาก Product ของเราเอง หรือว่าเกิดจาก VS.NET กันแน่ !!!?&lt;br /&gt;&lt;br /&gt;ภายหลังจาก Test เสร็จเรียบร้อย ก็ส่งอีเมล์ถึงคนในทีม รายงานผลการทดสอบบน VS.NET2003 และ VS.NET2005 ว่าเจอปัญหาความไม่ Compatible กับระบบอย่างไรบ้าง......&lt;br /&gt;&lt;br /&gt;หลังจากนั้น.... ตอนเย็น Manager ก็ทักผมมา....&amp;quot;ป๊อป..... ทำไม VS.NET2003 ถึงไม่ Support บน Vista แล้วเราถึงยัง Compile บน Vista ด้วย .NET2003 อยู่ละ&amp;quot;..... ผมอึ้ง ไปชั่วขณะ!!!! &amp;quot;.NET2005 เหมือนกัน ในเมื่อ Micrsoft ประกาศว่าจะ Support เมื่อลง .NET2005 พร้อมกับ Patch สำหรับ Vista ทำไมป๊อปถึงยังทดสอบบน .NET2005 โดยที่ยังไม่ลง Patch ละ&amp;quot; อึ้งอีกครั้ง...!!!!&lt;br /&gt;&lt;br /&gt;ผมก็บอกว่า &amp;quot;ก็เพื่อที่จะลองดูว่า Product ของเราใช้งานได้บน Vista หรือเปล่า......&amp;quot;&lt;br /&gt;&amp;quot;แล้วยังไง ถึงแม้ว่า Product ของเราจะทำงานได้บน VS.NET2003 เราจะกล้าไปยืนยันกับลูกค้าหรือเปล่าว่า Product ของเราทำงานได้ไม่มีปัญหา ทั้งๆที่ Microsoft เองก็ไม่ประกาศ Support VS.NET2003 บน Vista&amp;quot;&lt;br /&gt;.....ผมเงียบ&lt;br /&gt;&amp;quot;ในเมื่อ Microsoft ไม่ประกาศ Support VS.NET2003 บน Vista, เราก็ไม่สามารถบอกลูกค้าได้เหมือนกัน ว่าลูกค้าเราจะใช้ Product เราบน VS.NET2003 ได้แล้วจะไม่เกิดปัญหาอะไร เราคงไม่สามารถการันตีได้ว่าลูกค้าจะใช้งาน Product ของเราแล้วจะไม่เกิดปัญหา&amp;quot;&lt;br /&gt;.....อืมมมม....จริง! &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;นี่เป็นประเด็นที่ผมไม่ได้คิดถึงไป ผมสนใจแค่ว่า ถ้า Product ภายในตัวไหนที่ทำงานร่วมกับ Product ของเรา แล้วยังไม่ประกาศ Support บน Vista เราก็ยังไม่มีความจำเป็นต้องทดสอบ.... แต่ผมกลับคิดว่าถ้า VS.NET ไม่ Support บน Vista แล้วที่ Manager ต้องการให้เรา Test เราก็ไม่ต้อง Test งั้นเลยสิ! งั้นแล้วเราจะเอาผลที่ไหนไปยืนยันหละ ว่ามันทำงานบน Vista ได้หรือเปล่า!!!!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;แต่ในความเป็นจริง....&lt;br /&gt;การ Test ของผม กลับกลายเป็นการ Test ที่สิ้นเปลือง Effort โดยใช่เหตุ เพราะในเมื่อ Microsoft ไม่ประกาศ Support VS.NET2003 บน Vista, Product ของผมเองก็ไม่สามารถประกาศ Support ได้เช่นกัน นั่นหมายความว่า จริงๆแล้วเราไม่ต้อง Test!!!! เช่นเดียวกันกับ VS.NET2005 ที่ผมทำไปโดยไม่ลง Patch ก็เช่นเดียวกัน.....&lt;br /&gt;&lt;br /&gt;สรุป&lt;br /&gt;แม้ว่าเราที่เป็น Technician จะอยากรู้ว่าโปรแกรมของเราสามารถทำงานได้หรือไม่ แต่เท่านั้นยังไม่พอ ต้องดู Business ด้วย ว่า Product ที่เกี่ยวเนื่องกับเรา ประกาศ Support หรือไม่ ถ้าไม่ Manager ก็จะไม่ให้เราทดสอบ เพราะการที่เราทดสอบ ก็คือใช้เวลางานทดสอบ ก็เท่ากับว่า เราต้องใช้เวลางาน ซึ่งทางบริษัทจ่ายค่าแรงมาให้เราทดสอบ แต่การทดสอบกลับไม่สามารถให้ผลลัพธ์กับลูกค้าได้ พูดง่ายๆคือในทาง Business เหมือนจ่ายตังค์ค่าทดสอบให้เราฟรีนั่นเอง และคงไม่มีบริษัทที่ไหนที่จ้างเรามาทดสอบไปงั้นๆหรอก จริงมั๊ย!&lt;br /&gt;&lt;br /&gt;ฝากมาเป็นเกร็ดเล็กน้อย สำหรับคนที่จะเดินเข้าสาย QA ว่า QA กับ Business Logic เป็นของคู่กัน นอกเหนือจาก Technical ที่ต้องชำนาญอยู่แล้ว. อย่างเช่น การทำงานของโปรแกรม แม้จะถูกต้อง แต่ไม่ตรงตาม Requirement ลูกค้า หรือ Developer เขียน Function มาไม่รู้เรื่อง ไม่เหมาะกับลูกค้า, ข้อความในเอกสารสำหรับ Release ทุกส่วน, QA จะต้องกลั่นกรองอย่างดี เหมือนดังประโยคที่ว่า Developer มักพัฒนา Function ออกมาอลังการ พยายามใช้ Technology สมัยใหม่สุดๆ แต่ลูกค้ากลับต้องการอะไรที่ง่ายๆ สามารถใช้กับระบบคอมพิวเตอร์เดิมที่มีอยู่ได้ เพราะลูกค้าก็คงไม่สั่งเครื่องใหม่ตลอดเวลา เพราะนั่นหมายถึงค่าใช้จ่ายของลูกค้าที่จะต้องเสียไปด้วย นี่ก็เป็นสิ่งที่ QA ต้องมาชั่งน้ำหนักกับโปรแกรมว่าเหมาะสมหรือไม่อย่างไร.&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Thu, 12 Apr 2007 22:45:15 +0700</pubDate>
    <guid isPermaLink="false">http://diary.jomyut.net/archives/852-guid.html</guid>
    
</item>
<item>
    <title>Email - To Cc Bcc</title>
    <link>http://diary.jomyut.net/archives/844-Email-To-Cc-Bcc.html</link>
            <category>Computer Science</category>
    
    <comments>http://diary.jomyut.net/archives/844-Email-To-Cc-Bcc.html#comments</comments>
    <wfw:comment>http://diary.jomyut.net/wfwcomment.php?cid=844</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://diary.jomyut.net/rss.php?version=2.0&amp;type=comments&amp;cid=844</wfw:commentRss>
    

    <author>nospam@example.com (JOMYUT.NET)</author>
    <content:encoded>
    &lt;p&gt;เคยสงสัยมั๊ยว่า ทำไมอีเมล์ที่ส่งกันจึงมีช่อง Attribute หลายแบบ เช่น To, Cc, Bcc, From สมัยที่เรียนผมไม่เข้าใจหรอกนะ ผมเคยสงสัยว่าทำไมถึงจะต้องมี Cc ในเมื่อมันก็สามารถใช้ To แทนได้ ในขณะที่ Bcc พอจะเข้าใจว่าเป็นการส่งเพื่อที่ไม่ให้คนอื่นเห็นตัวตน&lt;/p&gt;&lt;p&gt;จนกระทั้งมาเข้าทำงาน ถึงได้เข้าใจว่า To, Cc ยังคงมีประโยชน์อยู่ ในการสื่อสารกันระดับองค์กร เนื่องจากบริษัทที่ผมอยู่ ใช้อีเมล์เป็นเครื่องมือสื่อสารหลัก ดังนั้น เวลาที่เราจะส่งอีเมล์ให้เค้าติดตามเรื่องให้เรา เช่นติดต่อกันระหว่างทีม เราจะระบุชื่อทีมที่เราต้องการติดต่อด้วยในช่อง To ในขณะเดียวกัน เราก็ต้องการให้ทีมของเรารับทราบเรื่องราวในอีเมล์ฉบับที่เราเขียนไปด้วย เราจึงระบุลงช่อง Cc นั่นเอง&lt;/p&gt;&lt;p&gt;การระบุเช่นนี้มีการใช้งานอย่างหลากหลายในระดับองค์กร เช่นผมต้องการติดต่อทีมติดตั้งเครื่องให้เข้ามาติดตั้งเครื่องให้เราในวันที่ 1 เมษายน ในขณะเดียวกัน ต้องการให้ทีมผมทราบถึงกำหนดการดังกล่าว... อีเมล์ที่ผมส่งจะมีลักษณะประมาณนี้&lt;/p&gt;&lt;p&gt;======================&lt;/p&gt;&lt;p&gt;To: Group_Technical_Support&lt;br /&gt;From: Warun Kietduriyakul &lt;br /&gt;Cc: Group_Developer&lt;br /&gt;Subject: Schedule for maintenance system&lt;br /&gt;&lt;br /&gt;Dear,&lt;br /&gt;&lt;br /&gt;   Please help us to fix the system that got failure after we have performance testing, this is will be good if you come to our team and fix on 1 April 2007.&lt;br /&gt;&lt;br /&gt;Regards,&lt;/p&gt;&lt;p&gt;======================&lt;/p&gt;&lt;p&gt;ตัวอย่างอีเมล์ลักษณะนี้เป็นอีเมล์ที่ผมรับและส่งที่บริษัททุกๆวัน เมื่อเวลาทางทีม Support ติดต่อกลับ ก็จะใช้ Reply All เพื่อให้ผมทราบเรื่อง (ผมเป็นผู้ดำเนินการของทีม) แต่ว่าให้คนอื่นในทีมผมทราบเรื่องที่ผมติดต่อด้วยเช่นกัน&lt;/p&gt;&lt;p&gt;ตอนนี้ผมเลยหมดข้อสงสัยเกี่ยวกับ Email ไปหนึ่งอย่าง&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://diary.jomyut.net/archives/844-Email-To-Cc-Bcc.html#extended&quot;&gt;Continue reading &quot;Email - To Cc Bcc&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 08 Apr 2007 16:25:09 +0700</pubDate>
    <guid isPermaLink="false">http://diary.jomyut.net/archives/844-guid.html</guid>
    
</item>

</channel>
</rss>