วันพุธที่ 30 ธันวาคม พ.ศ. 2552

ติดตั้ง Google Earth บน Ubuntu 9.10

กำลังคลั่งไคล้ Ubuntu เป็นพิเศษ(จริงๆ)
อยากได้ Google Earth ก็ทำตามนีน๊ะ

ดาวน์โหลดไฟล์มาก่อน
http://earth.google.com/

จะได้ไฟล์มาแบบนี้ GoogleEarthLinux.bin เอามาไว้ใน user เรา

จัดการติดตั้งคำสั่งประมาณนี้
$ cd /home/user
$ chmod +x G*.bin
$ ./G.bin


เมื่อติดตั้งเสร็จก็ทำการปรับปรุงภาษาไทยให้ดูสวยงามขึ้น ดังนี

32-bit version of Ubuntu,

cd /opt/google-earth/
sudo mv libQtCore.so.4 libQtCore.so.4.bak
sudo mv libQtGui.so.4 libQtGui.so.4.bak
sudo mv libQtNetwork.so.4 libQtNetwork.so.4.bak
sudo mv libQtWebKit.so.4 libQtWebKit.so.4.bak
sudo ln -s /usr/lib/libQtCore.so.4.4.3 libQtCore.so.4
sudo ln -s /usr/lib/libQtGui.so.4.4.3 libQtGui.so.4
sudo ln -s /usr/lib/libQtNetwork.so.4.4.3 libQtNetwork.so.4
sudo ln -s /usr/lib/libQtWebKit.so.4.4.3 libQtWebKit.so.4


