WordPress 2.6.3

บล็อกรายเดือนจริงๆ เลยเรา

วันนี้ลอง Login เข้าหน้า Admin สังเกตว่า Page View ตกวูบไปประมาณอาทิตย์นึง
เลยเอะใจว่า สงสัยจะมีปัญหา
แล้วก็มีจริงๆ ไม่สามารถเข้าหน้าหลักของบล็อกได้  (ทั้งๆ ที่เข้าหน้า Admin ได้)

ลอง Deactivate Plugin ทุกตัวก็แล้ว ก็ไม่เวิร์ค
ก็เลยลองอัพเกรด WordPress เป็น 2.6.3
และก็เปลี่ยน Theme เป็น Default ซะ
ก็สามารถเข้าหน้าหลักของบล็อกได้ โดยไม่มีปัญหา

แต่พอซุกซนไปเพิ่ม SECRET_KEY ใน wp-config.php ก็โป๊ะเชะได้เรื่อง
เข้าหน้า Admin ไม่ได้ซะงั้น เจอ Error ขึ้นมาว่า

“You do not have sufficient permissions to access this page.”

แต่แล้วก็หาทางแก้ได้จากหน้านี้ เค้าว่า

Make sure that you’re defining the SECRET_KEY before the require_once line for wp-config.

ก็เลยโอเค หาย ค่อยยังชั่วหน่อย

ปล้ำกับ WordPress

ตั้งแต่ Install WordPress ไป ทำการปลุกปล้ำมันไม่หลับไม่นอน ได้เรื่องดังนี้

  • ลง Akismet Plugin เอาไว้สู้กับ Spam (กันไว้ดีกว่าแก้)
  • ลง Code Markup Plugin เพราะมีปัญหากับการใช้ tag <code> กับ WordPress (กรณีที่ Code ยาวมาก) (Import Blog มาจาก Blog เก่าที่ Fotki)
  • ใช้ FeedBurner เพื่อเก็บสถิติว่ามีใครติดตาม Blog เรามั่ง
  • แก้ Style Sheet ให้แสดง Code ให้สวยๆ หน่อย (ให้เหมือนกับ Blog เก่าที่ Fotki)
  • แก้ Theme ที่ใช้ ลบข้อความเยิ่นเย้อด้านซ้ายของหน้า และแก้ให้แสดงเวลาที่ Post จริง
  • แก้ Main Index Template ให้แสดง Link Older Entries และ Newer Entries ที่ด้านล่างของหน้า (ไม่รู้เพราะ Theme ที่ใช้ไม่ Support หรืออย่างไร) โดยทำการเพิ่ม

    แต่ตอนแรกใช้แล้วไม่เวิร์ค ยังไงมันก็ไม่ยอมเปลี่ยนหน้าให้ เลยต้องมันอ่าน Query ชื่อ paged แบบ explicit โดยใช้ (ได้วิธีแก้มาจากกระทู้นี้)

  • แก้ให้หน้าแรกแสดงเต็มๆ ไม่ใช่แค่ย่อๆ (เปลี่ยนจากใช้ the_excerpt() เป็น the_content())

ลิงค์มีประโยชน์

  • WordPress Codex Documentation ของ WordPress มีประโยชน์มากพอควร
  • WordPress Wiki อันนี้ก็ดี แม้จะเก่าและล้าสมัยแล้ว (เค้าแนะนำให้ใช้ Codex)

ImageMagick Revisited

นั่งเขียน Perl Script ที่เรียกใช้ ImageMagick อีกที เพื่อจะย่อรูป/ทำกรอบ/แต่งรูปเล็กน้อย (Auto contrast/Unsharp Mask)
จริงๆ มันมี Module PerlMagick ให้ใช้ด้วย แต่ขี้เกียจดู
ตอนแรกว่าจะเขียนด้วย Batch file แต่ข้อจำกัดเยอะมาก

หา Option ใหม่ได้คือ

  • -equalize แต่ใช้แล้วสีเพี้ยน ยังหาวิธีแก้ไม่ได้
  • -gamma ใช้แล้วสว่างไปหน่อย
  • -encoding เซ็ตเป็น UTF-8 หรือ SJIS อะไรงี้ได้ แต่ภาษาไทยต้องใช้ UTF-8 เท่านั้น

เรื่องของเรื่องคืน ขี้เกียจมานั่งปรับ Photoshop ทีละอัน
แล้ว Action ใน Photoshop มันก็ไม่ยืดหยุ่นด้วย

Link อ้างอิงที่น่าสนใจ

ตัวโปรแกรมตั้งชื่อว่า batchframe.pl
คุณสมบัติคือ
– Normalize histogram
– ถ้าใช้ Option -eq ก็จัดการใช้ -equalize เวลาเรียก convert ของ ImageMagick ด้วย
– ย่อรูป
– Crop รูป
– Unsharp Mask
– ทำกรอบสีขาว
– มุมล่างขวาใส่ Copyright text
– ถ้าใช้ Option -text “any text” ที่มุมล่างซ้ายก็ใส่ custom text ด้วย

* Detect ได้ด้วยว่าเป็นรูปแนวตั้งหรือแนวนอน
** Setting อื่นๆ อย่างขนาดภาพที่ต้องการ หรือ Font นี่ แก้เองใน Script

#!/usr/bin/perl

#!/usr/bin/perl

# fix for Windows only
use File::Glob qw(:glob);
use POSIX qw(ceil floor);

