Thursday, November 30, 2006

NoSuchPortException Java

Ref
public class NoSuchPortExceptionextends java.lang.Exception

Thrown when a driver can't find the specified port.

Problem file is javax.comm.properties

# Implementation specific driver
driver=com.sun.comm.LinuxDriver

# Paths to server-side serial port devices
serpath0 = /dev/ttyS0
serpath1 = /dev/ttyS1

# Paths to server-side parallel port devices
parpath0 = /dev/parport0
parpath1 = /dev/parport1


SSH Client connect to SSH Server

การเรียกใช้ ssh client บนลินุกซ์

user@localhost ~]# ssh -l root host

-l ชื่อที่ใช้ในการ login
host ชื่อ หรือ ไอพีของเครื่องที่เราต้องการ remote

* ถ้าเราไม่ใส่ -l root ก็ได้ โดยจะใส่เป็น ssh host แต่ชื่อที่จะใช้ล็อคอินคือ ชื่อผู้ใช้ในขณะนั้นของเครื่อง client

โปรแกรม Remote หน้าจอบนลินุกซ์

ถ้าจะพูดถึงโปรแกรมควบคุมหน้าจอเดสทอปบนระบบวินโดวส์ก็จะมี Remote Desktop connection แต่คัยจะรู้มั้ยว่าลินุกซ์ก็มีความสามารถประเภทนี้เช่นเดียวกัน

RealVNC เป็นโปรแกรมที่ใช้ได้ทั้งระบบปฏิบัติการวินโดวส์และลินุกซ์

- ก่อนอื่นเราต้องไปตั้งให้ ลินุกซ์เปิด service ของ vncserver เสียก่อนจากนั้นให้ทำการตั้ง รหัสสำหรับควบคุมหน้าจอของลินุกซ์ หรือ ไม่ก็ได้แล้วแต่เรา
- จากนั้นเครื่องที่เป็นวินโดวส์ก็ต้องลง RealVNC ด้วยครับ เราไม่สามารถใช้ RemoteDesktop ที่มากับวินโดวส์ได้ครับ จากนั้นก็ไปเรียกโปรแกรม RunVNC Viewer ใส่ไอพีของลินุกซ์เข้าไปมันก็จะถามหารหัสผ่านที่เราได้ตั้งไว้บนลินุกซ์ครับถ้ารหัสถูกก็เป็นอันเสร็จเรียบร้อยครับ

Wednesday, November 29, 2006

กูเกิลส่งบริการสืบค้นซอร์สโค้ด

ที่มา : arip.co.th

Tom Stocky ผู้จัดการฝ่ายผลิตภัณฑ์ของกูเกิล กล่าวว่าบริการกูเกิลโค้ดเสิร์ช (Google Code Search) ถูกสร้างขึ้นเพื่อช่วยให้โปรแกรมเมอร์สามารถเลือกเฟ้นซอร์สโค้ดโปรแกรมคอมพิวเตอร์ที่มีหลายพันล้านบรรทัดไปใช้งานได้ง่ายขึ้น เพียงป้อนคีย์เวิร์ดที่ต้องการลงในกล่องเสิร์ชก็จะพบซอร์สโค้ดที่สามารถนำไปพัฒนาต่อยอดได้บริการสืบค้นซอร์สโค้ดของกูเกิลเกิดจากการนำเอาเทคนิคที่ใช้ในการสืบค้นข้อมูลที่กูเกิลมีอยู่แล้วมาต่อยอด ผลการสืบค้นจะไม่ใช่ซอร์สโค้ดอย่างเดียว แต่โปรแกรมเมอร์จะสามารถสืบค้นเว็บไซต์ ภาพ ข้อความ วีดีโอ หรือหนังสือที่อาจเป็นประโยชน์ต่อการสร้างสรรค์ผลงานได้สำหรับผู้ที่ต้องการค้นหาซอร์สโค้ดแบบเฉพาะทาง ก็สามารถระบุภาษาที่ใช้เขียนโปรแกรม หรือระบุคุณสมบัติของซอร์สโค้ดที่ต้องการได้ ไม่มีข้อมูลซอร์สโค้ดที่เป็นความลับแต่ผู้ใช้สามารถเลือกสืบค้นเฉพาะซอร์สโค้ดที่ต้องชำระค่าลิขสิทธิ์ได้ด้วย ซึ่งจะป้องกันไม่ให้เกิดปัญหาฟ้องร้องเรื่องลิขสิทธิ์ในอนาคตได้เพราะจะต้องได้รับความยินยอมจากเจ้าของซอร์สโค้ดนั้นๆก่อนบริการสืบค้นซอร์สโค้ดของกูเกิลเปิดให้บริการที่ http://google.com/codesearch วิธีการสืบค้นเป็นแบบเดียวกับการสิบค้นด้วยกูเกิลตามปกติ

Tuesday, November 28, 2006

Port mode for thermometer

Bios
- Integrated Peripherals
- Super IO Device
- Onboard Parallel Port -> 378/IRQ7
- Parallel Port Mode -> ECP + EPP

In system
- right click in My Computer
- Manage
- Device manager
- Ports (Com&LPT)
- ECP Printer Port -> Properties -> Port Setting -> Try not... or Never use

and check plug between line with board

SNMPWalk

Community string invalid or Host down or Interface of that host is disable or Host invalid

Time out: No Response from [host]

Sunday, November 26, 2006

200 Linux Commands for Newbbies

ที่มา : http://truehacker.blogspot.com/2006/11/200-linux-commands-for-newbbies.html

About 200 Linux commands for serious newbies. To get more examples on how each command is used, use this command:

#>man commandname

Where commandname is an command you pick from the table below. If no manual exist, then that command is most likely unavailable for your Linux distro. Ignore it and proceed with other commands.


