linux

Taking Screenshots of Websites Without Opening Browsers

พอดีได้รับมอบหมายงานจากหัวหน้า ว่าทำยังไงก็ได้ ให้มีรูปพยากรณ์อากาศจากเว็บกรมอุตุฯ มาโชว์บนจอ LCD โดยอัพเดตทุกๆ ชั่วโมง การเอามาโชว์นั้นไม่ยาก เพราะแค่อัพโหลดไฟล์ตามขนาดที่กำหนดเข้าเซิร์ฟเวอร์ หลังจากนั้นโปรแกรมมันจะจัดการให้เอง

รูปที่ต้องการนั้น 2 ใน 3 สามารถโหลดมาใช้งานได้เลย เพราะเป็นไฟล์ .jpg ธรรมดา ปัญหาคือรูปอุณหภูมิสูงสุด-ต่ำสุดประจำวัน ที่มันดันเป็น Flash ทางออกที่คิดว่าง่ายที่สุดคือ capture หน้าจอมันมาดื้อๆ นี่แหละ

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

Read the rest of this entry »

One Manga Downloader (Shell Script) v1.0

Updated

อยากอ่านการ์ตูนย้อนหลังใน One Manga แต่ขี้เกียจคลิกทีละหน้า เลยเขียน shell scipt บน Cygwin ให้โหลดมาทีละ chapter แล้วเซฟเป็นไฟล์ .cbr จะได้เลือกอ่านได้ง่ายๆ

สคริปต์ที่ใช้ก็ประมาณนี้

#!/bin/bash
 
base_url="http://www.onemanga.com"
manga_name=$1
chapter=$2
last_chapter=$3
 
if [[ "${last_chapter}" == "" ]]; then
    last_chapter=${chapter}
fi
 
while [[ ${chapter} -le ${last_chapter} ]]
do
    next_page_chapter=$chapter
    page_location=`curl -s ${base_url}/${manga_name}/${chapter}/ | grep -i "begin reading" | awk -F\" '{print $2}'`
 
    while [[ $next_page_chapter -eq $chapter ]]
    do
        curl -s ${base_url}${page_location} > tmp_page
 
        image_location=`grep "class=\"manga-page\"" < tmp_page | awk -F\" '{print $4}'`
 
        if [[ "$image_location" != "" ]]; then
            wget $image_location
        fi
 
        page_location=`grep "value=\"next page\"" < tmp_page | awk -F\' '{print $2}'`
        next_page_chapter=`echo ${page_location} | cut -d\/ -f3`
    done
 
    /cygdrive/c/Program\ Files/WinRAR/Rar.exe a ${manga_name}_${chapter}.cbr *.jpg
    rm *.jpg
 
    chapter=$((chapter+1))
done
 
rm tmp_page

สร้าง directory ใหม่ซักอันนึง แล้วเซฟ shell script ข้างบนเป็นไฟล์ชื่ออะไรก็ได้ เช่น onemanga.sh แล้วสั่ง chmod +x onemanga.sh เพื่อให้สามารถ execute ได้

วิธีใช้ก็เรียกสคริปต์ ตามด้วยชื่อเรื่อง (หาจาก URL ใน One Manga), chapter เริ่มต้น และ chapter สุดท้าย เช่น

./onemanga.sh Hajime_no_Ippo 800 824

หรือถ้าต้องการแค่ chapter เดียว ก็ไม่ต้องใส่ chapter สุดท้าย

./onemanga.sh One_Piece 516

ปล. ถ้ารันบน Cygwin ต้องลง cURL กับ wget ด้วย (เลือกจากใน setup.exe) ถ้ารันบนลินุกซ์ หรือไม่ได้ใช้ WinRAR ก็ต้องแก้บรรทัดที่เรียก Rar.exe เป็นอย่างอื่นแทน :P

Hardy's Here!

วันนี้เพิ่งได้ CD Ubuntu 8.04 (Hardy Heron) ที่สั่งจาก ShipIt ครับ

หน้าตาซองเป็นแบบนี้ (ขอปิดที่อยู่หน่อยนึง เผื่อมีเจ้าหนี้ตามอ่านบล็อกอยู่ :P)

Front Envelope

Read the rest of this entry »

Synchronizing Firefox Bookmarks on Windows and Linux

ช่วงนี้เริ่มมึน บางทีเรื่องง่ายๆ ก็ใช้เวลาตั้งนานกว่าจะคิดออก =.=

อยาก sync bookmarks ของไฟร์ฟอกซ์บนวินโดวส์กับลินุกซ์ ก็แค่เข้าไปลบ bookmarks.html ใน ~/.mozilla/firefox/xxxxxxxx.default/ ทิ้งซะ แล้วสร้างลิงค์ไปยังไฟล์ bookmarks.html บนวินโดวส์แทน

ln -s /path/to/firefox/profile/on/windows/bookmarks.html ~/.mozilla/firefox/xxxxxxxx.default/

ขอบคุณ ntfs-3g -- เขียนไฟล์ลงบน NTFS ได้ ชีวิตสะดวกขึ้นเยอะ

Settle Down with Linux

หลังจากลองเล่น Ubuntu โดยใช้ตัวติดตั้งบนวินโดวส์ได้สักพัก ก็ตัดสินใจแบ่งพาร์ทิชัน ลงลินุกซ์ให้เป็นเรื่องเป็นราว แน่นอนว่าดิสโทรที่ผมเลือกคือ... Gentoo (อ้าว!?)

ไม่ใช่ว่า Ubuntu ไม่ดีหรือว่าอะไรนะ แต่หลังจากเปรียบเทียบสองดิสโทรนี้แล้ว พบว่า

