29 April 2011

The Modulo 11 Checksum Algorithm

     วันนี้เปลี่ยวใจ อยากไปกินตับๆ แต่เอาไว้ก่อน นะครับ ขยันหมั่นเพียร เรียนก่อน หาอะไร ต่อมิอะไรใส่หัวก่อน เตรียมตัว เป็น IT Experience. ก่อน 5555++ (หัวเราะอย่างคนมีความรู้น้อย!!)

     เหตุที่เขียน บทความนี้ ไม่มีไร ว่างจัด!! อีกแหละ ตามประสาเด็กวัยเกรียน !! นะ..... ไม่ต้องคิดไรมาก มีเวลาก็เขียน อารายๆๆ เรื่อยๆ เปื่อยๆ ไปวันๆๆ ครับ

      ความรู้ในเรื่องนี้ ผมเคยนำไปเขียนด้วยภาษา C มาแล้ว ตอนปี 1 เลยอยากทบทวบความจำซะหน่อยเรื่องที่ว่าคือ Modulo 11 หรือเรียกสั้นๆว่า Mod11 นั้นเอง ..... (คนไอที น่าจะรู้นะครับว่า mod คืออะไร มันก็คือการหารเอาเศษเหลือนั้นเอง ครับ!! ^^)   มาดูภาษาปะกิตก่อน นะ (คลิกรูปครับ!!)


21 April 2011

How to connect Router or Switch by puTTY on windows

     ว่างจัด!!! (หรอ ^^!) เลยขอเวลาสักพักนั่งเขียนบทความ เกี่ยวกับเรื่องใช้ puTTy ในการเชื่อมต่อกับ Router หรือ Switch เพื่อ Config. ซึ่งมันง่ายดายมาก.....!

กรณีนี้ผม ใช้ Usb-to-Serial นะครับ หาง่ายดี....อิอิ!

หมายเหตุ : ไม่ควรใช้ตัวที่เสียแล้วนะครับ มันจะเชื่อมต่อยังไงก็ไม่ได้ (ผมเสียเวลาไป ครึ่งคืน กับเรื่อง...บ้าๆ แบบนี้ T__T )

สิ่งสำคัญ คือ ต้อง หา Driver Usb-to-Serial มาลงไว้ก่อนนะครับ ถ้าซื้อมาก็จะมีแผ่นเล็กๆ มาให้ !!
ผมไม่ขอกล่าวในที่นี้นะ.....^^

Step 1 : เมื่อลง Driver เสร็จแล้ว  ก็ไปตั้งค่าตามนี้ครับ




                                                                
Step 2 :  ทำการตั้งค่า puTTY ดังนี้




                  เมื่อตั้งค่าเสร็จแล้ว ให้ทำการ กดปุ่ม Open ได้เลยครับ !!! อิอิ


แค่ก็สามารถ เข้าไป Config Router Cisco ได้แหละครับ ง่ายเปล่า!!! 555+

