वीर

17 เมษายน 2008

น้ำเสาวรสสุดอร่อย

Filed under: Uncategorized — वीर @ 12:25 pm
Tags: , ,

ส่วนมากซื้อมาดื่มแล้วจะเจอแบบหวานไป เปรี้ยวไปก็มี. แต่ก็นะแต่ละคนชอบไม่เหมือนกัน … แต่ผมชอบแบบนี้.

vim + diff + subversion(svn)

Filed under: Uncategorized — वीर @ 3:58 am
Tags: , , , , , , ,

เพราะว่าพี่อานนท์ถามเรื่อง history ขึ้นมา, ผมก็เลยมาดู vim กับ diff และ subversion. จริงๆ แล้วใช้ vim ดู diff ของ subversion. vim ก็ดู diff ได้อยู่แล้ว แต่จะดู diff จาก subversion ก็ต้องพิมพ์หลายต่อ. ก็เลยลองใช้ svnvimdiff ดีกว่า download มาจาก  http://www.vim.org/scripts/script.php?script_id=1797.

ผมลง svnvimdiff ใน $HOME/bin ที่จริงแล้วก็เป็น shell script แล้วก็ chmod 755 svnvimdiff แล้วก็ลองเรียกใช้ดู. แล้วก็ลองเรียก ~/bin/svnvimdiff -g app/webroot/css/cake.generic.css ก็ได้ผลแบบข้างล่าง

ใช้แล้วก็ชอบ :-D

12 เมษายน 2008

แปลง .doc เป็น .odt บน Ubuntu ผ่าน command line interface

Filed under: Uncategorized — वीर @ 5:09 pm
Tags: , , , , , , , , ,

แบบที่เขียนยาวๆ ดีๆ เป็นภาษาไทยสามารถเข้าไปดูได้ที่ http://www.biolawcom.de/blog/628 หรือภาษาอังกฤษก็มี http://dag.wieers.com/home-made/unoconv/

ผมและเพื่อนพยายามจะแปลงไฟล์จาก .doc ไปเป็น .อื่นๆ อีกมากมาย แต่ก็หาโปรแกรมไม่ค่อยได้. ถ้าทำทีละไฟล์ สองไฟล์ ก็เปิด OpenOffice.org มาแล้วก็เปิดไฟล์ .doc แล้ว save as เป็น .odt ก็ง่ายๆ. แต่ว่าถ้ามีสัก 10-20 ไฟล์ไรงี้ก็คงไม่ไหว. หรืออยากจะให้มันถูกเรียกผ่าน cron หรือเว็บ ใช้ command line ก็คงดีกว่า. มาเจอ unoconv ตรงกับความต้องการมากๆ. สามารถแปลงแบบ

unoconv -f odt titi.doc

แล้วก็ได้ titi.odt ออกมาเลย

แต่ว่าต้องไปเรียก soffice ให้ run ค้างไว้ก่อน แบบนี้

soffice -headless

ใส่ -headless เข้าไปพวก user interface ทั้งหลายก็จะไม่ออกมา ทำตัวเป็น daemon (service) ไปประมาณนั้น

แต่ถ้าใช้ Ubuntu 7.10 ก็มีปัญหานิดๆ เพราะไม่มี package unoconv วิธีแก้ก็คือเอาของ Ubuntu 8.04 มาลง. ผมเอา source package ของ Ubuntu 8.04 มา rebuild. ถ้าเอา package ที่ build มาแล้วมาลงเลยไม่รู้ใช้ได้เปล่า :-P. หรือถ้าใช้ Ubuntu 8.04 หรือ Debian lenny อยู่แล้วก็สั่ง aptitude install unoconv ได้เลย

ข้อมูล battery บน Ubuntu 7.10

Filed under: Uncategorized — वीर @ 1:21 pm
Tags: , , , ,

ระบบอื่นก็อาจจะดูได้เหมือนกัน … ผมไม่รู้. รู้แต่ว่าเปิดดูใน Ubuntu 7.10 แล้วประทับใจ

10 เมษายน 2008

OO.o 3 beta cannot display Thai text properly when …

Filed under: Uncategorized — वीर @ 5:33 am
Tags: , , , , , , , ,

Open Office.org 3 beta cannot display Thai text properly when it was zoomed in.

6 เมษายน 2008

It isn’t Foxkeh nor IceWeasel

Filed under: Uncategorized — वीर @ 5:22 pm
Tags: , , ,

It is just a dog in front of 7-11 in Univ.

5 เมษายน 2008

Use Cake, Eat Cake

Filed under: Uncategorized — वीर @ 3:52 pm

อาจารย์ซื้อมาฝาก

4 เมษายน 2008

TinyMCE 3 plugin for JQuery

Filed under: Uncategorized — वीर @ 7:31 pm
Tags: , , , , , , , ,
$.fn.tinymce = function(options){
    return this.each(function(){ tinyMCE.execCommand("mceAddControl", false, this.id); });
}

function initMCE()
{
    tinyMCE.init({mode : "none",
                  theme : "advanced",
                  theme_advanced_toolbar_location : "top",
                  theme_advanced_toolbar_align : "left",
                  theme_advanced_statusbar_location : "bottom",
                  theme_advanced_resizing : true});
}

initMCE();

Reference:

29 เมษายน 2008

Macbook ที่ใช้ Safari บน Windows

Filed under: Uncategorized — वीर @ 1:15 pm
Tags: , , , , , , ,

เจ้าของเครื่องเขาใช้แบบนี้ ท่าทางสนุกดีเหมือนกัน.

25 เมษายน 2008

CakePHP + timestamp

Filed under: Uncategorized — वीर @ 6:12 pm
Tags: , , , , , ,

เวลา save แล้วอยากให้ CakePHP ใส่ timestamp ให้ด้วยเวลาที่ row ที่ add เข้าไปถูก create เป็นครั้งแรก. ประมาณว่าต้องการเก็บว่า row นั้นสร้างมาแต่เมื่อไหร่. ผมใช้ callback function ใน model เอา เขียนสั้นๆ ก็เป็นอันใช้ได้.

class Corpus extends AppModel {
    function afterSave($created) {
        if($this->id && $created) {
            $data = $this->read();
            $data[$this->name]["created"] = date("Y-m-d H:i:s");
            $this->save($data);
        }
    }
}

เวลาสั่ง save จาก controller, afterSave ก็จะถูกเรียกแล้วก็ไปแก้ column: created ให้เป็นเวลาปัจจุบัน. ถ้า row นั้นถูกสร้างขึ้นใหม่ (ตรวจสอบได้จาก $created).

update #1: แต่จะให้ดีใช้ beforeSave ดีกว่า. จะได้ save ครั้งเดียวไปเลย (ตาม comment ของ พี่ป๊อก) แล้วก็ดูเป็นธรรมชาติดีด้วย :-).

class Corpus extends AppModel {
    function beforeSave() {
        $data[$this->name]["created"] = date("Y-m-d H:i:s");
        return true;
    }
}

แต่ถ้า edit แต่ไม่ได้ create corpus ก็คงต้องวิธีมาตรวจสอบเอา.

update #2: ลองดูอีกนิด จริงๆ แล้วไม่ต้องใช้ before/after save เลย. CakePHP ทำ timestamp ให้เองแบบที่ต้องการเลย โดยที่ไม่ต้องทำอะไร … แป่ว

หน้าต่อไป »

บลอกที่ WordPress.com .