msgbartop
Just another blog of mine
msgbarbottom

02 Jun 09 Scroll Wheel บน Bluetooth Mouse

วันนี้ลองใช้ Bluetooth Mouse ที่มีอยู่ หลังจากที่ไม่ได้ใช้มานาน (หลังๆ ใช้แต่ touchpad จนนิ้วเริ่มสึก) ปรากฏว่าไม่สามารถใช้ scroll wheel ได้ แถม Ubuntu รุ่นหลังๆ ใช้ HAL ทำให้ไม่สามารถแก้ข้อกำหนดเกี่ยวกับ mouse ในไฟล์ xorg.conf ได้

วิธีการแก้ไขจะต้องไปสร้างไฟล์ชื่ /etc/hal/fdi/policy/mouse.fdi แล้วใส่

<?xml version="1.0" encoding="UTF-8"?> 
 
<match key="info.product" string="Mouseemu virtual mouse">
 <merge key="input.x11_options.ZAxisMapping" type="string">4 5</merge>
</match>

เพื่อเพิ่ม option ที่เกี่ยวกับ scroll wheel สำหรับ mouse สุดท้ายรีบูทเครื่องใหม่ ก็เรียบร้อย

Tags: , ,

22 May 09 PDFCrop

เวลาใช้ Tikz หรือ PGF สร้างภาพประกอบ หรือแผนภาพต่างๆ ผมจะพบปัญหาเวลา ต้องการนำรูปนั้นไปใช้ในสถานกรณ์อื่น เช่น เดิมเคยเขียนไว้สำหรับรายงาน แล้วอยากเปลี่ยนขนาดใหม่เอาไปใช้ประกอบสไลด์ อันที่จริง Tikz ก็มีตัวเลือก scale มาให้สำหรับปรับเปลี่ยนขนาดให้พอเหมาะ แต่ก็ยังมีปัญหาที่ขนาดตัวอักษรอีก (หรือผมทำไม่เป็นก็ไม่รู้) ต้องแก้ไขฟอนท์ ทำให้ยุ่งยากพอสมควร

ผมก็เลยคิดจะเปลี่ยนจากการแปะคำสั่งวาดภาพไปในไฟล์ตรงๆ เขียนไฟล์ LaTeX ต่างหากสำหรับรูปแต่ละรูป ทำเป็น PDF แล้วค่อยเอาไปแปะทีหลัง ซึ่งจะทำให้การปรับเปลี่ยนขนาด ทำได้ง่ายมากๆ ลองหาดูในที่ต่างๆ สุดท้าย ก็เจอโปรแกรม PDFCrop เป็นสคริปต์ที่มากับแพคเกจ texlive-extra-utils บน Ubuntu โปรแกรมนี้ทำหน้าที่ตัดขอบว่างๆ ทั้งหมดของรูปออก ทำให้สามารถใช้ includegraphics แปะเข้าไปในไฟล์อื่นได้ง่ายๆ วิธีใช้ก็คือ

$ pdfcrop myfig.pdf

Tags: ,

21 May 09 เพิ่มเลขหน้าให้ PDF

การใช้ LaTeX ทำสไลด์สำหรับใช้สอนหนังสือ จะมีความลำบากนิดหน่อยในการเตรียม handout สำหรับแจกนักศึกษา (จริงๆ แล้ว ไม่ค่อยอยากแจกเท่าไหร่ พอมีสไลด์ครบแล้ว ส่วนใหญ่ก็จะคุยกันเยอะ) ถ้าใช้ Beamer ก็จะมีแพคเกจ pgfpages มาให้ใช้สำหรับพิมพ์สไลด์หลายๆ หน้ารวมกันในหน้าเดียวอยู่แล้ว แต่ผมชอบใช้โปรแกรม pdfnup ที่มาพร้อมกับแพคเกจ pdfjam บน Ubuntu มากกว่า วิธีใช้ก็ง่ายๆ เช่น

$ pdfnup --nup 2x2 --frame true myslides.pdf

จะได้ผลลัพธ์เป็นไฟล์ PDF ชื่อ myslides-2×2.pdf วางสไลด์สี่หน้าต่อหนึ่งแผ่น แบบ 2 คูณ 2