ประสบการณ์คนที่เคยใช้ Hyper-Ternimal :=(  มันไม่ได้ Feeling อะ

20 April 2011

How to Java Decompiler (แกะงัดแงะ .class และ .jar กันเถอะ)

      หลายๆ คนอาจเคยเจอ โปรแกรมเจ๋งๆ แนวคิดดีๆๆ ในโปรแกรมบางโปรแกรมบ้าง ที่เขียนขึ้นโดย Java แต่กลับมาติดตรงที่ว่า .... บ้าแล้ว ทำไม เป็น .Classs  ว่ะ จะขอดูซะหน่อย !!

     ผมก็คิดเหมือนหลายๆ คนเนี้ยแหละ เลยลองถามพี่กรู(google) ดู อ้าว!! มีอย่างนี้ด้วยหรอ แกะไฟล์ .class และ .jar  ออกมาเป็น code เลย แล้ว Run ได้เลยไม่มี Error!! ด้วย ปาด!..... สวดยอดเลยลูกเพี้ย... :D

     โปรแกรมตัวนี้ ชื่อว่า JD-GUI เป็นที่สามารถดูได้ทั้ง .Class และ .jar ของ Java 
สำหรับนักพัฒนาโปรแกรมควรดูเพื่อเป็นแนวทางในการพัฒนานะครับ !! ระวังเรื่องลิขสิทธิ์ด้วย
Download : http://java.decompiler.free.fr/?q=jdgui





ถึงยังไง ก็ขอฝากไว้อย่างนะครับ การจะเป็นนักพัฒนาโปรแกรมที่ดีนั้นควรดูการพัฒนาโปรแกรมของผู้อื่นเพื่อเป็นแนวทางในการพัฒนาโปรแกรมของตน มากกว่าการที่จะลอกแต่อย่างเดียว!!!!

15 April 2011

How to install hybrid wireless driver Broadcom On Linux Ubuntu 10.04

             เหตุเกิดจาก notebook ผมเกิดดื้อ ดันมี wireless เป็นของ Broadcom ต้องมา
install เอง T___T ตอนลง Ubuntu 10.04 ใหม่ 555+ สนุกๆละที่เนี้ย ลำบากไปถามพี่กรู(google)
อีกแล้วครับ! โดยสรุปๆๆ ได้ดังนี้


ต้องโหลดเจ้าตัว install มา : http://www.broadcom.com/support/802.11/linux_sta.php

Step1 : ใช้คำสั่ง ตรวจสอบหา Device ID's สำหรับ Broadcom cards โดยคำสั่ง :

                                sudo lspci -n | grep 14e4

SUPPORTED DEVICES : ดูรุ่นที่รองรับ นะครับ

BRCM             PCI             PCI                                           Dell
Product           Name         Vendor ID         Device ID       Product ID
------------- ---------- --------- -----------
4311              2.4 Ghz       0x14e4               0x4311         Dell 1390
4311              Dualband     0x14e4              0x4312          Dell 1490
4311              5 Ghz          0x14e4              0x4313
4312              2.4 Ghz       0x14e4              0x4315          Dell 1395
4313              2.4 Ghz       0x14e4              0x4727          Dell 1501
4321              Dualband     0x14e4              0x4328           Dell 1505
4321              Dualband     0x14e4              0x4328           Dell 1500
4321              2.4 Ghz       0x14e4              0x4329
4321              5 Ghz          0x14e4              0x432a
4322              Dualband     0x14e4              0x432b           Dell 1510
4322              2.4 Ghz       0x14e4              0x432c
4322              5 Ghz          0x14e4             0x432d
43224            Dualband     0x14e4             0x4353      Dell 1520 (** รุ่นนี้ของผมเอง T__T!)
43225            2.4 Ghz        0x14e4             0x4357
43227            2.4 Ghz        0x14e4             0x4358
43228           Dualband       0x14e4            0x4359         Dell 1530


    สำหรับใครที่ลง Ubuntu อย่างของผม ผมก็จะติดตั้ง headers และ tools ก่อน (กันเหนียวไว้ก่อน)
    โดยใช้คำสั่ง :
                            sudo apt-get install build-essential linux-headers-generic


                            sudo apt-get build-dep linux

ลองตรวจสอบว่ามี directory bulid ว่ามีหรือเปล่า โดยใช้คำสั่ง :

                            ls /lib/modules/'uname -r'/build

                สำหรับ uname -r นั้น เป็นคำสั่งที่ใช้แสดงรุ่นของ kernel ที่ใช้อยู่ เช่น
                2.6.32-28-generic เป็นต้น

Step2 : เรามาเริ่มการ Build Instructions กันเลยดีกว่า :-)

            1. เตรียมพร้อม install driver กันก่อนนะ.....

                For 32 bit: hybrid-portsrc_x86-32_v5.100.82.38.tar.gz
                For 64 bit: hybrid-portsrc_x86-64_v5.100.82.38.tar.gz (ผมใช้ตัวนี้ครับ)

               หลังจาก Download มาแล้ว! ก็หา folder เก็บแล้ว แตกไฟล์ออกมานะครับ

                ผมขอ เก็บไว้ที่ /tmp แล้วกันนะครับ

            $sudo mkdir /tmp/hybrid_wl


            #cd /tmp/hybrid_wl


           #tar -zxvf <path ที่เก็บไว้นะ>/hybrid-portsrc_x86-64_v5.100.82.38.tar.gz (ตรงนี้ ผมลงUbuntu 64bitครับ)

          2. จากนั้น ทำการ Build Driver ในโมดูล Kernel Linux (LKM): โดยใช้คำสั่ง

                                  sudo make clean

                                  sudo make


                       เมื่อ Build เสร็จ ก็จะมีไฟล์ชื่อ wl.ko ใน directory ที่เราสร้างไว้

 (กรณีนี้ ผมเป็นการ Install ใหม่ ไม่ได้ Upgrading นะครับ )

               3. สำหรับขั้นตอนนี้ คือ เราจะต้อง Check ก่อนว่า มี Driver ตัวใดหรือเปล่าที่ทำการใช้งาน
                   Driver Broadcom 802.11 อยู่หรือไม่ เช่น b43 และ ssb เป็นต้น ถ้าไม่เช่นนั้นจะทำให้
                   มีปัญหา เอาง่ายๆๆ แล้วจะนั่งปวดหัวไปสักพักใหญ่.... เลย!!!

          อ้าว!! ต่อเลย ครับ ให้ทำการตรวจสอบ modules พวกนี้โดยใช้คำสั่ง :

                      sudo lsmod | grep "b43\|ssb\|wl"

          ถ้าเจอพวก เจ้าตัวปัญหาพวกนี้ install อยู่ ก็ remove มันซะ 555+

              # rmmod b43
              # rmmod ssb
              # rmmod wl (เผื่อมีก็ ลบไปก่อนนะ)


         จากนั้น กันเหนียว!! ไว้ด้วยการสั่งไม่ให้ Kernel Run พวก modules พวกนี้ขึ้นมา
       เมื่อตอนบูต นะครับ โดยไป เขียนไว้ที่ไฟล์ /etc/modprobe.d/blacklist.conf
       โดยใช้คำสั่ง :

             # echo "blacklist ssb" >> /etc/modprode.d/blacklist.conf
             # echo "blacklist b43">> /etc/modprode.d/blacklist.conf


       4. ให้ทำการ Insmod driver โดยเป็นการ install module wl driver ใช้คำสั่ง :

             #modprobe lib80211

             #insmod wl.ko