$usage = "usage: batchframe.pl [-eq] [-lev black,white] [-gam gamma] [-sat saturation] [-nonorm] [-text \"Text\"] filename\n";

$equalize = 0;
$fullmajorsize = 1024;
$fullminorsize = floor($fullmajorsize * 3 / 4);
$borderratio = 2.5;
$inborder = 2;
$border = floor($fullmajorsize * 2.5 / 100);
$size = $fullmajorsize - ($border * 2);
$minorsize = $fullminorsize - ($border * 2);
$fontsize = floor($border * 0.75);
$border -= $inborder;
$type = "Bookman-Old-Style";
$outputdir = "edited";
$unsharp = $fullmajorsize * 0.500 / 100;

$norm = "-normalize";
$equalize = "";
$modulate = "";
$gamma = "";
$level = "";

while($#ARGV > 0) {
	if($ARGV[0] eq "-eq") {
		$equalize = "-equalize";
		shift @ARGV;
	} elsif($ARGV[0] eq "-nonorm") {
		shift @ARGV;
		$norm = "";
	} elsif($ARGV[0] eq "-text") {
		shift @ARGV;
		$text = shift @ARGV;
	} elsif($ARGV[0] eq "-sat") {
		shift @ARGV;
		$sat = shift @ARGV;
		$modulate = "-modulate 100,$sat";
	} elsif($ARGV[0] eq "-lev") {
		shift @ARGV;
		$level = shift @ARGV;
		$level = "-level $level";
	} elsif($ARGV[0] eq "-gam") {
		shift @ARGV;
		$gam = shift @ARGV;
		# pantip post = 1.2
		$gamma = "-gamma $gam";
	} elsif($ARGV[0] eq "-h") {
		print $usage;
		exit(0);
	}
}

if($#ARGV == 0 && $ARGV[0] =~ /^-/) {
	print $usage;
	exit(0);
}

if($#ARGV < 0) {
	print $usage;
	exit(0);
}

print "target size = ${fullmajorsize}x${fullminorsize}\n";
print "border = $border\n";
print "size (w/o border) = ${size}x${minorsize}\n";
print "font = $type $fontsize\n";
print "unsharp = $unsharp\n";
print "text = $text\n" if($text ne "");
print "saturation = $sat%\n" if($sat ne "");
print "do not apply -normalize\n" if($norm eq "");
print "apply -equalize\n" if($equalize ne "");
print "$level\n" if($level ne "");
print "gamma = $gam\n" if($gamma ne "");

if(! -e $outputdir) {
	mkdir $outputdir;
}

# Normal way to do
# foreach $_ (@ARGV) {

# fix for Windows only
foreach $_ (bsd_glob($ARGV[$#ARGV], GLOB_NOCASE)) {
	$in = $_;
	$out = $outputdir."\\".$in;

	$width = `identify -format "%w" $in`;
	chomp($width);
	$height = `identify -format "%h" $in`;
	chomp($height);

	#print "${width}x${height} ";
	if($width > $height) {
		#print "lanscape\n";
		$cropstring = " -crop ${size}x${minorsize}-0-0 ";
	} else {
		#print "portrait\n";
		$cropstring = " -crop ${minorsize}x${size}-0-0 ";
	}

	$convertcmd = "convert $in $norm $gamma $modulate $level $equalize -resize ${size}x$size $cropstring -unsharp $unsharp -bordercolor black -border $inborder -bordercolor white -border $border -gravity southeast -font $type -pointsize $fontsize -fill black -annotate 0x0+$border+2 \"© Oakyman - Issara Thienlikit\" -gravity southwest -annotate 0x0+$border+2 \"$text\" $out
";
	print "$in --> $out\n";
	`$convertcmd`;
}

เอาหละ เตรียม Upload รูปที่แต่งแล้วขึ้น Fotki

ExpensePlus DB File converter

วันนี้นั่งอู้งานมาเขียนโปรแกรมใช้เอง
หลังจากวันก่อนนั่งแกะ Format ของ pdb file ของโปรแกรม ExpensePlus ใน Palm (จริงๆ ใช้ Clie)
เพราะแม้ว่าเวลา Sync จะได้ Text file ออกมาก็ตาม (ตัว Conduit ของ ExpensePlus แปลงให้)
แต่ว่าไฟล์มันเละมาก สันนิษฐานว่าเกิดจากที่ใช้ภาษาไทย

เมื่อวานพอดีเล่น Clie เล่นๆ หลังจากไม่ค่อยได้ทำอะไรกะมันมานาน
ใช้โปรแกรม Filez เปิดดูไฟล์ pdb ของ ExpensePlus เล่น
ก็เลยลองแกะดูเลย ว่าจะดึงข้อมูลออกมายังไงดี

เลยได้โปรแกรม ExpensePlus Converter มา (เขียนเอง)
รายละเอียดดังนี้

Description:
Convert ExpensePlus DB file (*.pdb) to Comma Separated Values file
(*.csv)Usage:
expp2csv [ExpensePlus DB File (*.pdb)] > [csv file (*.csv)] Remarks:
CR/LF in any text will be converted into "|" (pipe) and double-quote
into single-quote.
Download ได้ที่นี่
expp2csv.zip (133 KB)ป.ล. หา Format ของ สารพัดไฟล์ได้ที่ Wotsit’s Format
ป.ล. 2 อุตส่าห์สั่งซื้อ Batt. ก้อนใหม่จาก eBay
อาการแบตหมดเร็ว/ชาร์จไฟไม่ค่อยเข้าก็ยังไม่หายอยู่ดี เซ็ง