Programming

Looking for a generic report generator

ช่วงนี้งานยุ่งแบบแปลกๆ เหมือนว่าไม่ควรจะยุ่ง แต่ก็รู้สึกไปเองว่ายุ่ง และยังรู้สึกเหมือนเจอ dejavu ยิ่งขึ้นไปทุกวัน เรื่องของเรื่องก็เกิดจากงานที่พุ่งเข้ามาทุกวันๆ โดยเฉพาะสองเดือนนี้ เนื่องจากงานที่ทำเอียงไปทางด้านราชการ (มีหลายคนแยกว่าไม่ใช่ แต่ผมว่าใช่แน่ๆ) ทำให้ต้องมีเอกสารมากขึ้นเป็นเงาตามตัว เรื่องที่จะขาดไม่ได้ก็คืองบประมาณประจำปีซึ่งต้องวางแผนล่วงหน้ากันทุกปี ผมเองไม่ได้มีหน้าที่จัดทำงบประมาณ แต่ก็มีส่วนเกี่ยวข้องบ้างในฐานะของผู้ใช้งบ หน้าที่ของผู้ใช้งบที่ผมรู้ตอนเดือนที่แล้วก็คือ เขียนโครงการ ซึ่งประกอบด้วย

  1. บทคัดย่อ
  2. วัตถุประสงค์
  3. เป้าหมายและตัวชี้วัด
  4. รูปแบบและแผนการดำเนินงาน
  5. แผนปฏิบัติการ
  6. งบประมาณรายไตรมาส
  7. และอื่นๆ อีกเบ็ดเตล็ด

How to encode DVD to AVI using Mencoder

If you have a DVD image in ISO format or in directory structure (see below) and you would like to encode this image to AVI format for later watching in smaller size, Mencoder may help you automate this task by a single command as well as consuming the computer power of a cluster through batch scheduler. The DVD structure looks like below.

DVD/
|--- AUDIO_TS
`--- VIDEO_TS
     |--- VIDEO_TS.BUP
     |--- VIDEO_TS.IFO
     |--- VIDEO_TS.VOB
     |--- VTS_01_0.BUP
     |--- VTS_01_0.IFO
     |--- VTS_01_0.VOB
     |--- VTS_02_0.BUP
     |--- VTS_02_0.IFO
     |--- VTS_02_0.VOB
     |--- VTS_03_0.BUP
     |--- VTS_03_0.IFO
     |--- VTS_03_0.VOB
     |--- VTS_04_0.BUP
     |--- VTS_04_0.IFO
     `--- VTS_04_0.VOB

Patching Tagadelic module for Drupal

I have just patched Tagadelic module for Drupal to fix a bug regarding number of levels in its block. The patch has been submitted here.

Tracking performance of supporters in case tracker module in Drupal

My organization is trying to track incoming requests from outsiders and also insiders. The reason and only one reason is that me and my colleagues work so hard for nothing. Our main works are in the state of no progress for so long time. Actually, all works are late for two months already and they are not finished yet. The problem is my boss has seen we worked so hard but he have never known what we did and why all works are not finished on time.

That is the thing drove me to deploy a kind of issue ticket management system to track what we are doing all days all nights. There are so many softwares that may solve our problems. However, I chose Drupal and Case Tracker. It works almost perfect and we have used it for a week without problem. Actually, it does not meet our requirements yet. We also want to track performance of support teams. There are so many performance metrics. The first one is how long it take to solve each case. I decided to write a report using PHP input format in Page content type.

How to handle itemStateChanged properly

itemStateChanged is one of the common event in Swing framework. However, you might find that it usually fires out twice. The fact behind this behavior is there are 2 sub-events, says selected and unselected. Developer must deal with this property using getStateChange() method.

has been organized for 2 times since . This activity aims to promote open source concept to students by offering 4500 USD to them, 500 USD to open source projects and a T-shirt to each mentor. As one of mentor at Drupal in last year, it is my duty to promote Google Summer of Code 2007.