(ตรงนี้คุณต้องอยู่ที่ folder ที่คุณสร้างขึ้นครั้งแรกนะครับ!)

            หลังจากทำติดตั้งแล้ว จะมี wireless ขึ้นมาแสดงการเชื่อมต่อ ......เย้!! ถึงตรงนี้
            ยิ้มปากกว้างๆๆ ได้เลยครับ ^O^ ในที่สุดก็มี Wireless เล่นซะที

       5. ขั้นตอนนี้ คือจะเป็นการ set ให้ wireless ของเรา load ทุกครั้งเมื่อทำการบูตเข้าระบบมานะครับ

           โดยใช้คำสั่ง :

                 # cp wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
                 # depmod -a

                  # echo modeprobe wl >> /etc/rc.local (Fedora/SUSE)
แต่ Ubuntu ผมก็ใช้นะ 55+


     หลังจากนี้ ลองทำการ Reboot เครื่องขึ้นมา แล้ว Check ว่า Wireless เครื่องเราทำงานหรือเปล่า
แต่ผมมั่นใจว่าได้ ถ้าไม่ อะไรผิดพลาดนะครับ !!! (แต่ถ้าผิดพลาดแสดงว่าไม่ได้ งานเข้าไง!!!)

อ้างอิง จาก : เนื้อหา Readme.txt ของ Broadcom นะครับ แต่ผมทำแล้ว ได้ผลสำเร็จแล้ว !!!