(ได้มาจากกระทู้ http://forum.ubuntuclub.com/forum?topic=4765.0, http://forum.ubuntuclub.com/forum/topic,11520.0)
(แก้ภาษาไทย : http://simos.info/blog/archives/872)

วันจันทร์ที่ 28 ธันวาคม พ.ศ. 2552

Ubuntu Crazy

จากกระแสลิขสิทธิ์ เลยทำให้หันเหมาเล่น ubuntu ที่เขาเล่าลือกันว่า desktop สวยไม่แพ้ windows แล้วก็ตกหลุมรักไปอีกคน งดงามไม่มีที่ติ

เริ่มทำการปรับแต่ง
1 ทำ grave เพื่อเปลี่ยนภาษา เหมือนใน windows

ดาวน์โหลดตัว xkb-data-grave.deb มาแล้วติดตั้งด้วยคำสั่ง
$ sudo dpkg -i xkb-data-grave.deb

วันพุธที่ 9 ธันวาคม พ.ศ. 2552

Ubuntu 9.10 Desktop ทางเลือกใหม่

กระแสตรวจจับซอร์ฟแวร์ละเมิดลิขสิทธิ์กำลังมาแรง ใครๆ ที่เป็นสาวก Microsoft ทั้งหลาย ต้องลองครับ Ubutu 9.10 (www.ubuntu.com)

วันพฤหัสบดีที่ 6 สิงหาคม พ.ศ. 2552

PHP

สำหรับคนเขียนเว็บ คงไม่มีใครไม่รู้จักภาษา PHP มันยอดเยี่ยมมากเลยขอบอก บอกตรง ๆ ผมไม่ได้จบทางสายคอมพิวเตอร์มาเลย
ผมจบเพียวภาษาอังกฤษ(ตรี+โท) แต่หงัยพอได้สำผัสกับเจ้า PHP นี้ มันหลงไหลโงหัวแทบไม่ขึ้น เป็นอะไรที่ท้าทายอีกแบบหนึ่ง
ไม่แพ้ FreeBSD ซึ่งทั้งสองตัวนี้ไปด้วยกันได้เป็นปี่เป็นขลุ่ย อยากให้ทุกคนได้ศึกษาครับ เป็น Opensource ด้วยน๊ะ

มาลองแบบเริ่มต้นดูครับ

ก่อนอื่น ต้องติดตั้ง Appserv ก่อน หรือใครจะใช้ Software อื่น ๆ จำลองเครื่อง PC ของเราเป็น Server ก็มิขัด เพราะเจ้า PHP นี้เป็น Server Side Script คือทำงานที่ฝั่งของ Server เท่านั้น

เมื่อ Appserv ติดตั้งเสร็จเรียบร้อยแล้ว เครื่องมือที่ใช้ในการเขียน PHP นั้น อย่างง่ายที่สุดครับ ใช้ Notepad ที่มาพร้อมกับ Windows หรือใช้ TextEditor อื่น ๆ ก็ได้ ของผมใช้ Editplus ครับ

ลองมาเริ่มกันดูครับ เอาง่าย ๆ ก่อนครับ


?>


นี่คือ Script ของ PHP ครับ หรือจะเขียนแบบสั้น ๆ ก็ได้ เช่น

?>

แต่ต้องตรวจสอบการกำหนดค่า short_open_tag ของ PHP ที่ Server ก่อน ถ้าค่าเป็น Off เดี๋ยวขึ้นหน้าขาว ทางที่ดี
เขียนเต็ม ๆ แบบข้างบนปลอดภัยที่สุดครับ ตรงระหว่าง tag เปิดและปิด คือสิ่งที่เราจะเขียนลงไปครับ

//สร้างค่าตัวแปรชื่อ $a มีค่าว่า วันนี้ฉันได้ลองเขียน PHP เป็นวันแรก
$a = "วันนี้ฉันได้ลองเขียน PHP เป็นวันแรก";

//ทำการแสดงค่า $a ออกมาครับ
echo $a;
?>

จะสังเกตได้ว่า เวลาที่เราจบบรรทัดทุกครั้งนี่จะต้องมีเครื่องหมาย ; ด้วยครับ ไม่งั้นจะแสดง Error ออกมาทันที
สิ่งที่เรานำมาแสดงจะใช้คำสั่งว่า echo หรือ printก็ได้ครับ
ดูแล้วไม่ยากใช้ใหมครับ
โอกาสต่อไปจะมาร่ายกันต่อ ไปสอนก่อน

Squid Dealy Pools

ไม่ว่างได้แวะเวียนเข้ามาเสียนาน เพราะงานและเรียนที่ยุ่งเหมือนใยแมงมุม เลย วันนี้มีปัญหากับ Delay Pools ที่เข้าใจยากเหลือเกิน งมความรู้ใน CyberSpace อยู่นาน เจอบทความนี้ เลยบันทึกไว้ก่อน..กันลืม ขอบคุณ คุณ shadows00 จาก Board Thaiadmin กระทู้ http://www.linuxthai.org/forum/index.php?topic=472.0 เป็นอย่างสูง


acl all src 0.0.0.0/0.0.0.0 #กำหนดทุก ip และทุก network ก็คือทุกเครื่องนั่นเอง
acl bitclient src 192.168.1.101 # กำหนดให้ใช้เครื่องไหนในร้านเพื่อให้โหลดบิตได้ (เครื่องเดียว)
acl GAMESERVER dstdom_regex patch asiasoft asianet audition cabal fsonline ghostonline ini3\. maplestory playarcade playpark ragnarok tsonline yulgang hipstreet lunaonline pangya ran.in.th raycity sa.in.th sf.gg suddenattack talesrunner winner\. #กำหนด regular expression สำหรับ domain เกมส์ออนไลน์ ซึ่ง acl นี้จะกำหนด กลุ่มคำที่ระบุถึงเกมส์ออนไลน์ทุกเกมส์
acl UNLIMITTIME time SMTWHFA 00:00-07:00 # กำหนดช่วงเวลาเพื่อกำหนดใน delay pools
acl magic_words1 urlpath_regex \.3gp$ \.aac$ \.ac3$ \.act$ \.aiff?$ \.amr$ \.asf$ \.au$ \.avi$ \.b5t$ \.bin$ \.bwt$ \.cab$ \.ccd$ \.cdi$ \.cue$ \.dat$ \.dct$ \.divx?$ \.dss$ \.exe$ \.flac$ \.fli$ \.flv$ \.gho$ \.gsm$ \.gz$ \.ifo$ \.img$ \.iso$ \.m4a$ \.mp[2-4]$ \.mov$ \.mpe$ \.mpga?$ \.mpeg$ \.mds$ \.nrg$ \.ogg$ \.pdi$ \.qt$ \.ram?$ \.ra[rw]$ \.rcd$ \.rec$ \.rmvb$ \.rmj?$ \.rpm$ \.sea$ \.shn$ \.sri$ \.swf$ \.tar$ \.tgz$ \.vo[bx]$ \.vqf$ \.wav$ \.wm[av]$ \.zip$ # กำหนดประเภทไฟล์ที่จะบีบความเร็ว ใน delay pools
acl bitword urlpath_regex passkey \.torrent # กำหนดคำ ที่จะใช้ตรวจสอบการดาวน์โหลด bitterrent
acl QUERY url_regex -i cgi-bin [^pxz]\? photos[1-9] \.D$ \.ini$ \.dll$ \.inf$ \.Xt \.xtp Loader\.exe 1st$ update.cfg\? urlinfo\.ini$ updatelist patch_lv1 notice_popup ProjectG.exe.zip$ start/ucg UCG\.DAT$ UCGA?\.exe$ version\.cfg$ # กำหนดกลุ่มคำ ที่อยู่ใน url เพื่อไม่ให้ใช้ข้อมูลใน cache และไม่ให้เก็บ cache ไฟล์ซึ่งมี url เป็นคำเหล่านี้
http_access allow bitclient bitword # อนุญาติให้เครื่อง ip ที่กำหนดใช้บิตได้
http_access deny bitword # นอกนั้นใช้บิตไม่ได้
http_access allow all # นอกนั้นให้ใช้งาน squid ได้หมด

# DELAY_POOLS
# ---------------------------------------------------------
delay_pools 1 #กำหนดให้มี delay pools จำนวน 1 pool
delay_class 1 2 # กำหนดให้ pools ที่ 1 ใช้งานแบบ class 2 คือ จำกัดความเร็วแบบรวม และ แบบแยกรายเครื่อง(ip)
delay_parameters 1 750000/750000 200000/200000 # จำกัดความเร็วของ pool ที่ 1 ไว้ที่ 750000 kbyte/sec หรือ 750Kbyte/sec และจำกัดความเร็วรายเครื่องไว้ที่ 200 Kbyte/sec
delay_access 1 allow magic_words1 !GAMESERVER !UNLIMITTIME #เงื่อนไขที่ไฟล์ใดๆ จะตกลงสู่ delay pools นี้เป็นดังนี้
เป็นไฟล์ที่มีนามสกุลตาม acl magig_word1 และ ไม่ใช่มีชื่อ domain ตามคำใน acl GAMESERVER และ ไม่ใช่อยู่ในช่วงเวลาตาม acl UNLIMITIME เราใช้ AND นะครับ นั่นคือ 3 พจน์ต้องเป็นจริง ไฟล์ที่ถูกตรวจสอบนั้นจึงจะตกเข้าไปใน delay pools นี้ เพื่อบีบความเร็ว
ดังนั้น ถ้าเป็น GAMESERVER จะไม่ตกเข้าไป รวมทั้ง ถ้าในเวลาที่ไม่จำกัดความเร็ว ก็ไม่ตกเข้าไป
delay_access 1 deny all # ส่วนไฟล์อื่น ๆ นอกจากเงื่อนไขข้างบนนั้น ไม่ให้ตกเข้าไปใน delay pools ที่ 1 นี้
# DNS OPTIONS
#----------------------------------------------------------
ipcache_size 3072 # สร้างที่เก็บค่า domain name <--> IP ไว้ 3072 ปกติ 1024

# MEMORY CACHE OPTIONS
# ---------------------------------------------------------
cache_mem 1024 MB # ใช้หน่วยความจำมาทำ cache เพื่อให้ทำงานได้เร็ว ประมาณ ครึ่งหนึ่งของ RAM ที่มี
maximum_object_size_in_memory 8 MB # ขนาดของไฟล์ที่จะ cache ในหน่วยความจำ
memory_replacement_policy heap LFUDA # กำหนดนโยบายของการแทนที่
ipcache_high 98 # เมื่อเก็บ ipcache เต็มถึง 98% จะต้องล้างออก
ipcache_low 93 # โดยล้างออกให้เหลือ 93% การล้าง cache นั้นทำงานแบบอัตโนมัติแบบ Quantum คือเอาออกเป็นก้อนครั้งเดียว
# DISK CACHE OPTIONS
# --------------------------------------------------------
cache_dir aufs /home/spool/squid 4096 16 256 # กำหนด dir ที่เก็บ cache และขนาดที่ใช้ 4GB
maximum_object_size 32 MB # ไฟล์ที่ใหญ่ที่สุดไม่เกิน 32MB
cache_replacement_policy heap LFUDA
store_dir_select_algorithm round-robin
cache_swap_high 98 # เมื่อเก็บ cache ถึง 98% ของจำนวนสูงสุดที่ระบุไว้ (4GB) ให้เริ่มล้าง cache อัตโนมัติ
cache_swap_low 93 # โดยล้าง cache ให้เหลือเพียง 93% ซึ่งการล้างออกจะล้างออกแบบ Quantum เป็นก้อนเดียวครั้งเดียวแล้วจึงเริ่มสะสมใหม่ ดังนั้นการล้างจะล้างcache ที่เก่าแล้วออก 5% โดยอัตโนมัติ หรือประมาณ 5x4000/100 = 200 MB จังหวะนี้ CPU จึงขึ้นไปถึง 100%ได้ กรณีเครื่อง CC ที่ช้าๆ
# HTTP OPTIONS
#-----------------------------------------------------------
ie_refresh on
vary_ignore_expire on

# LOGFILE OPTIONS
# ----------------------------------------------------------
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log none
logfile_rotate 90
pid_filename /var/run/squid.pid
buffered_logs off
strip_query_terms off

# MISCELLANEOUS
# ----------------------------------------------------------
pipeline_prefetch on

# OPTIONS FOR FTP GATEWAYING
#-----------------------------------------------------------
ftp_passive on
ftp_sanitycheck on

# OPTIONS FOR TUNING THE CACHE
# -----------------------------------------------------------
cache deny QUERY # ไม่ให้เก็บ cache
quick_abort_min 0 KB # ไม่เก็บไฟล์ที่เสียหายหรือไม่ครบ มีการยกเลิกก่อนจะโหลดครบ
quick_abort_max 0 KB # ไม่เก็บไฟล์ที่เสียหาย หรือไม่ครบ มีการยกเลิกก่อนจะโหลดครบ
# ต่อไปนี้คือการทำ refresh pattern เพื่อกำหนดเวลาที่จะ refresh หรือ ให้ตรวจสอบหรือดึงมาใหม่ ของประเภทไฟล์ที่ไม่ได้กำหนดวันหมดอายุมา
# ตรงนี้สำคัญมาก ที่จะทำให้เกมส์ เก็บแพทหรือไม่ อยู่ตรงนี้ ให้ไปอ่านเรื่อง refresh_pattern ที่มีผู้บรรยายไว้แล้ว ผมจะไม่กล่าวซ้ำอีกrefresh_pattern -i \.(htmlhtm/)$ 60 20% 720
refresh_pattern -i \.(asp\?aspx\?php\?) 0 20% 720
refresh_pattern -i \.(aspaspxphp)$ 0 20% 720
refresh_pattern -i \.(jpggifjpegpngcssjsbmptiftiffxbmpngswf)$ 0 100% 14400
refresh_pattern -i \.(exezipgzarjlhalzhrartgztarZ)$ 4320 80% 43200 override-lastmod reload-into-ims ignore-reload
refresh_pattern ^http://patch.sf.* 4320 100% 43200 ignore-reload override-lastmod reload-into-ims
refresh_pattern ^http://update.cabal.* 4320 100% 43200 ignore-reload override-lastmod reload-into-ims
refresh_pattern ^http://download.cabal.* 4320 100% 43200 ignore-reload override-lastmod reload-into-ims
refresh_pattern ^ftp: 0 20% 4320
refresh_pattern . 0 20% 4320

# OPTIONS INFLUENCING REQUEST FORWARDING
#------------------------------------------------------------
prefer_direct on

# TIMEOUTS
# -----------------------------------------------------------
half_closed_clients off

# ADMINISTRATIVE PARAMETERS
# -----------------------------------------------------------
cache_mgr wecareyou2002@hotmail.com
visible_hostname www.wecareyou.com


ศึกษาดูนะครับพอเป็นแนวๆได้ครับ

ที่เป็นตัวฉัน

รูปภาพของฉัน
เรียนภาษาอังกฤษมา แต่ชีวิตผกผันให้ต้องมาเป็น admin ซะนี่ เล่นเอาซะมึน และงงตามลำดับ คิดอย่างเดียวว่า เป็นอะไรเป็นได้ถ้าใจอยากเป็น อุปสรรคคือแบบฝึกหัด ท้อแต่ไม่เคยถอย คิดไว้เสมอ ความพยายามอยู่ที่ไหน ความสำเร็จอยู่ที่นั่น ถ้าพยายามก่อน ก็ชนะแล้ว 50% อีก 50 % ใช้ความสามารถเอาเอง