ทีนี้ทุกเทอมก็ใช้อย่างนี้มาตลอด มาเทอมนี้อยากให้มีเลขหน้าเพิ่มเข้าไปด้วย จะได้เรียงลำดับหน้าต่างๆ ได้ไม่ยาก (ปกติร้านถ่ายเอกสารจะใช้มือเขียนเลขหน้าให้) วิธีที่ง่ายที่สุดก็คือไปหา Adobe Acrobat ตัวจริงมา จะมีฟังก์ชันให้ใส่เลขหน้าโดยอัตโนมัติ แต่เนื่องจากเราไม่อยากเสียตังค์ ก็เลยมานั่งดูโปรแกรม pdfnup ว่าจริงๆ เป็นสคริปต์ที่สร้างไฟล์สำหรับ pdfLaTeX ที่ใช้แพคเกจ pdfpages เพื่อเอาหน้าหลายๆ หน้ามาเรียงไว้ในหน้าเดียวกัน ซึ่งจะเรียงแบบหนึ่งหน้าต่อหนึ่งหน้าก็ได้ เลยลองเล่นดู ใช้แพคเกจ fancyhdr ของ LaTeX มาช่วยกำหนดตำแหน่งเลขหน้า สุดท้ายได้ไฟล์สำหรับใส่เลขหน้าอัตโนมัติมา

\documentclass{article}
 
\usepackage[final]{pdfpages}
\usepackage[paper=a4paper,landscape,tmargin=2cm,bmargin=2.3cm,lmargin=2.5cm,rmargin=1.5cm]{geometry}
\usepackage{fancyhdr}
 
\setcounter{page}{..PAGE..}
\pagestyle{fancy}
\lhead{My Course}
\cfoot{}
\rfoot{{\LARGE\thepage}}
\renewcommand {\headrulewidth}{0pt}
\renewcommand {\footrulewidth}{0pt}
 
\begin{document}
	\includepdfset{pages=-,pagecommand=\thispagestyle{fancy}}
	\includepdf[fitpaper=true,scale=1]{..FILE..}
\end{document}

และเพื่อให้เกิดความสะดวกในการทำงาน ก็เลยไปเขียนสคริปต์มาอีกอันหนึ่ง ใช้ sed แก้ไข ..PAGE.. และ ..FILE.. ใน LaTeX ให้เป็นเลขหน้าเริ่มต้น และชื่อไฟล์ PDF ที่ต้องการ

#!/bin/sh
 
filename=$1
pagenumber=$2
newname=${1%.pdf}-p.tex
sed -e "s/\.\.FILE\.\./"$filename"/g" -e "s/\.\.PAGE\.\./"$pagenumber"/g" < page.tex > $newname
 
pdflatex $newname
pdflatex $newname
rm $newname
rm ${newname%tex}log

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

Tags: , , , ,

19 May 09 สำรองข้อมูลด้วย dirsplit

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

วันนี้ลงค้นๆใน apt-get ของ Ubuntu ดู พบว่ามีคนทำเครื่องมือช่วยจัดการปัญหานี้ คือเป็นสคริปต์เล็กๆ ที่ชื่อว่า dirsplit ที่มาพร้อมกับแพคเกจ genisoimage โปรแกรมนี้ทำหน้าที่สร้างลิสต์ของไฟล์ เพื่อเขียนไดเรคทอรีใหญ่ๆ ลงแผ่น CD/DVD โดยโปรแกรมจะจัดไฟล์ให้เราตามขนาดไฟล์ เราสามารถกำหนดได้ว่าจะสร้าง catalog แต่ละแผ่นใหญ่แค่ไหน (default คือขนาด DVD) วิธีใช้ก็คือ

$ dirsplit -e2 --prefix mybackup ./mydir1 ./mydir2

ตัวเลือก -e2 ใช้กำหนดวิธีการคำนวณและรวมขนาดไฟล์ มีอยู่หลายวิธี ผมเห็นตัวอย่างใช้วิธีนี้ก็เลยใช้ตาม ส่วน –prefix ใช้กำหนดชื่อไฟล์ catalog ที่สร้างขึ้น อย่างกรณีนี้ ก็จะได้ mybackup1.list mybackup2.list … ไปเรื่อยๆ ตามไฟล์ที่เรามี

เมื่อสร้าง catalog เสร็จ ก็ต้องนำมาสร้าง ISO image ซึ่งจะเป็นการไปดึงไฟล์จริงมารวมไว้ วิธีใช้ของ dirsplit ก็มีวิธีสร้าง ISO มาให้ด้วย คือ

$ mkisofs -D -r --joliet-long -graft-points -path-list mybackup1.list -o mybackup1.iso

เพียงเท่านี้ก็จะได้ image สำหรับเขียนลงแผ่น ก็สามารถใช้โปรแกรมที่ชื่นชอบเขียนได้ ผมขี้เกียจใช้ GUI ก็ใช้โปรแกรม wodim โดยตรง