มั่วๆไปประการใด ก็ขออภัย ไว้ด้วยแล้วกันนะคับ !!! (ผมคือ อนุบาลคอมพิวเตอร์)

11 April 2011

How to install minicom and enable USB-Serial Port adapter (RS-232) connect Console port in Linux Ubuntu

        เรื่องมีเกิดขึ้น เมื่ออยาก config router Cisco ครับ แต่ผมดันใช้ Windows 7 64bit  ^__^! กำ!! แหละดันหา driver 64bit ไอ้เจ้าตัว USB-to-Serial Port Adapter ไม่ได้นั้นซิ อือๆๆๆ ..... (ยากนั้นเอง)


แต่ผมยังมีตัวช่วยอีกตัว คือ Linux Ubuntu 10.04.2 64bit  เลยเกิด สมองสว่าง!! ปิ๊งๆๆๆ  ^0^
ใช้ Linux ในการ Config Router Cisco ดีกว่า เพราะว่าตอนเรียนเราก็เคยใช้ Linux mint นี้น่า....หวานเลยครับ.....

Step1: ให้ทำการ Enable USB-to-Serial Port ใน Ubuntu ก่อนนะครับ   เริ่มกันเลยดีกว่า ....--->>
           (อย่า!! พึ่งเสียบสาย USB นะครับ)


           >> เปิด Terminal ขึ้นมาครับผม  หรือกดปุ่ม Ctrl+Alt+T


               >> จากนั้น  ให้ พิมพ์ คำสั่ง  sudo  lsusb   แล้ว Enter  ให้สังเกตผลลัพทธ์  ตัวอย่างเช่น

                       Bus 001 Device 001: ID 0000:0000
                             Bus 002 Device 007: ID 03f0:4f11 Hewlett-Packard
                             Bus 002 Device 006: ID 05e3:1205 Genesys Logic, Inc. Afilias Optical Mouse H3003
                             Bus 002 Device 004: ID 15d9:0a33  Logitec-mouse ......


                       (จากนั้นให้ ทำการเสียบ USB เข้าเครื่องเรา แล้วใช้คำสั่ง sudo lsusb อีกครั้ง แล้วสังเกตการเปลี่ยนแปลง)

                   ตัวอย่างเช่น   

                        Bus 001 Device 001: ID 0000:0000
                              Bus 002 Device 007: ID 03f0:4f11 Hewlett-Packard
                              Bus 002 Device 003: ID 018a:3754 Unknow deive (เนี้ยแหละครับตัว USB ที่เสียบ)****                                             
                              Bus 002 Device 006: ID 05e3:1205 Genesys Logic, Inc. Afilias Optical Mouse H3003
                              Bus 002 Device 004: ID 15d9:0a33  Logitec-mouse ......


                  หมายเหตุ: ถ้าไม่มีการเปลี่ยนแปลงเมื่อใช้คำสั่งครั้งที่สองให้ทำการ Check ที่ Hardware USB-to-Serial นะครับ ว่าเสียหรอเปล่า....T___T!

              >>  ทำการ Enable UsbSerial โดยใช้คำสั่ง 
               
                             sudo modprobe usbserial vendor=0x018a product=0x3754   

              >> เมื่อใช้คำสั่ง Enable แล้วให้ทำการตรวจสอบว่า มี Serial Port device ใหม่ หรือเปล่า
                    
                    โดยใช้คำสั่ง  sudo  dmesg  |  grep ttyUSB   
                                        
                     เช่น   
                                usbserial_generic 1-1:1.0: generic converter detected
                                        usb 1-1: generic converter now attached to ttyUSB0 (ตรงเนี้ยแหละครับ)*****
                                        usbcore: registered new interface driver usbserial_generic



