Wednesday, November 30, 2011

howto initial fields on Drupal 7 node creation screen

# to find the element you want to change
install devel

$ cd sites/all/modules
$ mkdir mymodule
$ cd mymodule
$ vi

name = mymodule
description = mymodule description
core = 7.x

$ vi mymodule.module

function mymodule_form_alter(&$form, &$form_state, $form_id)
     // find out form_id you're interested

function mymodule_form_{content-type-machnie-name}_node_form_alter(&$form, &$form_state)
    // Prints a variable to the ‘message’ area of the page

    // print debuging infomation in order to find the element

    // set default value as need
        $form['field_remark']['und']['0']['value']['#default_value'] = 'hello';

$ drush en -y mymodule
allows fields in most forms to be pre-populated from the $_REQUEST variable.


Friday, November 25, 2011

multi monitor on linux xfce compiz

ถ้าจะใช้งาน เช่น ต่อ notebook ออก Projector หรือทำงาน 2 จอ
แนะนำ sudo apt-get install arandr ครับ

เลือกตำแหน่ง output ได้ครับ ว่าจะให้
จอ notebook อยู่ซ้าย อีกจออยู่ขวา
หรือ จอ notebook อยู่ขวา อีกจออยู่ซ้าย

รวมถึง กรณี เช่น กำหนดให้ panel อยู่ด้านล่างของจอ (ผมชอบ interface แบบ win 3.11)
เลือกให้ 2 จอ แสดงผลซ้อนกัน
ความละเอียดจอภายนอกสูงกว่า (เวลาทำงานที่บ้าน ต่อ notebook ออกจอใหญ่ แล้วทำงานผ่านจอใหญ่เป็นหลัก)
เผลอ hibernate เครื่อง โดยที่ยังไม่ได้ปิด output จอภายนอก
เมื่อเปิดเครื่อง ที่ๆไม่มีจอภายนอก
มันดันไม่ refresh ขนาดหน้าจอให้

แก้ไขผ่านหน้า xfce-display-settings ก็ไม่ได้ (คงเป็น bug อยู่)
ลอง reload หลายอย่างเช่น
compiz (ผมใช้ compiz แทน default)

จนลงเอยด้วย arandr


Friday, November 18, 2011

Drupal Debian Linux VirtualBox TroubleShooting Tips

Fix Virtual Network Interface Card to eth0
When we move the image to various hosts,
1) the interface name will keep running to eth1, eth2, eth3 and so on
2) the ip address will not automatically obtained.
because inside /etc/network/interfaces
iface eth0 inet dhcp

For solution Go To network-interface-in-linux.html

HTTP request status Fails

Network interface in Linux

How to reorder or rename logical interface names in Linux
$ sudo apt-get install ifrename
$ cat /etc/iftab
eth0 mac E0:*

Other ways are detailed at

It's quite useful in case of install Linux on a virtual machine.

When we move the image to various hosts,
1) the interface name will keep running to eth1, eth2, eth3 and so on
2) the ip address will not automatically obtained.
because inside /etc/network/interfaces
iface eth0 inet dhcp

New method
use the udev-sanctioned method of statically-naming each interface.
Create the following file to bind the MAC address of each of your cards to a certain interface name:
SUBSYSTEM=="net" KERNEL=="eth*", ATTR{address}=="00:12:34:fe:dc:ba", NAME="eth0"

  • To get the MAC address of each card, use this command: cat /sys/class/net/device-name/address
  • When syntax errors, look at /etc/udev/rules.d/70-persistent-net.rules
  • Make sure to use the lower-case hex values in your udev rules. It doesn't like upper-case.

  • When choosing the static names it should be avoided to use "ethX" and "wlanX", because this may lead to race conditions between the kernel and udev during boot. Instead, it is better to use interface names that are not used by the kernel as default, e.g. "net0, net1, wifi0, wifi1".


equivalent Microsoft Project Linux

I'm looking for a free of the equivalent of Microsoft Project on linux.

ganttproject meet my need.


Licence terms: CPAL

openproj_1.4-2.deb 2008-10-02

- URL:
- Licence terms: GPL

- URL:
- Licence terms: GPL

- URL:
- Licence terms: BSD
Require Apache, PHP, MySQL

Project HQ
- URL:
- Licence terms: GPL

Modern and powerful open source project management tool.
written in Ruby
sudo apt-get install rubygems
gem install taskjuggler

The GNOME project management tool
sudo apt-get install planner

Koffice KPlato

Feng Office Web Office focused on productivity, collaboration, communication and management
eGroupWare Enterprise ready web-based groupware suite with project management
dotProject Web-based, multi-user, multi-language project management application
Redmine Flexible application written using the Ruby on Rails framework

Monday, November 14, 2011

postgres createdb invalid locale name debian

$ sudo -u postgres createdb -l th_TH.UTF-8 -E UTF-8 -T template0 mydb;
createdb: database creation failed: ERROR:  invalid locale name th_TH.UTF-8

$ locale -a

$ sudo apt-get install locales

$ sudo dpkg-reconfigure locales
# in debian this command will display a screen while ubuntu not!!

$ sudo init 6

$ locale -a

Useful cmd
$ sudo locale-gen th_TH.UTF-8
$ sudo locale-gen --purge en_US.UTF-8 th_TH.utf8

$ sudo apt-get install locales-all