Ubuntu 7.04 (wubi):

Pros:

  • ติดตั้งเร็ว, ง่าย, ใช้งานได้แบบเกือบจะ out-of-the-box (ผมมีปัญหากับไดรเวอร์การ์ดจอ)
  • productivity สูง เพราะมีโปรแกรม pre-installed มาให้หมดแล้ว (ยกเว้น multimedia) ใช้งาน office ทั่วๆ ไปได้สบาย
  • community ใหญ่และ friendly มาก เข้าไป ubuntuforums.org นี่หาอะไรก็เจอ แถมเป็น howto แบบที่คนแค่ copy/paste เป็นก็ทำตามได้
  • หน้าตาเวลาใช้งานปกติดูดี ใช้แล้วคนอื่นเดินมาถามว่าใช้ theme วินโดวส์ชื่ออะไร สวยดี เหมาะจะใช้โน้มน้าวเพื่อนให้มาลองลินุกซ์
  • ระบบอัพเดตอัตโนมัติ
  • ระบบแนะนำว่าต้องติดตั้ง package อะไรเพิ่ม ในกรณีที่พิมพ์ชื่อโปรแกรมไปแล้วมันไม่มีอยู่ในระบบ

Cons:

  • การทำงานโดยรวมค่อนข้างช้า... ไม่รู้ว่าเป็นเพราะรันบน virtual disk หรือเปล่า แต่คิดว่าน่าจะเป็นเพราะการพยายามทำให้มัน work out-of-the-box ด้วย
  • ผมเกลียด nm-applet (Network Manager) ยิ่งใช้กับ wireless ที่เป็น WEP ไม่รู้ทำไมมันเวิร์กมั่งไม่เวิร์กมั่ง สุดท้ายเข้าไปแก้ไฟล์ /etc/network/interfaces เอาเอง ง่ายกว่าเยอะ
  • เจอ dependency ประหลาดๆ เช่น gaim เป็น dependency ของ gnome-desktop ถ้าจะลง pidgin ต้อง uninstall gaim และ gnome-desktop ออก และพอลง pidgin แล้วจะ install gnome-desktop กลับ มันไม่ยอม เพราะมันต้องติดตั้ง gaim ด้วย แต่ gaim กับ pidgin อยู่ร่วมโลกกันไม่ได้ =.=
  • ผมไม่ใช้ Evolution ทำไมต้องลงมาให้ด้วย (ความรู้สึกแนวๆ เดียวกับการถูกยัดเยียด IE + Outlook Express บนวินโดวส์)

Gentoo:

Pros:

  • ทำงานเร็ว... เร็วกว่า Ubuntu แบบเห็นได้ชัด
  • มีโปรแกรมเฉพาะที่อยากใช้จริงๆ เพราะต้องลงเองหมด :P
  • ลองโปรแกรมใหม่ๆ ได้สะดวก (ไม่มีใน portage ก็เอาซอร์สมาคอมไพล์เองก็ได้) ไม่ติด dependency ประหลาดๆ ผมลง gnome-light แล้วก็ลง pidgin ได้ไม่มีปัญหา
  • forums.gentoo.org ก็มีทุกสิ่งที่ต้องการเหมือนกัน แถมบางครั้งจะได้รายละเอียดระดับลึกๆ ด้วย
  • Gentoo is about choices.
  • เท่... เวลามีคนอื่นเดินมาดู แล้วเห็นว่ามันกำลัง compile โปรแกรมอยู่
  • ลุ้น... ว่าคอมไพล์เคอร์เนลใหม่แล้วมันจะบูตได้ หรือจะขึ้น kernel panic xD
  • เป็นหนึ่งใน My New Year's Resolution (เกี่ยวมั้ย!?)

Cons:

  • productivity ต่ำติดดิน เวลาจะใช้โปรแกรมใหม่ที ต้องรอมันคอมไพล์ก่อน ยิ่งพวก Firefox หรือ OpenOffice.org นี่ รอไปเถอะกว่าจะได้ใช้ -_-"
  • ถ้าใช้ ACCEPT_KEYWORDS="~x86" ต้องทำใจว่าบางครั้งอัพเดต world แล้วมันจะใช้การไม่ได้เหมือนเก่า
  • ไม่เหมาะถ้าจะใช้โน้มน้าวเพื่อนให้ลองลินุกซ์ แค่เห็นว่ากำลังคอมไพล์โปรแกรม ก็เดินหนีกันแล้ว
  • อยากได้อะไรต้องลงเองหมด (อ้าว แล้วเมื่อกี๊บอกว่าดี)
  • เปลืองเนื้อที่ hdd เพราะต้องใช้เก็บ source, ใช้ compile โปรแกรม (ตอนคอมไฟล์ OpenOffice.org นี่หายไป 2GB ได้)

เนื่องจากไม่คิดจะใช้ลินุกซ์เป็น OS หลักบนโน๊ตบุ๊ค เลยคิดว่า Gentoo นี่แหละเหมาะแล้ว เพราะ flexible กว่า Ubuntu และ customize ได้ตามใจมากที่สุด

นอกจากนี้ด้วยความที่หายไปนาน ทำให้เพิ่งรู้ว่าเดี๋ยวนี้ Gentoo มี tools ดีๆ เพิ่มมาหลายตัว ไม่ว่าจะเป็น eix, euse, หรือ layman ทำให้ใช้งานง่ายขึ้นมาอีกระดับนึง และยังมีดิสโทรลูกอย่าง Sabayon ที่ติดอันดับท๊อป 5 ใน DistroWatch ด้วย