Step2:  เมื่อผ่านขั้นแรกมา ก็มีชัยไปกว่าครึ่งแล้วแหละ :D อิอิ  ขั้นตอนต่อไป ก็ติดตั้งโปรแกรม Minicom ซะที

                 >> ทำการ Install minicom on Ubuntu โดยใช้คำสั่ง 
                       
                                     sudo  apt-get install minicom
                 
                 >> เมื่อติดตั้งเสร็จ ก็ทำการ Set ค่าใน minicom ก่อนนะครับ โดยใช้คำสั่ง

                                     sudo minicom -s



                      >> ให้ทำการ set ค่า โดยอันดับแรกไปที่ serial port  setup โดยกำหนดค่าดังนี้
                           
                             
                                เมื่อเข้ามาใน mode กำหนดค่า serial port setup แล้วทำการตั้งค่าตามนี้

                        กด  A แล้วทำการแก้ เป็น /dev/ttyUSB0 (ค่านี้ดูจาก dmesg | grep ttyUSB)
                    
                        กด  E  แล้วทำการแก้ให้เป็น 9600 8N1

                       กด  F  แล้วค่าจะเปลี่ยนจาก Yes  เป็น  No
                    
                       เมื่อ set ค่าต่างๆ เสร็จ ให้ออกจาก mode serial port setup

             >> ให้ทำการ   Save setup as df1  เสร็จแล้วออกจาก การตั้งค่าโดย Exit from Minicom

Step3: เหนื่อยนิดๆๆ แล้วแหละ!! กว่าจะเสร็จ ^^!  555+  จากการตั้งค่าเสร็จเราสามารถ
            
                ที่จะใช้ minicom ในการเข้าไป Config  อุปกรณ์ต่างๆ ของ Cisco ได้แหละ.....เย้!!!

                คำสั่งเรียกโปรแกรม minicom โดย :    
              
                                                       sudo  minicom  
                               
ขอให้สนุกในการ ทำงานนะครับ สู้ๆๆๆ ^^  ไปนอนแหละ พรุ่งนี้ฝึกงานอึก นอนดึกเลยวันนี้ ..... :-)

3 April 2011

Search Engine ,SEO ทำอย่างไร คือ เป็นยังไง ????


         เรามาทำความรู้จักกับตัว Search Engine กันดีกว่านะครับ หลังจากที่เรา หาผลประโยชน์โดยใช้ในการลอกการบ้านกันมานานพอสมควร Search Engine คือ การส่งโปรแกรมไปเยี่ยมชมแล้วเก็บข้อมูลต่างๆ ของเว็บไซต์นั้น โดยที่จะเรียกว่า Spider (อีกชื่อคือ Web Crawler) ซึ่งมันคือ Robot ชนิดหนึ่งนั้นเอง 55+

  โดยเจ้าตัว สไปเดอร์เนี้ยจะถูกส่งไปตามเว็บไซต์ต่างๆ ตามลิงค์ของเว็บไซต์นั้นๆ โดยถึงเวลาหนึ่งๆ จะทำการประมวลผลเพื่อจะจัดลำดับในการแสดงผลโดยวิธีการ ของ google ,ฯลฯ  ซึ่งทาง Google  จะมีการจัดอันดับความเกี่ยวข้องของเว็บเพจแต่ละหน้าของ Google เรียกว่า "PageRank" ซึ่งค่าเจ้าตัว PageRank  ค่าจะสูงก็ต่อเมื่อ เว็บเพจอื่นๆ มี Link ถึงมันจำนวนมาก

*** ดังนั้นเว็บเพจไหนก็ตามที่ถูกอ้างอิงถึงมากที่สุดก็จะถูกจัดอันดับในการแสดงผลลำดับต้นๆ :D

คนไทยส่วนใหญ่(90.9%) มักขี้เกียจจำชื่อเว็บไซต์ (ตัวผมเองก็เป็น...555+) ก็จะใช้ Search Engine ในการหาข้อมูล หาการบ้าน หากิ๊ก หาอะไรๆๆๆ ก็ตามแต่....ผมเห็นบางคนใช้ Search Engine ในการระบายอารมณ์ (ด่า google ^^) ก็ยังมีผม อืม...... -_-!   ดังนั้น เว็บไซต์ไทยส่วนใหญ่ก็เลย ต้องมานั่งทำ SEO ให้กับเว็บไซต์ตัวเอง เพื่อที่จะได้ ทำให้เว็บไต์ตัวเองติดหน้าแรกของ google ให้ได้ รู้ไหมเพราะไร???? เพราะคนไทยขี้้เกียจไง 555+ เปิดได้ไม่เกินหน้า3 ของ google หรอก เชื่อดิ...!!