aliasCreate an alias
awkFind and Replace text, database sort/validate/index
breakExit from a loop
builtinRun a shell builtin
calDisplay a calendar
caseConditionally perform a command
catDisplay the contents of a file
cdChange Directory
cfdiskPartition table manipulator for Linux
chgrpChange group ownership
chmodChange access permissions
chownChange file owner and group
chrootRun a command with a different root directory
cksumPrint CRC checksum and byte counts
clearClear terminal screen
cmpCompare two files
commCompare two sorted files line by line
commandRun a command - ignoring shell functions
continueResume the next iteration of a loop
cpCopy one or more files to another location
cronDaemon to execute scheduled commands
crontabSchedule a command to run at a later time
csplitSplit a file into context-determined pieces
cutDivide a file into several parts
dateDisplay or change the date & time
dcDesk Calculator
ddData Dump - Convert and copy a file
declareDeclare variables and give them attributes
dfDisplay free disk space
diffDisplay the differences between two files
diff3Show differences among three files
dirBriefly list directory contents
dircolorsColour setup for `ls'
dirnameConvert a full pathname to just a path
dirsDisplay list of remembered directories
duEstimate file space usage


echoDisplay message on screen
edA line-oriented text editor (edlin)
egrepSearch file(s) for lines that match an extended expression
ejectEject CD-ROM
enableEnable and disable builtin shell commands
envDisplay, set, or remove environment variables
evalEvaluate several commands/arguments
execExecute a command
exitExit the shell
expandConvert tabs to spaces
exportSet an environment variable
exprEvaluate expressions
factorPrint prime factors
fdformatLow-level format a floppy disk
fdiskPartition table manipulator for Linux
fgrepSearch file(s) for lines that match a fixed string
findSearch for files that meet a desired criteria
fmtReformat paragraph text
foldWrap text to fit a specified width.
forExpand words, and execute commands
formatFormat disks or tapes
freeDisplay memory usage
fsckFile system consistency check and repair
functionDefine Function Macros
gawkFind and Replace text within file(s)
getoptsParse positional parameters
grepSearch file(s) for lines that match a given pattern
groupsPrint group names a user is in
gzipCompress or decompress named file(s)
hashRemember the full pathname of a name argument
headOutput the first part of file(s)
historyCommand History
hostnamePrint or set system name
idPrint user and group id's
ifConditionally perform a command
importCapture an X server screen and save the image to file
infoHelp info
installCopy files and set attributes
joinJoin lines on a common field
killStop a process from running
lessDisplay output one screen at a time
letPerform arithmetic on shell variables
lnMake links between files
localCreate variables
locateFind files
lognamePrint current login name
logoutExit a login shell
lookDisplay lines beginning with a given string
lpcLine printer control program
lprOff line print
lprintPrint a file
lprintdAbort a print job
lprintqList the print queue
lprmRemove jobs from the print queue
lsList information about file(s)
m4Macro processor
manHelp manual
mkdirCreate new folder(s)
mkfifoMake FIFOs (named pipes)
mknodMake block or character special files
moreDisplay output one screen at a time
mountMount a file system
mtoolsManipulate MS-DOS files
mvMove or rename files or directories
niceSet the priority of a command or job
nlNumber lines and write files
nohupRun a command immune to hangups
passwdModify a user password
pasteMerge lines of files
pathchkCheck file name portability
pingTest a network connection
popdRestore the previous value of the current directory
prPrepare files for printing
printcapPrinter capability database
printenvPrint environment variables
printfFormat and print data
psProcess status
pushdSave and then change the current directory
pwdPrint Working Directory
quotaDisplay disk usage and limits
quotacheck Scan a file system for disk usage
quotactlSet disk quotas
ramram disk device
rcpCopy files between two machines.
readread a line from standard input
readonlyMark variables/functions as readonly
remsyncSynchronize remote files via email
returnExit a shell function
rmRemove files
rmdirRemove folder(s)
rpmRemote Package Manager
rsyncRemote file copy (Synchronize file trees)
screenTerminal window manager
sdiffMerge two files interactively
sedStream Editor
selectAccept keyboard input
seqPrint numeric sequences
setManipulate shell variables and functions
shiftShift positional parameters
shoptShell Options
shutdownShutdown or restart linux
sleepDelay for a specified time
sortSort text files
sourceRun commands from a file `.'
splitSplit a file into fixed-size pieces
suSubstitute user identity
sumPrint a checksum for a file
symlinkMake a new name for a file
syncSynchronize data on disk with memory
tacConcatenate and write files in reverse
tailOutput the last part of files
tarTape ARchiver
teeRedirect output to multiple files
testEvaluate a conditional expression
timeMeasure Program running time
timesUser and system times
touchChange file timestamps
topList processes running on the system
traceroute Trace Route to Host
trapRun a command when a signal is set(bourne)
trTranslate, squeeze, and/or delete characters
tsortTopological sort
ttyPrint filename of terminal on stdin
typeDescribe a command
ulimitLimit user resources
umaskUsers file creation mask
umountUnmount a device
unaliasRemove an alias
unamePrint system information
unexpandConvert spaces to tabs
uniqUniquify files
unitsConvert units from one scale to another
unsetRemove variable or function names
unsharUnpack shell archive scripts
untilExecute commands (until error)
useraddCreate new user account
usermodModify user account
usersList users currently logged in
uuencodeEncode a binary file
uudecodeDecode a file created by uuencode
vVerbosely list directory contents (`ls -l -b')
vdirVerbosely list directory contents (`ls -l -b')
viText Editor
watchExecute/display a program periodically
wcPrint byte, word, and line counts
whereisReport all known instances of a command
whichLocate a program file in the user's path.
whileExecute commands
whoPrint all usernames currently logged in
whoamiPrint the current user id and name (`id -un')
xargsExecute utility, passing constructed argument list(s)
yesPrint a string until interrupted
.periodRun commands from a file
###Comment / Remark

MySQL GUI Tools

ที่มา : dev.mysql.com

อืมใช้ EMS ไม่ค่อยเปง ใช้ phpMyAdmin ก็ไม่ค่อยเปงก็เลยลองหาโปรแกรมใหม่ๆ พอดีไปอ่านเจอในหนังสือ ก็เลยลองค้นหาดูไปเจอ ว่าจะไปดาวน์โหลดมาใช้ดูครับมันมีหลายแพลตฟอร์มมั้ยหว่าอันนี้ก็ไม่แน่ใจนะ แล้วก็ยังเป็นแอฟพลิเคชั่นธรรมดาด้วย ไม่้ต้องไปลงอาไรเพิ่มมาครับ ที่กล่าวมาทั้งหมดเนี๋ย ก็หมายถึงโปรแกรมจัดการ MySQL Server อ่ะครับมันชื่อว่า

MySQL Query Browser

Saturday, November 25, 2006

View PHP version



print phpinfo();

หรือ

echo phpinfo();


Ubuntu login with root

ที่มา : thaiopensource.org กระทู้ จะเข้าระบบในฐานะ root อย่างไรครับ

ปกติใช้คำสั่ง sudo ในเทอร์มินัลก็พอนะคับ
แต่ถ้าต้องการ log in เข้ามาในฐานะ root เลยก็มีวิธี
ตามที่ผมเคยลองทำดู
1. ต้องเข้าไปที่ terminal ตั้งรหัสผ่านให้กับรูทก่อน โดย คลิก (ผมใช้เมนูไทย) เมนูโปรแกรม -อำนวยความสะดวก - เทอร์มินัล
2. พอเข้าหน้าโปรแกรมเทอร์มินัล พิมพ์ว่า sudo passwd root
3. บรรทัดต่อมาโปรแกรมจะให้เราพิมพ์รหัส เราก็พิมพ์ไปคับ (แต่มันจะไม่แสดงอะไรเลย) ซึ่งในการตั้งรหัสอันนี้ก็แล้วแต่ว่าจะตั้งอะไร แต่ให้ระวังด้วยว่ากำลังพิมพ์ไทยหรืออังกฤษอยู่
4. อีกบรรทัดหนึ่งให้ยืนยันรหัสโดยการพิมพ์ให้เหมือนกับของเดิมเมื่อครู่นี้
เสร็จแล้วก็ปิดเทอร์มินัลนี้ไปนะคับ จากนั้นไปกำหนดค่าสำหรับการยอมให้ root สามารถลอคอินเข้าในระบบได้ โดย
1. คลิกเมนูระบบ - การตั้งค่าหน้าจอเข้าระบบ (พอคลิกถึงตรงนี้ระบบอาจมีหน้าต่างเล็ก ๆ ขึ้นมาให้เราใส่พาสเวิร์ดของเราในปัจจุบันน่ะคับ)
2. จะมีหน้าต่างแสดงการตั้งค่าหน้าจอเข้าระบบให้ เราก็ไปเลือกคลิกที่tab "ระบบความปลอดภัย"
3. เอาเมาส์ไปคลิกให้มีเครื่องหมาย / ที่หน้าบรรทัดที่มีข้อความ "อนุญาตให้ root เข้าระบบด้วย GDM" คลิกเสร็จแล้วก็ปิดหน้าต่างนี้ออกไปครับ
จากนั้น ปิดโปรแกรมทุกอย่างที่ใช้งาน แล้วลองรีสตาร์ทเครื่องเพื่อเข้าลินุกซ์ใหม่นะคับ พอถึงหน้าจอให้ใส่ username เราก็ใส่ root พอถึงpasssword เราก็ใส่ที่เราตั้งไว้ให้เหมือนกันที่กำหนดในตอนแรก
เสร็จแล้วเรียบร้อยครับ (ถ้าต่อไปไม่ต้องการให้ root สามารถเข้าระบบในวิธีนี้ได้อีก ก็ไปเอาเครื่องหมาย / ออกไปจากรายการอนุญาตให้ root เข้าระบบด้วย GDM นะคับ)
ลองทำดูนะคับ

Ubuntu advance user

# yelp

Helper in ubuntu 6.10

Sampler : in search box if u input apache in result is

Working with your desktop
...other computers access yours (for example, the apache web server), it is advisable to install a fire...
Server administration and maintenance

alternatively, to install a lamp server (linux, apache, mysql, php/perl/python), select
User's Guide to the Evolution Groupware Suite and Email Client
the apache spamassassin project

When u click Server administration and maintenance
u will see in side box u click Networking
u will see about configuration so web server , php , dns server n,at server etc.

Example commad:

# sudo apt-get install apache2
// it will install apache and library to use with apache , server it start itself

เซิร์ฟวิสของเว็บเซิร์ฟเวอร์ครับ
# sudo /etc/init.d/apache2 restart

// or for sure u can this command to start service apache again

เซิร์ฟวิสของ Openssh server ครับ
# sudo /etc/init.d/ssh restart

เซิร์ฟวิสของ MySQL Server
# sudo /etc/init.d/mysql stop

OR

# update-rc.d sshd defaults

หรือติดตั้ง rcconf แล้วกาเอา เหมือน setup ของ RedHat

OR

ลองรัน services-admin ไม่รู้ได้ป่าว

Wednesday, November 22, 2006

ดู Exception Java

อันนี้เอาไว้ดู Exception เมื่อเกิดรันไทม์ error ครับ
catch (Exception e) { e.printStackTrace();}

Monday, November 20, 2006

phpMyAdmin on Linux

อ้างอิงจาก phpMyAdmin Database Manager Version 2.9.0.2

ตอนที่เราลง mysql ตอนแรก มันจะยังมะมี พาสเวิร์ดครับทำให้เราลง phpMyAdmin โดยการแตกไฟล์ไว้ที่เว็บเซิร์ฟเวอร์ได้เลย แต่ถ้าเราตั้งพาสเวิร์ดเมื่อเราแตกไฟล์ไว้ที่เว็บเซิร์ฟเวอร์แล้วมันก็ยังไม่ให้เราเข้าใ้ช้ phpMyAdmin เหมือนเดิมครับพอดีนนั่งมั่วอยู่ตั้งนานอ่าน Readme เข้าก็บอกให้เข้าไปแก้ config.inc.php แต่ก็หาไม่เจอครับก็เลยไปแก้ที่ไฟล์ config.default.php ชื่อมันใกล้เคียงกันดีก็เลยแก้มันซะ ไม่น่าเชื่อมันได้ผลยังไงก็ม่า่ยรู้ ^^' มั่วจริงๆ เรา

/var/www/html/phpMyAdmin/libraries

config.default.php

$cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user
$cfg['Servers'][$i]['password'] = 'dbpassword'; // MySQL password (only needed

ปกติเราต้องแก้

ในไฟล์ config.inc.php
ผมใช้
host: localhost
user : root
pass: ใส่กับไม่ใส่เหมือนกันครับ

Hacked by Godzilla (virus)

ที่มา : บ้านทอมดี้.com

- เมื่อคุณเข้าไปใน MyComputer คุณจะไม่สามารถ double click ไดรว์ต่างได้เลยซักกะไดรว์ แต่คุณสามารถ คลิกขวา แล้วเข้า explore แทนได้
- เมื่อคุณเปิด IE ให้คุณดูที่ title มันจะมีข้อความ “Hacked By Godzilla”

ถ้าคุณมีอาการดังนี้ก็ขอแสดงความยินดีด้วยครับ คุณติดมันเข้าแล้ว ^^

วิธีแก้ไข
- คุณคิดว่าคุณ format แล้วลง window ใหม่ หรือ ว่าคุณใช้ ghost คุณคิดว่ามันจะหายมั้ยต้องลอง
- หรือจะ ลองลบทุกไดรว์แล้วสร้างพาร์ทิชั่นใหม่ แล้วค่อยลง window มันก็น่าจะหายนะ
- ทั้งสองข้อแรกคงเสียเวลาน่าดู
- หรือเราจะลองใช้ System Restore ดูก็น่าจะหายครับ เพื่อนบอกมา
- หรือ ถ้าลองทุกวิธีแล้วไม่หายก็ทำดังนี้ครับ

1.Double Click ไอคอน My Computer ที่ Desktop เลือกเมนู Tools --> Folder Options

2.ปรากฏไดอะล็อก Folder Options คลิกแท็บ View
  • คลิกเลือก Show Hidden files and folders
  • เอาเครื่องหมาย / ในช่องสี่เหลี่ยมหน้า Hide extention… และ Hide protected operating system file ออก
  • คลิก OK
3.กดปุ่ม Ctrl+Alt+Delete ที่คีย์บอร์ด

4.ปรากฏไดอะล็อกบ็อก Windows Task Manager คลิกเลือกแท็บ Processes
  • คลิกเลือกเมนู Image Name (เพื่อ sort File)
  • คลิกเลือกไฟล์ wscript.exe ( ทีละตัว )
  • คลิกปุ่ม End Process
5.เปิดไดร์ฟ ( โดยคลิกเม้าส์ขวาเลือก Explore ห้าม Double Click ไดร์ฟ ) ทำการลบไฟล์ autorun.inf และ MS32DLL.dll.vbs ออก (โดยกด Shift+Delete ) ทุกไดร์ฟที่มีอยู่ในเครื่องคอมพิวเตอร์ซึ่งรวมทั้ง Handy Drive และ Floppy disk ด้วย

6.เปิดโฟลเดอร์ C:\WINDOWS เพื่อลบไฟล์ MS32DLL.dll.vbs ออก (โดยกด Shift+Delete )

7.ไปที่ปุ่ม Start-->Run ปรากฏไดอะล็อกบ็อก Run พิมพ์คำสั่ง regedit กดปุ่ม OK ปรากฏไดอะล็อกบ็อก Registry Edit

8.คลิกเลือก HKEY_LOCAL_MACHINE --> Software --> Current Version --> Run เพื่อลบไฟล์ MS32DLL (โดยการกดปุ่ม Delete ที่คีย์บอร์ด ) หรือ ถ้าเราไม่เจอ Current Version ให้คลิกขวาที่ Software แล้วเลือก find แล้วใส่ MS32DLL ค้นหาดูครับมันก็จะเจอแล้วเราก็ลบมันซะ

9.คลิกเลือก HKEY_CURRENT_USER --> Software --> Microsoft --> Internet Explorer --> Main เพื่อลบไฟล์ที่ Window Title “Hacked by Godzilla” ออก (โดยการกดปุ่ม Delete ที่คีย์บอร์ด )

10.คลิกปุ่ม Start --> Run ปรากฏไดอะล็อกบ็อก Run พิมพ์คำสั่ง gpedit.msc กดปุ่ม OK ปรากฏไดอะล็อกบ็อก Group Policy

11.คลิกเลือก User Configuration --> Administrative Templates --> System --> Double Click ไฟล์ Turn Off Autoplay ปรากกฎไดอะล็อกบ็อก Turn Off Autoplay Properties
  • คลิกเลือก Enabled
  • คลิกเลือก All drives
  • คลิก OK เพื่อป้องกันการเปิดไดร์ฟอัตโนมัติในกรณีที่นำแผ่นซีดี หรือ Handy Drive มาใช้งานซึ่งเป็นช่องทางที่จะทำให้เกิดการติดไวรัสได้ง่ายขึ้น
12.คลิกปุ่ม Start --> Run ปรากฏไดอะล็อกบ็อก Run พิมพ์คำสั่ง msconfig กดปุ่ม OKปรากฏไดอะล็อกบ็อก System Configuration Utility คลิกแท็บ Startup
  • เอาเครื่องหมาย / ในช่องสี่เหลี่ยมหน้าไฟล์ MS32DLL ออก
  • คลิกปุ่ม Apply
  • คลิกปุ่ม OK (หรือ Close)จะปรากฏไดอะล็อกบ็อก System Configuration เลือก Exit Without Restart
13.Double Click ไอคอน Mycomputer ที่ Desktop เลือกเมนู Tools --> Folder Options

14.ปรากฏไดอะล็อก Folder Options คลิกแท็บ View
  • คลิก / ในช่องสี่เหลี่ยมหน้า Hide extention… และ Hide protected operating system file
  • คลิก OK
15. Click เม้าส์ขวาที่ไอคอน Recycle bin เพื่อเรียก Shortcut Menu เลือกคำสั่ง Empty Recycle bin เพื่อยืนยันการลบไฟล์ไวรัสออกจากเครื่องคอมพิวเตอร์อีกครั้ง

รับรองได้ผลครับ

Sunday, November 19, 2006

Thaiopensource เปิดให้บริการ open source wiki

ที่มา : thaiopensource.org

thaiopensource.org เปิดให้บริการ Open Source Wiki เพื่อเป็นแหล่งความรู้ให้แก่ผู้ใช้งานซอฟต์แวร์โอเพนซอร์ส เพื่อให้ทุกคนสามารถมีส่วนร่วมในการพัฒนาเนื้อหา เพื่อเป็นประโยชน์แก่ส่วนรวมครับ คุณสามารถถ่ายทอดประสพการณ์การใช้งานซอฟต์แวร์โอเพนซอร์ส หรือเทคนิคเด็ดๆในการใช้งานลงไปได้ สำหรับเนื้อหาการใช้โปรแกรมที่อยู่บนหน้าหลักของ thaiopensource.org จะทยอยย้ายไปไว้ที่ wiki เช่นเดียวกันครับ เพื่อให้ง่ายต่อการที่ทุกท่านจะร่วมแก้ไขได้
สามารถใช้บริการได้ที่ wiki.thaiopensource.org

Add user of MySQL

mysql > GRANT ALL ON *.* TO user@localhost IDENTIFIED BY 'password';
mysql > flush privileges

user คือ ชื่อผู้ใช้ที่ต้องการเพิ่ม
password คือ พาสเวอร์ดของผู้ใช้ที่ต้องการเพิ่ม
* ตัวแรก หมายถึง ทุก db
* ตัวที่ 2 หมายถึง จัดการได้ทุกอย่าง ไม่ว่าจะเป็น เพิ่ม ลบ หรือ แก้ไข

mysql > SET PASSWORD=PASSWORD('password');
this is command for chang password of user login

Update Windows กันดีกว่า

Click here...

การเปิดใช้เว็บนี้เราต้องไม่ใช้ บราวเซอร์ของ IE นะครับ มะงั้นมันไม่ให้อัพเดทง่ะ

Saturday, November 18, 2006

Window validate

ตรวจสอบว่าวินโดวส์ที่คุณใช้เป็นของแท้หรือป่าว
Click here...

เมื่อไปที่หน้านั้นแล้วก็ให้คลิกที่ปุ่ม

ตรวจสอบทันที หรือ validate now

แล้วมันก็จะใ้ห้ติดตั้งตัวโปรแกรมบางตัว ก็ติดตั้งซะแล้วมันก็จะรายงานผลออกมาเองครับ

- ถ้ามันมองว่าเป็นของแท้มันก็จะแสดงข้อความประมาณเนี๋ยอ่ะครับ
การตรวจสอบเสร็จสมบูรณ์
ขอบคุณที่ทำการตรวจสอบ Microsoft Windows
ขอบคุณสำหรับการใช้โปรแกรม Windows Genuine Advantage คุณสามารถเข้าใช้แหล่งทรัพยากรสำหรับผู้ใช้ Windows ของแท้ได้แล้ว

- ถ้ามันมองว่าเป็นของเถื่อนมันก็จะแสดงข้อความดังนี้
Windows ชุดนี้ไม่ผ่านการตรวจสอบว่าเป็นของแท้

Thursday, November 16, 2006

การปลอม E-Mail

การปลอมเมลล์ใครว่าทำยากง่ายนิดเดียวเองอ่ะ เริ่มกันเลย
- เราต้องรู้ก่อนว่าเราจะให้โฮสใหนเป็นตัวส่งเมลล์ให้เรา (mail relay)
cmd> nslookp
cmd> set type=MX
cmd> hostname

เราก็จะได้รายชื่อโฮสเมลล์เซิร์ฟเวอร์

ตัวอย่างหาโฮสที่เป็นเมลล์เซิร์ฟเวอร์ของ somuni.ac.th

C:\Documents and Settings\user>nslookup
Default Server: ns.someuni.ac.th
Address: x.x.x.x

> set type=MX
> someuni.ac.th
Server: ns.someuni.ac.th
Address: x.x.x.x

someuni.ac.th MX preference = 10, mail exchanger = ohuh.somuni.ac.th
someuni.ac.th MX preference = 20, mail exchanger = ohuhmail.someuni.ac.th
someuni.ac.th nameserver = ns.someuni.ac.th
someuni.ac.th nameserver = ns1.someuni.ac.th
ohuh.somuni.ac.th internet address = x.x.x.x
ohuhmail.someuni.ac.th internet address = x.x.x.x
ns.someuni.ac.th internet address = x.x.x.x
ns1.someuni.ac.th internet address = x.x.x.x
>

ได้เครื่องที่จะเป็น เมลล์รีเลย์ให้เราแล้วครับ ohuh.somuni.ac.th หรือ ohuhmail.someuni.ac.th

- เมื่อเราได้เครื่องที่จะส่งเมลล์ให้เราแล้วเราก็เริ่มปลอมกันเลยครับ
telnet ohuhmail.someuni.ac.th 25
จากนั้นเครื่อง ohuhmail.someuni.ac.th จะต้อนรับเรา
ส่วนในการปลอม e-mail โดยการ ใช้คำสั่ง

HELO someone
MAIL FROM: admin@someuni.ac.th
RCPT TO: bilgate@msn.com
DATA

พิมพ์อะไรก็ได้ ถ้าต้องการหยุดให้ใช้ . (จุดฟูลสตอบ)
.
quit

- ชื่ออีเมลล์ที่จะเป็นต้ัวส่งนั้น บางครั้งเมลล์เซิร์ฟเวอร์อาจมีการตรวจสอบว่ามี account นี้จริงมั้ยถ้าไม่มีมันอาจปฏิเสธเราไม่ให้เราส่งก็เป็นได้ วิธีแก้เราก็ต้องหา account ที่มันมีอยู่จริงก็แล้วกันครับ
อันนี้วิธีใครวิธีมันนะครับในการหา account ที่มีอยู่จริงของเมลล์เซิร์ฟเวอร์เครื่องนั้นอ่ะคร้บ

Tuesday, November 14, 2006

แหล่งอ้างอิงสำหรับ Java Script

    แหล่งอ้างอิงสำหรับ Java Script
  1. JavaScripter.net สอนละเอียดดีมาก
  2. OOPWeb.com สอนได้ละเอียด + ตัวอย่างเยอะ
  3. ShiningStar.net เช่น Validate (length)
  4. PerlScripten.de เยอะแต่ไม่ใช่ english
  5. ตัวอย่าง dialog.js ทำให้ textarea มี web editor ในตัว
  6. JSMadeEasy.com ยอดเยี่ยม ดูง่าย
  7. Selfhtml.com.fr
  8. ScriptBreaker.com
  9. hotscripts.com
  10. cooldev.com/
  11. developer.com
  12. javascriptsource.com
  13. javascript.com
  14. internet.com
  15. Download geocities.7116 มีทั้ง javascript และ dhtml
  16. สอน JavaScript โดย webpagethai.org
  17. news://comp.lang.javascript
    แหล่งอ้างอิงสำหรับ Java
  1. javasoft.com หรือ java.sun.com นั้นเอง
  2. Download j2se 1.4 click ขนาด 12 Mb หรือ 37 Mb
  3. javaworld.com
  4. http://javaboutique.internet.com/applets/
  5. Free game online freefungames.com/applets
  6. news://comp.lang.java

Saturday, November 11, 2006

สร้าง html, png และ log MRTG

shell # indexmaker --column=1 --output=/var/www/html/mrtg/index.html /etc/mrtg/localhost.cfg

แล้วมันแสดง ข้อผิดพลาดว่า
Use of uninitialized value in hash element at /usr/bin/indexmaker line 340

วิธีแก้
เราต้องไปแก้ไขที่ /etc/snmp/snmpd.conf
เพิ่ม view systemview included .1 คือ กำหนดให้รายงานได้ทุกค่า มิบ เริ่มจาก .1 เป็นต้นไป

PHP5 cgi.force_redirect

This PHP CGI binary was compiled with force-cgi-redirect enabled. This
means that a page will only be served up if the REDIRECT_STATUS CGI variable is
set, e.g. via an Apache Action directive.


For more information as to why this behaviour exists, see the manual page for CGI security.


For more information about changing this behaviour or re-enabling this webserver,
consult the installation file that came with this distribution, or visit
the manual page.



มันรันแล้วเปงงี้อ่ะต้องแก้ไขโดยการแก้ไฟล์ php.ini
cgi.force_redirect = 0

Debian linux

ที่มา : thaiopensource.com

Debian เป็นลินิกซ์ดิสทริบิวชั่น เหมือนกับ RedHat, Mandrake, Slackware หรือ TLE เพียงแต่สิ่งที่ทำให้ Debian แตกต่างไปจาก ดิสทริบิวชั่นทั่วๆ ไปอย่าง RedHat นั่นคือ Debian เป็นดิสทริบิวชั่นที่ไม่หวังผลกำไร ยกตัวอย่าง น่าจะพอเห็นภาพกว่านะครับ RedHat Linux นั้น คือการนำเอาซอฟต์แวร์ต่างๆ ทั้งโอเพ่นซอร์ส และไม่โอเพ่นซอร์ส มารวมกันเป็นระบบปฏิบัติการ ซึ่งขั้นตอนการรวมซอฟต์แวร์ จนกระทั่งทำเป็นตัวติดตั้ง และวางขายนี้ ทำโดยพนักงานของบริษัท RedHat แต่สำหรับ Debian ขั้นตอนต่างๆ ตั้งแต่ทำตัวติดตั้ง ปรับแต่งซอฟต์แวร์ให้เหมาะสม รวมไปถึงดูแลรักษาเวบไซต์ ทำด้วยอาสาสมัครล้วนๆ ภายใต้อุดมการณ์ที่เรียกกันภายในว่า Debian Social Contract โดยมีเนื้อความง่ายๆว่า Debian จะฟรีตลอดไป และการพัฒนาจะเป็นไปอย่างเปิดเผยผ่านกระบวนการโอเพ่นซอร์ส การพัฒนา Debian นั้นกระทำผ่านอินเทอร์เน็ต เช่นเดียวกับเคอร์เนลของลินิกซ์ นักพัฒนาอาสาสมัครจากทั่วโลก ใช้เวบไซต์ Debian.org เป็นฐาน พูดคุยกันผ่าน Mailing List เขียนโปรแกรม แก้บั๊ก ทดสอบ และแจกจ่าย Debian ให้ดาวน์โหลดกันฟรีๆ
นอกจากจะฟรีแล้ว Debian ยัง ดี อีกด้วย ระบบการลงซอฟต์แวร์ที่เรียกว่า apt-get ของ Debian นั้น ได้รับการยอมรับว่าดีกว่าระบบ RPM ที่ใช้กันใน RedHat หรือ Mandrake เมื่อมีซอฟต์แวร์ใหม่ๆ ออกมา ผู้ใช้งานระบบ apt ของ Debian แทบจะได้ใช้ซอฟต์แวร์ตัวนั้นก่อนผู้ใช้ระบบ RPM อย่าง RedHat เพราะอาสาสมัครผู้ดูแลแพ็คเกจ apt ของ Debian ที่เรียกว่า maintainer นั้น มีจำนวนเป็นหลักพัน และช่วยกันหาโปรแกรมเวอร์ชั่นใหม่ๆ มาเพิ่มให้ Debian ตลอดเวลา นอกจากนี้ชุมชนนักพัฒนา Debian ได้รับการยอมรับว่า เป็นชุมชนโอเพ่นซอร์สที่แข็งแกร่งมากแห่งหนึ่ง ปัญหาที่พบใน Debian จะถูกแก้ไขไปอย่างรวดเร็ว ส่วนถ้าใช้งานไปแล้วเกิดคำถาม ในห้อง Chat ของ Debian ก็มีคนออนไลน์อยู่จำนวนมากตลอดเวลาเช่นกัน (อันนี้เคยลองมาแล้วครับ เยอะจริงๆ)
ส่วนข้อเสียสำคัญของ Debian นั้นคือ มันเป็นลินิกซ์สำหรับเซียนครับ เซียนคอมพิวเตอร์ที่คิดอะไรไม่เหมือน ผู้ใช้ธรรมดาเท่าไร แถมไม่ค่อยง้อให้คนธรรมดาใช้ด้วย เซียนเหล่านี้ชอบมองว่า ระบบติดตั้งสวยงาม ใช้งานง่าย สำคัญ ไม่เท่า ความสามารถในการปรับแต่งได้เยอะๆ ทำให้การลง Debian สำหรับมือใหม่ เรียกได้ว่าเป็นยาขม เลยทีเดียว การปรับแต่งเดสก์ทอปให้เหมาะสมกับการใช้งาน ก็ไม่ได้ปรับมาให้แล้วเหมือน RedHat หรือ Mandrake เกือบ ทุกอย่าง ต้องทำด้วยมือ ต้องมานั่งแก้ไฟล์คอนฟิกเอาเอง จากจุดอ่อนพวกนี้ เลยมีบริษัทหัวใสหลายราย เช่น Xandros หรือ Lindows นำ Debian มาปรับแต่งให้เหมาะกับผู้ใช้หน้าใหม่ เมื่อแก้จุดอ่อนตรงใช้งานยากออกไปแล้ว และรวมกับความสามารถเด่นๆ หลายอย่างของ Debian ทำให้ลินิกซ์จาก Xandros และ Lindows มีคุณภาพ ดีพอสมควรเลย
โครงการ Debian นั้นเริ่มเมื่อปี 1993 โดยนายเอียน เมอร์ดอค คำว่า Debian ก็มาจากชื่อของเค้า เอียน ( -ian ) กับชื่อแฟนของเค้า เด็บบาร่า (deb-) เอามารวมกันก็เป็น Debian ครับ โรแมนติกน่าดู ส่วนการออกเสียงนั้นในเวบไซต์ของ Debian นั้น นายเอียนอยากให้อ่านว่า Deb -ee-n (น่าจะออกเสียงเป็น เด็บ-บี้น แต่ส่วนมากผมเห็นออกเสียงกันเป็น เดบเบียน หรือ เดเบียน มากกว่า โครงการ Debian เปลี่ยนผู้นำโครงการมาแล้วหลายคน แสดงให้เห็นถึงข้อดีของโอเพ่นซอร์ส คือ ถึงแม้ว่าผู้ก่อตั้งหรือผู้นำเกิดเบื่อ และไม่อยากทำโครงการนั้นต่อ โครงการนั้นจะยังมีชีวิตรอดอยู่ต่อไปได้ ปัจจุบัน Debian ออกถึงรุ่น 3.0 โดยมีโค้ดเนมว่า Woody (โค้ดเนมของ Debian นี้จะใช้ตามตัวละครจากการ์ตูนเรื่องทอย สตอรี่ครับ เช่น Woody ก็คือตุ๊กตาคาวบอยพระเอก Buz คือ ตุ๊กตามนุษย์อวกาศ น่ารักดีครับ) Debian ยังพัฒนาต่อไปเรื่อยๆ และไม่มีแนวโน้มที่โครงการนี้จะซบเซาลงจนล้มไปเลย ถ้าอยากหาความท้าทายกับลินิกซ์ ลองมาใช้ Debian ดู อาจทำให้คุณเก่งระดับเซียนได้ครับ

Vi cheat sheet

ที่มา: โทดทีครับจำไม่ได้ขอโทษเจ้าของบทความมากๆ ครับ
ลิ้งที่น่าสนใจ : http://suchart.wordpress.com/vi-vim/

สรุปคำสั่ง Vi Editor
Vi Editor เป็นเครื่องมือแก้ไขข้อความแบบเท็กซ์โหมด ซึ่งมีประสิทธิภาพสูง และมีอยู่ใน Linux ทุกดิสทริบิวชั่น แม้กระทั่ง MacOSX ก็ยังมี วิธีการเรียกใช้ Vi นั้น ให้เปิด Terminal ขึ้นมา แล้วสั่ง Vi ตามด้วยชื่อไฟล์ ก็จะเป็นการเป็นไฟล์ที่ต้องการขึ้นมาด้วย Vi หากไฟล์นั้นยังไม่มี ก็จะเป็นการสร้างไฟล์ขึ้นมาใหม่ โดยชื่อไฟล์ที่ได้พิมพ์ลงไป ในบทนี้จะเป็นตำสั่งต่างๆที่ใช้ใน Vi ซึ่งได้สรุปมาแล้ว


Movement (Horizontal)
e : เลื่อนเคอเซอร์ไปทางขวาหนึ่งตัวอักษร
h : เลื่อนเคอเซอร์ไปทางซ้ายหนึ่งตัวอักษร
l : เลื่อนเคอเซอร์ไปทางขวาหนึ่งตัวอักษร
^ : ย้ายเคอเซอร์ไปอักษรแรกของบรรทัด
$ : ย้ายเคอเซอร์ไปอักษรสุดท้ายของบรรทัด
w : ไปที่ตัวอักษรแรกของข้อความถัดไป
e : ไปที่ตัวอักษรสุดท้ายของข้อความถัดไป
b : ถอยกลับไปที่อักษรแรกของข้อความ
( : เลื่อนถอยหลังครั้งละ1ประโยค (ประโยคภาษาอังกฤษซึ่งจบด้วย . ! ?)
) : เลื่อนไปข้างหน้า1ประโยค
{ : เลื่อนถอยไปที่บรรทัดที่ไม่มีข้อความ
} : เลื่อนไปที่บรรทัดที่ไม่มีข้อความ


Movement (Vertical)
k : เลื่อนขึ้น1บรรทัด
j : เลื่อนลง1บรรทัด
PGup : เลื่อนขึ้น1หน้า
PGDN : เลื่อนลง1หน้า
ตัวเลข + Shift + g : ไปบรรทัดที่(ตัวเลข)
/ ตัวอักษร : ค้นหา(ตัวอักษร) ถัดจากที่เคอเซอร์อยู่
n : ค้นหาต่อไป
Shift + n : ค้นหาย้อนกลับ


Insert mode
i : เข้าสู่ Insert mode (แทรกข้อความก่อนหน้าเคอเซอร์)
a : เข้าสู่ Insert mode (แทรกข้อความหลังเคอเซอร์)
Shift + i : เข้าสู่ Insert mode (เคอเซอร์อยู่ที่อักษรแรกของบรรทัด)
Shift + a : เข้าสู่ Insert mode (เคอเซอร์อยู่ที่อักษรสุดท้ายของบรรทัด)
o : แทรกบรรทัดใหม่ใต้บรรทัดที่เคอเซอร์อยู่ และเข้าสู่ Insert mode
Shift + o : แทรกบรรทัดใหม่เหนือบรรทัดที่เคอเซอร์อยู่ และเข้าสู่ Insert mode
cc : สร้างบรรทัดใหม่โดยแทนบรรทัดเดิม
c + ลูกศรซ้าย/ขวา : ลบตัวอักษรตามทิศทางของลูกศร
c + ลูกศร ขึ้น/ลง : เริ่มบรรทัดใหม่ โดยลบบรรทัดปัจจุบัน และบรรทัดบนหรือล่าง(ตามทิศทางของลูกศร)
Esc : ออกจาก Insert mode


Compound commands - The power of Vi
Motion

ตัวเลข + ลูกศร ซ้าย/ขวา : เลื่อนเคอเซอร์ไปตัวอักษรถัดไปตามจำนวนตัวเลข
ตัวเลข + ลูกศร ขึ้น/ลง : เลื่อนเคอเซอร์ไปบรรทัดถัดไปตามจำนวนตัวเลข
ตัวเลข + ( : เลื่อนไปประโยคที่ผ่านมาตามจำนวนตัวเลข
ตัวเลข + ) : เลื่อนไปประโยคถัดไปตามจำนวนตัวเลข
ตัวเลข + { : เลื่อนถอยไปที่บรรทัดที่ไม่มีข้อความ(ตามจำนวนตัวเลข)
ตัวเลข + } : เลื่อนไปที่บรรทัดที่ไม่มีข้อความ(ตามจำนวนตัวเลข)

Deletion
d + ตัวเลข + w : ลบคำตามจำนวนตัวเลข
d + } : ลบครั้งละย่อหน้า
d + ) : ลบประโยค

Change
c + ) : ลบประโยค แล้วเข้าสู่ Insert mode
c + } : ลบละย่อหน้า แล้วเข้าสู่ Insert mode


Cut + Paste
1. กด v เพื่อเข้าสู่ Visual mode
2. ย้ายเคอเซอร์เพื่อไฮไลท์ข้อความ
3. กด d เพื่อ cut, กด y เพื่อ copy ข้อความ
4. กด Shift + p เพื่อวางข้อความหน้าเคอเซอร์, กด p เพื่อวางข้อความหลังเคอเซอร์


Open, Save, Quit
:q ออกจากโปรแกรม(ต้องเซฟก่อน)
:q! ออกจากโปรแกรม
:w เซฟ
:x เซฟแล้วออกจากโปรแกรม
:wq เหมือน :x


Windowing
:sp + ชื่อไฟล์ : เปิดไฟล์ใหม่โดยแบ่งหน้าต่างเป็นครึ่ง (ถ้าไม่ใส่ชื่อไฟล์ จะแสดงผลไฟล์เดิมเป็น2หน้าต่าง)
Ctrl + w : สลับไปทำงานที่อีกหน้าต่าง
Close window : ปิดไฟล์ที่หน้าต่างหนึ่ง เพื่อรวมเป็นหน้าต่างเดียว


Commands modify text
x : ลบตัวอักษรในตำแหน่งที่เคอเซอร์อยู่
Shift + j : ดึงบรรทัดถัดไปขึ้นมาเป็นบรรทัดเดียวกับบรรทัดปัจจุบัน
r + ตัวอักษร : แทนที่ด้วยตัวอักษรในตำแหน่งที่เคอเซอร์อยู่
dd : ลบบรรทัดที่เคอเซอร์อยู่
d + ลูกศร : ลบ1ตัวอักษร ไปตามทิศทางของลูกศร (สามารถใส่ตัวเลขก่อนคำสั่ง เพื่อลบตามจำนวนตัวเลขได้)
u : ย้อนกลับการกระทำ (Undo)
. : ทำซ้ำคำสั่งล่าสุด


Search/Replace
:/ข้อความ : ค้นหาข้อความ N (Next) , Shift + N (Previos)
:s/ข้อความ1/ข้อความ2/ : ค้นหาข้อความ1 และแทนที่ด้วย ข้อความ2 ในบรรทัดที่เคอเซอร์อยู่ (เฉพาะข้อความแรก)
:s/ข้อความ1/ข้อความ2/g : ค้นหาข้อความ1 และแทนที่ด้วย ข้อความ2 ในบรรทัดที่เคอเซอร์อยู่ (ทุกข้อความ)
:%s/ข้อความ1/ข้อความ2/g : ค้นหาข้อความ1 และแทนที่ด้วย ข้อความ2 (ทุกข้อความ)
:%s/ข้อความ1/ข้อความ2/gc : ค้นหาข้อความ1 และแทนที่ด้วย ข้อความ2 (ทุกข้อความ ครั้งละข้อความ สามารถเลือกได้)

Thursday, November 9, 2006

Terminology & Acronym

ACL Access Control List
AD Active Directory
AIT Advanced Interigent Tape
APIPA Automatic Private IP Addressing
AT Advanced Technology
ATA AT Attachment
atime access time

BIND Berkeley Internet Name Domain
BMC Baseboard Management Card
BOOTP BOOTstrap Protocol
BPDU Bridge Protocol Data Unit (คำที่เกี่ยวข้อง Spanning Tree)
BSD Berkeley Software Distribution
BSOD Blue Screen Of Death
BURT Bug Reporting Tool
CFO Cluster Fail Over
CHAP Challenge Handshake Authentication Protocol
CIFS Common Internet File System


CP Consistency Point
CR Carriage Return


DAS Direct Attached Storage
DBA DataBase Administrator
DC Domain Controler
DDoS Distributed Denial of Service
DFM DataFabric Manager
DFS Distributed File System ( คำที่เกี่ยวข้อง AFS )
DHCP Direct Host Configuration Protocol
DLT Digital Liner Tape
DMZ DeMilitarized Zone
DNS Domain Name System
DSML Directory Service Markup Language
DTF Digital Tape Format ( คำที่เกี่ยวข้อง DTF2 )
DWDM Dense Wavelength Division Multiplexing

ECN Engineering Change Notice
EMS Event Management System
ERP Enterprise Resource Planning
ESH Embedded Switched Hubs ( คำที่เกี่ยวข้อง LRC )
ESPP Employee Stock Purchase Plan

FastEthernet 100Mbps Ethernet
FAT File Allocation Tables ( คำที่เกี่ยวข้อง NTFS )
FC Fibre Channel
FCIP Fibre Channel over IP
FCS First Customer Shipment ( คำที่เกี่ยวข้อง GA )
FC-AL Fibre Channel Arbitrated Loop
FLM File Lifecycle Manager(TM)
FPAM Front Panel Access Manager
FQDN Full Qualified Domain Name

GA General Availability ( คำที่เกี่ยวข้อง FCS )
GBIC Giga Bit Interfacd Converter ( คำที่เกี่ยวข้อง SFP )
GigabitEthernet 1000Mbps Ethernet
GSC Global Support Center

HBA Host Bus Adapter ( คำที่เกี่ยวข้อง NIC )
HFS Hierarchical File System ( คำที่เกี่ยวข้อง HFS+ )
HRAF Human Resources Action Form
HSM Hierarchical Storage Management

iCAP Internet Content Adaptation Protocol
ICMP Internet Control Message Protocol
IDE Integrated Drive Electronics ( คำที่เกี่ยวข้อง ATA )
IDP Intrusion Detection and Prevention
IDS Intrusion Detection System
IEEE Institute of Electrical and Electronic Engineers
IEEE 1394 ( คำที่เกี่ยวข้อง USB )
IEEE 802.11a 5GHz frequency 54Mbps WLAN
IEEE 802.11b 2.4GHz spectrum 11Mbps WLAN
IEEE 802.11g 2.4GHz frequency 54Mbps WLAN
IETF Internet Engineering Task Force
IGMP Internet Group Managemnet Protocol
ILM Inrofmation Lifecycle Management
IPMP IP Multi Path
iSCSI Internet Small Computer System Interface
ISL Inter Switch Link
ISMS Information Security Management System
ITIL Information Technology Infrastructure Library

JBOD Just a Bunch Of Disks ( คำที่เกี่ยวข้อง RAID )

LACP Link Aggregation Cotrol Protocol ( คำที่เกี่ยวข้อง IEEE 802.3ad )
LDAP Lightweight Directory Access Protocol
LF Line Feed
LRC Loop Redundancy Circuit ( คำที่เกี่ยวข้อง ESH )
LSM Library Storage Module
LTO Ultrium Linear Tape-Open
LTO Ultrium 2 Linear Tape-Open Generation 2
LUN Logical Unit Number. SCSI identifier.

MAN Metropolitan Area Network
MD5 Message Digest 5
MIB Management Information Base
MRTG Multi Router Traffic Grapher
MSCS Microsoft Cluster Service ( คำที่เกี่ยวข้อง quorum disk )
MTBF Mean Time Between Failure ( คำที่เกี่ยวข้อง MTTR, NTF )
MTTR Mean Time To Repair ( คำที่เกี่ยวข้อง MTBF, NTF )

NAS Network Attached Storage
NAT Network Address Translation
NFS Network File System
NDIS Netowrk Driver Interface Specification
NDMP Network Data Management Protocol
NIC Network Interface Card ( คำที่เกี่ยวข้อง HBA )
NIS Network Information Services ( คำที่เกี่ยวข้อง YP )
NPI New Product Introductions
NTF No Trouble Found ( คำที่เกี่ยวข้อง MTBF, MTTR )
NTFS NT File System ( คำที่เกี่ยวข้อง FAT )
NTLM NT LanMan
NTP Network Time Protocol
NVRAM Non Voltaile Random Access Memory

OCSP Online Certificate Status Protocol
OSPF Open Short Path First
OSS Operations Support Systems
Open Source Software
OSSV SnapVault for Open System

PAP Password Authentication Protocol
PCI Peripheral Components Interconnect bus
PDT Pacific Daylight TIme ( คำที่เกี่ยวข้อง PST )
POE Power Over Ethernet
POSIX Portable Operating System Interface for UNIX
PPN Physical Path Name ( คำที่เกี่ยวข้อง WWN ๗
PST Pacific Standard TIme
PVR Policy Variation Request

QoS Quality of Service
QS Quick Ship
QSM Qtree SnapMirror
Qtree Quota Tree


RAC Oracle Real Application Clusters
RADIUS Remote Authentication Dial-In User Service
RAID Redundant Array of Independet Disks
RC Release Candidate
RCA Root Cause Analysis
RFC Request For Comment
RMC Remote Management Card ( คำที่เกี่ยวข้อง BMC )
RMA Return Material Authorization
RMON Remort network MONitoring
ROI Return On Investment ( คำที่เกี่ยวข้อง TCO )
RPO Recovery Point Objective
RTO Recovery Time Objective

SAIT Super AIT ( คำที่เกี่ยวข้อง AIT ๗
SAM System Availability Management
SAN Storage Area Network ( คำที่เกี่ยวข้อง DAS, NAS )
SAS Serial Attached SCSI ( คำที่เกี่ยวข้อง SATA )
SC Support Console
SCSI Small Computer Systems Interface

SDK Software Development Kit
SDLT Super DLT ( คำที่เกี่ยวข้อง DLT )
SDT Specialist Deployment Team
SFP Small form Factor Pluggable ( คำที่เกี่ยวข้อง GBIC )
SIO Simulated I/O
SLA Service Level Agreement
SLB Server Load Balancer
SLM Service Level Managemnet
SMB Server Message Block
SNMP Simple Network Management Protocol
SNTP Simple Network Time Protocol
SOAP Simple Object Access Protocol
SOW Statement Of Works
Spanning Tree ( คำที่เกี่ยวข้อง IEEE802.1d )
SPM Security Policy Manager
SQL Structured Query Language
SSH Secure SHell
SSL Secure Socket Layer

TCO Total Cost of Ownership ( คำที่เกี่ยวข้อง ROI )
TGA Technical Global Advisor
TOAST Training Of All Special Things
TOE Tcp Over drive Engine
TOI Transfer Of Information
TSM Tivoli Storage Manager

UNC Universal Naming Convention
USB Universal Serial Bus ( คำที่เกี่ยวข้อง IEEE 1394 )

VCS Veritas Cluster Server
VFM Virtual File Manager
VITA Veritas Integrated Test Automation
VLD Virtualized Local Disk
VRRP Virtual Router Redundant Protocol
VSM Volume SnapMirror
VVR Veritas Volume Replicator

WDM Wavelength Division Multiplexing
WEP Wired Equivalent Privacy
Wi-Fi Wireless Fidelity
WLAN Wireless Local Area Networks
WPA Wi-Hi Protected Accewss
WSC Windows Server Cluster
WSDL Web Services Description Launguage
WWN World Wide Name

XML eXtensible Markup Language

MySQL 5.x, 4.x และ PHP เวอร์ชั่น 5

ที่มา : www.appservnetwork.com

ทำความเข้าใจกับเครื่องหมาย
?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??

เวลาดึงฐานข้อมูลจาก MySQL หรือ phpMyAdmin


ปัญหานี้เป็นปัญหาจริงหรือ
- ไม่ใช่ปัญหาแต่ว่าผู้ใช้ปรับตัวเข้ากับเวอร์ชั่นใหม่ไม่เป็น

ถ้าไม่ใช่ปัญหาแล้วจะทำยังไงกับ MySQL 5.x , 4.1.x ที่ไม่ยอมเป็นไทย
- เวลา Connect Database ให้เพิ่มในส่วนของ mysql_db_query($dbname,"SET NAMES tis620");
เพิ่มเข้าไปทุกครั้งมีมีการ Connect

ทำการเพิ่ม SET NAMES tis620 ไปแล้วแต่ phpMyAdmin เวลา Dump ข้อมูลมันก็ยังเป็น Huh?? อยู่อีก
- เปิด my.ini ขึ้นมาโดยกดที่ Start -> run พิมพ์ my.ini แล้วกด Enter
ในส่วนของ [client] ให้เพิ่ม
default-character-set = tis620
ในส่วนของ [mysqld] หลัง database directory ให้เพิ่ม
default-character-set = tis620
character-set-server = tis620
collation-server = tis620_thai_ci
init_connect = 'SET collation_connection = tis620_thai_ci'
init_connect = 'SET NAMES tis620'

จากนั้น Restart MySQL

แล้วคนใช้ UTF-8 จะทำยังไงในเมื่อเรา SET ทุกอย่างเป็น tis620 หมด
- คนใช้ UTF-8 ต้องมา mysql_db_query($dbname,"SET NAMES UTF8"); เองซะแล้ว !!
** ในการ Input ข้อมูลต่างๆใน phpMyAdmin นั้นจะไม่มีผลใดๆ กับผู้ใช้ UTF8

เมื่อก่อนไม่เห็นมีแบบนี้เลยแล้วเมื่อก่อนให้เลือก character set คืออะไร
- เมื่อก่อนเป็น Character Set แบบปลอมๆ คือข้อมูลต่างๆที่เก็บลงฐานข้อมูลมันคือ latin1 นั่นเอง
แล้วทำไม Latin1 มันใช้ภาษาไทยได้หละ แน่นอนอยู่แล้วมันใช้ได้เนื่องจาก latin1 มัน Key map แบบเดียวกะ keyboard ไทย
และประเทศอื่นๆ ก็เป็น Key Map เดียวกัน แต่สมัยนี้พวกภาษาจะไม่ขึ้นอยู่กับ Key Map ที่เราเห็นอยู่แล้ว (UTF-8)
*** และที่สำคัญในเวอร์ชั่น 4.0, 3.x มีให้เลือก character set ตรงนั้นไม่ได้มีความหมายว่า เก็บข้อมูลเป็นภาษาไทย
ความหมายของมันคือ เรืยงลำดับภาษาไทย ต่างหาก คนไทยจึงเข้าใจผิดๆ มานาน -_-' กับ tis620 ใน MySQL
ไม่ก็ลองย้อนไปดูได้ครับแม้ว่าจะเลือก charset เป็น latin1 มันก็เก็บข้อภาษาไทยได้ เพียงแต่เรียงลำดับภาษาไทยไม่ได้เท่านั้น

แล้วทำไมสมัยนี้ MySQL ทำไมยุ่งยากกว่าเดิมเยอะ
- มันไม่ได้ยุ่งยากหรอกครับ มันอยู่ที่เราจะปรับตัวมากกว่า อย่ายึดติดกับหนังสือตามห้องสมุด เพราะที่ท่านอ่านมันเป็นความรู้เก่าๆ
ผมไม่ได้บอกว่าหนังสือที่เค้าขายกํนมันไม่ดีนะครับ เพียงแต่อยากจะบอกว่าที่เค้าขายกัน มันตกยุคไปนานโขแล้ว
เริ่มต้นทำความเข้าใจกับ MySQL ใหม่ เพราะที่มองเห็นว่ายุ่งยากกว่าเดิมจริงๆ ไม่ใช่ ควรเรียกว่าเป็นทางเลือกใหม่จะเหมาะสมกว่า
เพราะว่าระดับภาษาของ MySQL จะเจาะลึกลงไปเยอะมากคือ
- ต้องกำหนดภาษาเมื่อ Connect to Database
- ต้องกำหนดภาษาเมื่อ Create Database (การเรียงลำดับ)
- ต้องกำหนดภาษาเมื่อ Create Table (การเรียงลำดับ)
- ต้องกำหนดภาษาเมื่อ Create Field (การเรียงลำดับ)

รู้ปัญหามานานแล้วทำไมพึ่งมาบอก ??
- เพราะผมเลิกใช้ TIS-620 ไปแล้ว ตอนนี้ใช้แต่ UTF-8 ดีกว่าเยอะ !!

ความเสถียรของ MySQL 5.x เป็นยังไงบ้างเมื่อเทียบกับตัวเวอร์ชั่นเก่าๆ
- เสถียรกว่าเวอร์ชั่นเก่าๆ มาก ไม่มีอาการ Crash อิดๆ ออดๆ เหมือนแต่ก่อน ดังนั้น แนะนำให้ใช้เป็นอย่างยิ่ง

PHP5 ทำไมมี Bug เยอะจัง
- อันนี้ก็เข้าใจผิดๆ อีกเรื่องหนึ่งที่เจอกันเยอะมาก เข้าใหม่เสียว่า ที่ดูเป็น Bug ที่เห็นนั่นแหละ
คือเราเองเขียน Source Code ผิด เนื่องจาก PHP5 มี Sesnsitive มากๆ เกี่ยวกับการเขียน Code หลังจากที่
ผมเลือกใช้ PHP5 ผมจึงรู้ว่าสมองอันน้อยนิดที่คิดว่าผมเขียนโปรแกรมถูกนั้น ปรากฏว่าเจอ Error กระจาย
ต้องมาไล่แก้ code ใหม่อีกครั้ง ซึ่ง Error ที่แจ้งออกมา เราจะเห็นได้ว่าเราเขียนผิดเองจริงๆ และทำให้ผมมองย้อน
กลับไปที่ PHP4 จึงทำให้รู้ว่า PHP4 นี่แหละที่มี Bug เยอะกว่า PHP5เพราะว่าไม่ยอมแจ้งข้อผิดพลาดขึ้นมาเลย
ทั้งๆ ที่มีผิดอยู่เห็นๆ บทพิสูจน์นี้ทดสอบบน Domain ที่อยู่ใน Hosting ผมกว่า 60 กว่าโดเมนสามารถทำงาน
ได้กับ PHP5 ได้อย่างไม่มีปัญหาใดๆ เลยแม้แต่น้อย อีกทั้ง PHP5 ยังทำงานเร็วกว่า PHP4 เพราะเนื่องจากว่า PHP5
เลือกใช้ Zend Engine 2 นั่นเองจึงทำให้ความเร็วเพิ่มขึ้นมาประมาณ 20% และลด Load CPU ของ Server
ลงไปเยอะมาก

แล้วแบบนี้ก็ต้องหันมาใช้ PHP5 แทนที่ PHP4 ใช่ไหม ?
- อันนี้ขึ้นอยู่กับความชอบของแต่ละคน แต่ถ้าให้ผมแนะนำใช้เถอะครับ เพราะตอนนี้ PHP6 เค้าจะออกมากอีกแล้ว
แต่ว่าตอนนี้คุณยังไม่ได้เริ่มต้นที่จะทดลองใช้ PHP5 เลย ขืนใช้ PHP4 แล้ว Upgrade เป็น PHP6
ผมรับประกันได้เลยว่าคุณต้องปวดหัวแบบสุดๆ แน่นอน !! แล้วจะมาบอกอีกไม่ได้ว่า PHP5 และ PHP6 เค้ามี Bug !
ใช้ PHP4 แทนแล้วกัน ก็ขอยืนยันอีกครั้งว่า Source Code ของคุณจะเป็น Source Code รุ่นโบราณที่สุดในโลก

Wednesday, November 8, 2006

แก้ปัญหา CPU Usage ขึ้น 100 เปอร์เซ็นต์

หากเครื่องคอมพ์ของคุณออกอาการอืดผิดปกติ เมื่อลองเข้าไปดูที่ Performance ใน Windows Task Manager ก็ปรากฎว่าค่า CPU Usage ขึ้นไประดับ 90-100 เปอร์เซ็นต์ แน่นอนว่ามันทำให้การรันโปรแกรมต่างๆ ทำได้ช้าลงอย่างมาก วิธีแก้ที่ดีที่สุดก็คือ ให้คุณหาโปรแกรม Reduce safe VCD มาติดตั้ง เพราะคุณอาจไปเขียนแผ่นซีดีที่มีลิขสิทธิ์แล้วโดนโปรแกรมที่เขาใส่มาด้วยเล่นงานเอา นอกจากนี้ให้หาโปรแกรม Spybot มาติดตั้งเพื่อตรวจหาสิ่งแปลงปลอมที่แอบรันอยู่ในเครื่องของคุณด้วย โทรจัน บางตัวก็มีคุณสมบัติในการที่จะเข้าไปใช้ทรัพยากรซีพียูอย่างต่อเนื่องได้ด้วยเช่นกัน แนะนำให้ใช้โปรแกรมสแกนไวรัส โทรจัน หรือเวิร์ม รันตรวจสอบอาทิตย์ละครั้งก็จะดีไม่น้อย

ที่มา : Winmag october 2005 vol.13 n0.147

Tuesday, November 7, 2006

OID ที่ควรรู้

ถ้าเราพูดถึง SNMP โพรโทคอลแล้วเราก็ต้องนึกถึง มิบ ของ อุปกรณ์ที่เราจะทำการตรวจสอบซึ่งเราก็ต้องรู้ว่าค่าต่างๆ ของอุปกรณ์แต่ละตัวมันเก็บไว้ด้วยตัวแปรหรือ OID หมายเลยอาไรหรือ มันเขียนคำว่าอาไรแทนหมายเลขนั้นๆ วันนี้ก็จะมาแนะนำ OID ที่น่าสนใจของ Linux Server ครับ อ้างอิงจาก Linux TLE เวอร์ชั่น 7 นะครับ

# snmpwalk -c [public] -v 1 [host] [OID]

OID
system
interface
ifPhysAddress

ssCpuRawUser
ssCpuRawSystem
ssCpuRawNice
ssCpuRawIdle
memAvailReal
tcpActiveOpens
tcpCurrEstab
tcpInErrs
dskPercent.[digit]

แต่เราต้องไป config ไฟล์ /etc/snmp/snmpd.conf ก่อนนะครับ โดยเพิ่มข้อความดังนี้

# Make at least snmpwalk -v 1 localhost -c public system fast again
# name incl/excl subtree mask(optinal)
view systemview included .1

disk /
disk /home
disk /mnt/drive_c

ทีนั้ถ้าเราต้องการได้ค่าพื้นที่ๆ ใช้เป็นบน / เราก็
shell# snmpwalk -c public -v 1 localhost dskPercent.1

หรือ .2 ถ้าเราต้องการ /home

ค่าต่างๆ ที่ config อาจจะต่างกันแล้วแต่สภาพแวดล้อมของระบบนั้นๆ

ที่มา : Monitoring Server Performance.doc


Sunday, November 5, 2006

'A' Paper Sizes"



'A' size -- size in millimetres -- approx inches
2A0 -- 1,189 x 1,682 mm -- 46,8 x 66,2 in
A0 -- 841 x 1,189 mm -- 33,1 x 46,8 in
A1 -- 594 x 841 mm -- 23,4 x 33,1 in
A2 -- 420 x 594 mm -- 16,5 x 23,4 in
A3 -- 297 x 420 mm -- 11,7 x 16,5 in
A4 -- 210 x 297 mm -- 8,3 x 11,7 in
A5 -- 148 x 210 mm -- 5,8 x 8,3 in
A6 -- 105 x 148 mm -- 4,1 x 5,8 in
A7 -- 74 x 105 mm -- 2,9 x 4,1 in

ที่มา : wikipedia.com

การใช้ | more (ไปป์ '|') linux tip

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

ตัวอย่าง
shell # snmpwalk -v 1 -c public localhost route | more

แค่นี้มันก็จะแสดงผลลัพธ์เป็น หน้าๆ ไปครับ แล้วเราก็กด Space bar เพื่อจะไปดูหน้าถัดไปแต่
ถ้าเราต้องการดูหน้าที่ผ่านมาแล้วนั้นให้กดอาไรก็ม่ายรู้ อ่ะนะ ^^' ค่อยดูทีละหน้าก็แล้วกันครับ

การเขียนบรรทัดคำสั่งบนลินุกซ์

อันนี้เป็นทิปที่ค่อนข้างใช้บ่อยมากครับ เมื่อเราพิมพ์บรรทัดคำสั่งสั้นๆ มันก็ไม่ค่อยมีปัญหาอาไรหรอกครับ แต่เมื่อเราพิมพ์คำสั่งที่มันค่อนข้างยาวถึง ยาวมากๆ ในบรรทัดเดียวก็กะไรอยู่ หรือว่าเราต้องการจาขึ้นบรรทัดใหม่เพื่อพิมพ์คำสั่งต่อโดยการกด Enter เลยมันก็จะรันคำสั่งนั้นเลย ซะงั้น แต่ถ้าเราใส่เครื่องหมาย \ เข้าไปต่อท้ายคำสั่งที่ยังพิมพ์ไม่เสร็จแล้วก็ Enter มันก็รอรับคำสั่งต่อไปโดยที่ยังไม่เป็นการรันคำสั่งครับ

ตัวอย่าง
shell # cfgmaker \
> --global "WorkDir: /var/www/html/mrtg/" \
> --global "Options[_]: growright, bits" \
> --output /etc/mrtg/localhsot-bw.cfg

แล้วเราก็กด Enter ได้เลยครับ

ดู Process ของโปรแกรมที่กำลังทำงานในระบบ

คำสั่งสำหรับดู และ ทำลายโพรเซสที่กำลังทำงานอยู่ในขณะนั้น

window
cmd > tasklist // คำสั่งสำหรับ ดูโพรเซสที่กำลังทำงานอยู่คล้ายกับที่เรากด Ctrl + Alt + Del แท็บ Process และ สำหรับการทำลายนั้น ก็เลือกโพรเซสที่จะทำลายนั้น แล้วกด End process...

linux
shell # ps [aux]
shell # kill [pid of process] // คำสั่งสำหรับทำลายโพรเซสที่กำลังทำงานอยู่ ซึ่ง pid เราสามารถดูได้ว่า process ใหนมี pid อะไรดูได้จากคำสั่ง ps aux

หรือ
Start -> System Tools -> System Monitor คล้ายกับ Ctrl + Alt + Del ในระบบวินโดวส์

Thursday, November 2, 2006

ระบบไฟล์ (File System)

  • FAT(File allocation table) รองรับ partition ขนาดไม่เกิน 2 GB
  • FAT32(File allocation table 32) ไม่สนับสนุนโปรแกรมรุ่นเก่า
  • NTFS(New technology file system) ออกแบบกับ WinNT 4.0
  • HPFS(High performance file system) ของ OS/2
  • NFS (Netware file system) มีความปลอดภัยสูงเหมือน NTFS แต่ไม่นิยมแล้ว
  • Linux Ext2, Ext3 and Linux swap
ที่มา : thaiall.com

Wednesday, November 1, 2006

Access MySQL from remote machine

การที่เราจะทำงานกับ Dabase Server สมมุติว่าเราต้องการติดต่อระหว่าง php และ MySQL Server คือ
ให้ เครื่อง แรกเป็น Database Server แล้วมีอีกเครื่อง มีตัว Application สำหรับ เรียกใช้ Database Server ได้ แต่มันติดปัญหาตรงที่เรียกใช้ข้ามเครื่องไม่ได้สิครับเราจะแก้ปัญหายังไงดีหว่า

- ถ้าเราลง MySQL Server เพียวๆ เลยนะครับ เห็นในเวอร์ชั่น 5 มันจะมีให้ ติ๊กอยู่นะว่าให้สามารถใช้งาน ดาต้าเบสจากเครื่องอื่นได้หรือป่าว มันน่าจะเขียนประมาณเนี๋ยอ่ะครับ
Remote access from anorther แล้วถ้าเราติ๊กมันก็แสดงว่าเราอนุญาตให้เข้าถึงได้

- หรือ ถ้ามันไม่เป็น เวอร์ชั่น 5 ล่่ะครับ หรือ เราลง Appserv ซะงั้น มันไม่มีให้ติ๊กอ่ะดิ เราสามารถจัดการผ่านโปรแกรม phpMyAdmin ได้ครับ โดยตอนการเพ่ิม หรือ ตอนจัดการ user อย่าพึ่ง รีบแบบขอไปทีนะครับ ลองอ่านดูก่อน มันจะมีให้เลือกว่าต้องการให้ connect จากที่ใหนได้บ้างคับ ถ้าเราใส่ % คือ จากเครื่องใหนก็ได้ ครับ หรือ localhost คือ ได้แต่เครื่องที่รัน MySQL เครืองที่รัน MySQL เท่านั้น ก็คือเครื่องเราลง MySQL เราก็ใช้งานที่เครื่องตัวเองอ่ะครับ

แต่เครื่อง client ต้องอนุญาติ ให้ติดต่อผ่าน socket ไปที่เครื่อง server ผ่านพอร์ตของ mysql server
ด้วยนะครับ อันนี้ติดประจำ

Popular Posts