$ wodim -v dev=/dev/scd0 speed=8 mybackup1.iso

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

Tags: , , , ,

18 May 09 เทวากับซาตาน

เมื่อวานแวะไปดูหนังเรื่อง “เทวากับซาตาน” หรือ “Angels and Demons” มา เนื่องจากเคยอ่านหนังสือเรื่องนี้มาก่อน ทำให้อยากดูเป็นพิเศษ

  • หนังเรื่องนี้สร้างจากนิยายของแดน บราวน์ เป็นเรื่องการสืบสวน และผจญภัยของ ศ.โรเบิร์ต แลงดอน ผู้เชี่ยวชาญทางด้านสัญลักษณ์จากฮาร์ดวาร์ด โครงเรื่องไม่ต่างจากเรื่อง Davinci Code เท่าไหร่ แต่เนื้อเรื่องจะเกี่ยวกับสมาคมลับที่ชื่อว่า Illuminati ซึ่งตั้งขึ้นมาเพื่อต่อต้านคริสตจักรโรมันคาทอลิก เนื่องจากเห็นว่าศาสนจักรพยายามต่อต้าน และทำลายล้างวิทยาศาสตร์ สมาคมนี้จึงต้องการเอาคืน และได้เกิดการวางแผนสร้างสถานการณ์ต่างๆ ในโอกาสที่สมเด็จพระสันตะปาปาสิ้นพระชนม์
  • แม้ว่าจะสร้างจากนิยาย แต่การดำเนินเรื่องก็ไม่ได้อิงตรงๆ กับนิยาย แต่มีการตัดทอนรายละเอียดออกไปเยอะพอสมควร มีตัวละครบางตัวหายไป (เช่น นักข่าว หรือผู้อำนวยการของ CERN) เครื่องบินล้ำยุคก็หายไป ตัวละครบางตัวถูกจับรวมกัน รายละเอียดของตัวละครบางตัวหายไป อาจถูกลดฐานะลง แต่โดยรวมๆ แล้วผมไม่รู้สึกว่าทำให้เนื้อหาหลักของเรื่องเปลี่ยนไป แถมยังทำให้กระชับมากขึ้น สมจริงขึ้น
  • เรื่องราวต่างๆ เกิดขึ้นในโรม และวาติกันเป็นหลัก ดูแล้วทำให้รู้สึกว่าโรมและวาติกันเป็นเมืองศูนย์กลางคริสตจักรจริงๆ ตอนอ่านนิยายไม่ได้เห็นภาพสถานที่ต่างๆ ก็ไม่รู้สึกอะไรมาก แต่พอดูหนังแล้วทำให้อยากไปโรมและวาติกันสักครั้ง
  • จุดอ่อนที่ผมรู้สึก คือ หนังไม่ได้ลงรายละเอียดการคลี่คลายปริศนาต่างๆ ของแลงดอน คิดว่าคงเป็นเพราะไม่มีเวลาพอ ทำให้บทบาทด้านนี้ของแลงดอนด้อยไปหน่อย แถมบทนางเอกของเรายิ่งน้อยลงไปใหญ่ บางช่วงหายไปเลย แต่ผมชอบนางเอกคนนี้มากกว่าโซเฟียในเรื่องที่แล้วนะ ส่วนคนที่ต่างจากจินตนาการของผมมากที่สุด ก็เห็นจะเป็นกรมวังของพระสันตะปาปาองค์ที่สิ้นพระชมน์ในเรื่อง เพราะผมคิดไว้ว่าน่าจะแก่กว่านี้ แถมไม่น่าจะดูบึกบึนขนาดนั้น แต่เอาเถอะมันไม่ได้ทำให้เสียอรรถรสเท่าไหร่
  • ตอนผมอ่านนิยาย สมเด็จพระสันตะปาปาองค์ก่อนยังมีพระชนม์อยู่ เรายังไม่เคยเห็นข่าวเกี่ยวกับพิธีเลือกสมเด็จพระสันตะปาปาองค์ใหม่ แถมข่าวการทดลอง LHC ของ CERN ก็ยังไม่ดังขนาดนี้ ฉะนั้นเลยรู้สึกว่าหนังออกมาได้ถูกจังหวะ ทำให้น่าติดตามมากขึ้น

สรุปว่า น่าไปดู คนที่ยังไม่เคยอ่านหนังสือก็น่าจะดูได้ไม่ลำบากนัก เพราะไม่ได้เล่าเรื่องซับซ้อนอะไร ส่วนตัวแล้วอยากดูอีกสักรอบ (เอาไว้รออดีวีดีล่ะกัน)

Tags: ,