แล้ว SEO (Search Enging Optimization) คือ???? นั้นนะซิ.....^^

ง่ายๆ เลย SEO คือ การปรับแต่งเว็บไซต์ หรือ blog,board ของเราให้เอาใจหรือตามใจ Search Engine เพื่อให้ติดอันดับต้นๆๆ โดยวิธีการก็มีหลากหลายวิธี ตัวอย่างเช่น
1. ควรใส่ Key word ที่บริเวณ Titlebar ของเว็บไต์เพื่อบอกให้เจ้า Search Engine รู้ว่าเว็บไซต์ของเรามีข้อมูลเกี่ยวกับอะไร (ผมเห็นบางเว็บไซต์ มั่วใส่ก็มี เพื่อเป็นการหลอกลวงให้เข้าไป)
2. หลีกเลี่ยงการออกแบบเว็บไซต์ด้วย Flash หรือรูปภาพเยอะเกินไปเพราะว่า Search Engine จะเน้นอ่านจาก Code ของหน้าเว็บไซต์ เพราะมันจะไม่รู้จักเว็บไซต์เราเลย (มันดูรูปไม่ออกเหมือนเรานะครับ มันตาบอด!!!)
3. หลีกเลี่ยงการออกแบบเว็บไซต์ที่เป็นแบบเฟรม (Frames) เพราะการออกแบบเว็บไซต์ด้วยเฟรมจะทำให้ Search Engine ไม่สามารถทราบข้อมูลในหน้านั้นได้เลย เพราะเนื้อหาจะถูกแบ่งเป็นส่วนๆ
   (การใช้ Frame = การแบ่งเว็บไซต์เป็นหลายๆ หน้ามาแสดงในหน้าเดียวกันนะครับพี่น้อง)
4. ควรตั้งชื่อไฟร์รูปภาพหรือคำอธิบายของภาพให้เกี่ยวข้องกับ keyword อย่างที่บอกไปแล้วในข้อ 2 นะครับ ถ้าเราจำเป็นต้องใส่ภาพเยอะก็ควรตั้งชื่อไฟล์ , คำอธิบาย หรือแท็กของภาพให้เกี่ยวข้องกับ Key word เพื่อให้ Search Engine ได้ทราบว่าภาพนั้นเกี่ยวเรื่องอะไร
5. ขนาดของไฟล์ของหน้าเว็บไซต์ก็มีความสำคัญนะ ไม่ควรเกิน 32k ถ้าหากไฟร์ใหญ่เกินไป Search Engine จะไม่สามารถเก็บข้อมูลในหน้าเว็บไซต์นั้นได้
6. แลกลิ้งกับเว็บไซต์อื่นๆ อย่างที่บอกไปแล้วหากยิ่งมีลิงค์มาหาเราเยอะๆ มากเท่าไหร่คะแนนค่าของ PageRank ก็ยิ่งเพิ่มขึ้นมากขึ้น ซึ่งเครื่องมือที่ใช้สำหรับการดูค่าของ PagePank สามารถ Download ได้จาก Page Rank Checker
Page Rank Checker


        สุดท้ายจริงๆ แล้วมีวิธีอีกมากมาย แต่อีกวิธีในการทำ SEO ก็ปัจจุบันนี้มีบริษัทหลายแห่งให้บริการทำ SEO ให้กับเว็บไซต์ต่าๆ รวมทั้งมีโปรแกรม CMS (Content Management System) เช่น Joomla ,mambo , Drupal , wordPress ฯลฯ เป็นต้น ก็ยังมี  Plugin มากมายที่เกี่ยวข้องกับการทำ SEO ..... สบายๆๆ ^^