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.

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

บล็อกร้าง สะแปมเลยมาเยือน

ทิ้งบล็อกให้ใยแมงมุมเกาะซะสี่เดือน
แทบไม่มีเวลาว่างๆ สบายๆ มาอัพบล็อกจริงๆ นะเนี่ย

ทั้งงานราษฎร์ งานหลวง

แต่เหล่า spam bot ก็มาเยือนได้ทุกวี่ทุกวัน
จนชักจะรำคาญ ต้องหาวิธีแก้ซะหน่อย
เลยไปยืมวิธีเพื่อน pradt หวังว่า spam comment มันจะน้อยลง

มิตรรักแฟนเพลงทั้งหลาย
เนื่องจากจขบ. (เจ้าของบล็อก) ไม่มีเวลามาอัพ
ถ้าอยากติดตามข่าวสารบ้าๆ บอๆ บวมๆ ของ จขบ.
ก็เชิญยลได้ที่ twitter ของ จขบ. (ที่จริงๆ ก็มีโชว์อยู่ข้างๆ บล็อกเหมือนกัน)
twitter มันอัพข้อความสั้นๆ ไร้สาระไปเรื่อย ได้เร็วดี
เหมาะแก่คนไร้แก่นสารแบบ จขบ. อย่างยิ่ง

หวังว่าบล็อกหน้าจะใช้เวลาไม่นานนักในการอัพครั้งต่อไป

WPG2

1931
วันนี้นั่งปล้ำ gallery ของตัวเอง
ที่ setup ไว้นานแล้ว โดยลง Gallery2 เป็นตัวจัดการรูปภาพ (เป็น Open Source)
นั่งปรับแต่งค่าอะไรต่างๆ นานา รวมทั้ง Theme ด้วย

แล้วก็เลยลง WPG2 Plugin ของ WordPress
ที่เอาไว้เชื่อม Gallery2 เข้ากับ WordPress ได้แนบแน่นสนิทดู

ลองดูด้านข้างของบล็อกก็จะเห็น Random Image โผล่ขึ้นมา
แต่ว่าพอกดเข้าไปดูรูป หรือว่า Album ก็จะเละๆ หน่อย
เพราะ Theme ของ Gallery2 ที่ใช้ ไม่เข้ากันกับ Theme ของ WordPress ที่ใช้อยู่เอาซะเลย

ไว้มีเวลาค่อยปรับอีกที
ถ้าอยากดูรูป ขอให้เข้าไปดูตรงๆ ที่ http://gallery.oakyman.com/ ไปพลางๆ ก่อน

ป.ล. Gallery อื่นๆ ที่ข้าพเจ้าใช้อยู่

ปล้ำกับ 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

Customize Opera (again)

ช่วงนี้ Opera ที่บ้านมันต๊องๆ Hang บ่อยมาก
เลยจัดการลงแบบ Clean install (แต่ก่อนลงแบบทับมาตลอด เพราะขี้เกียจมานั่ง Set ใหม่)
เพราะเริ่มรำคาญจนทนไม่ค่อยไหว

จริงๆ ก็เคยแต่งมาหลายรอบแล้ว
แต่จำไม่ได้ซักที ต้องมา Search google อยู่เรื่อยๆ

ปุ่ม

  • ปุ่ม Toggle encoding Autodetect -> Thai -> Japanese (auto) -> UTF-8 a< a class='button' href='opera:/button/Set encoding, -1, , "a", > Set encoding, "iso-8859-11", , "t", > Set encoding, "AUTODETECT-JP", , "j", > Set encoding, "utf-8", , "u",' title="a">a< /a >

อ้างอิงจาก

โอย เดี๋ยวต้องมานั่งแต่ง Context menu (right click), Keyboard shortcut, Search กับ Personal Toolbar ใหม่อีก

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
อาการแบตหมดเร็ว/ชาร์จไฟไม่ค่อยเข้าก็ยังไม่หายอยู่ดี เซ็ง