Tuesday, August 30, 2011

Taxonomy vocabulary term in drupal

Taxonomy

vocabulary
===========
คือ หัวข้อ เช่น สินค้าเสื้อ มี vocabulary คือ size และ อีก vocabulary เพื่อบอกว่าเป็นเสื้อสําหรับผู้ชายหรือผู้หญิง


term
====
term (หรือ tag) คือ ค่าที่เป็นไปได้ของแต่ละ vocabulary เช่น
S, M หรือ L สำหรับ size เสื้อ

กำหนดเป็น hierache ได้เช่น จังหวัด เขต แขวง

สามารถเอาไปผูกกับ node ข้อมูล ได้หลายวิธี
- กำหนดผ่าน Content management » Taxonomy » Edit vocabulary » Content types
- http://drupal.org/project/hierarchical_select
- Administer » Content management » {Content name} เพิ่ม field ประเภท Content Taxonomy Fields
drush dl content_taxonomy
drush en -y content_taxonomy content_taxonomy_options

ใน drupal ถ้าใช้ ubercart จะมีอีกคู่นึงที่คล้ายกัน คือ attribute + option
http://www.ubercart.org/docs/user/10961/product_attributes_and_options

Saturday, August 27, 2011

display specific information at boot message

echo 'Kernel : \\r' > /etc/issue
echo 'OS version : \\v' >> /etc/issue
echo 'Machine Architecture : \m' >> /etc/issue
echo 'hostname : \\n .\o' >> /etc/issue

dhclient eth0
echo 'IP Addr : ' `ifconfig eth0 | grep 'inet addr:' | awk -F: '{ print $2 }' | awk '{ print $1 }'` >> /etc/issue

Thanks
http://crazytoon.com/2008/04/22/linux-how-to-change-login-prompt-in-linux/
http://www.catonmat.net/blog/golfing-the-extraction-of-ip-addresses-from-ifconfig/

Valuable Name

Hungarian Notation
เป็นการตั้งชื่อตัวแปรโดยใช้ตัวย่อของประเภทของตัวแปร (Type) ขึ้นต้น โดยจะใช้ตัวย่อของประเภทของตัวแปรสามตัวอักษรหรือหนึ่งตัวอักษรก็แล้วแต่จะ ตกลงกัน โดยให้ตัวย่อของประเภทเป็นตัวเล็กทั้งหมด และตัวอักษรตัวแรกของแต่ละคำต้องเป็นตัวใหญ่ (หินชอบแบบนี้)
ตัวอย่าง : strFirstName, iNumberOfDays

Camel Case
คล้ายกับ Hungarian Notation แต่ไม่ได้ใช้อักษรย่อของประเภทของตัวแปรมาเป็นชื่อ โดยให้คำแรกเป็นตัวเล็กทั้งหมด และให้ตัวอักษรแรกของคำต่อๆไปเป็นตัวใหญ่
ตัวอย่าง : firstName, numberOfDays

Pascal Case
เป็นกฏการตั้งชื่อที่กำหนดให้ตัวอักษรแรกของแต่ละคำเป็นตัวใหญ่
ตัวอย่าง : BackColor, FirstName

Upper Case
กำหนดให้ใช้ตัวใหญ่ทั้งหมด
ตัวอย่าง : ID, PI

Underscores
ใช้ _ ในการแบ่งคำแต่ละคำออกจากกัน (เลิกใช้ได้แล้ว)
ตัวอย่าง : underscore_naming_convention

Ref: http://www.unzeen.com/article/1342/ว่าด้วยมาตรฐานในการตั้งชื่อตัวแปร

Thursday, August 25, 2011

J2ME Runtime Emulator

http://www.microemu.org/

Wednesday, August 10, 2011

How to set Openwrt Backfire for running as a routed client

first flash firmware

(my router is wzr-hp-g300h so go to
http://wiki.openwrt.org/toh/buffalo/wzr-hp-g300h

sudo arp -s 192.168.11.1 001122334455

sudo ifconfig eth0 192.168.1.2 netmask 255.255.255.0

telnet to the router and set root's password)

then follow
http://wiki.openwrt.org/doc/recipes/routedclient
only in "Using MASQUERADE" section

as a result my /etc/config/network:

config interface loopback                                                      
        option ifname   lo                                                     
        option proto    static                                                 
        option ipaddr   127.0.0.1                                              
        option netmask  255.0.0.0                                              
                                                                               
config interface lan                                                           
        option ifname   eth0                                                   
        option type     bridge                                                 
        option proto    static                                                 
        option ipaddr   192.168.2.1                                            
        option netmask  255.255.255.0                                          
        #option gateway  192.168.1.1                                           
        option dns      192.168.1.1                                            
                                                                               
config interface wan                                                           
        option proto    dhcp                                                   
                                                                               
config switch                                                                  
        option name     rtl8366s                                               
        option reset    1                                                      
        option enable_vlan 1                                                   
                                                                               
config switch_vlan                                                             
        option device   rtl8366s                                               
        option vlan     1                                                      
        option ports    "0 1 2 3 5"                                            

/etc/config/wireless:

config wifi-device  radio0
    option type     mac80211
    option channel  3
    option macaddr    00:11:22:33:44:55
    option hwmode    11g
    option htmode    HT20
    list ht_capab    SHORT-GI-40
    list ht_capab    DSSS_CCK-40

config wifi-iface
    option device   radio0
    option network  wan
    option mode     sta
    option ssid     Bank
    option encryption none


/etc/config/dhcp:

config 'dnsmasq'
    option 'domainneeded' '1'
    option 'boguspriv' '1'
    option 'filterwin2k' '0'
    option 'localise_queries' '1'
    option 'rebind_protection' '1'
    option 'rebind_localhost' '1'
    option 'local' '/lan/'
    option 'domain' 'lan'
    option 'expandhosts' '1'
    option 'nonegcache' '0'
    option 'authoritative' '1'
    option 'readethers' '1'
    option 'leasefile' '/tmp/dhcp.leases'
    option 'resolvfile' '/tmp/resolv.conf.auto'

config 'dhcp' 'lan'
    option 'interface' 'lan'
    option 'start' '100'
    option 'limit' '150'
    option 'leasetime' '12h'
    list 'dhcp_option' '3,192.168.2.1'
    list 'dhcp_option' '6,192.168.1.1'

config 'dhcp' 'wan'
    option 'interface' 'wan'
    option 'ignore' '1'

/etc/init.d/network restart
/etc/init.d/dnsmasq restart
or
reboot


root@OpenWrt:~# ifconfig
br-lan    Link encap:Ethernet  HWaddr 01:01:01:01:01:01
          inet addr:192.168.2.1  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11352 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12615 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1377475 (1.3 MiB)  TX bytes:12224421 (11.6 MiB)

eth0      Link encap:Ethernet  HWaddr 01:01:01:01:01:01
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11352 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12616 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1536403 (1.4 MiB)  TX bytes:12225464 (11.6 MiB)
          Interrupt:4

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:587 (587.0 B)  TX bytes:587 (587.0 B)

wlan0     Link encap:Ethernet  HWaddr 01:01:01:01:01:01
          inet addr:192.168.1.111  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:16952 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11345 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:13798355 (13.1 MiB)  TX bytes:1705910 (1.6 MiB)

root@OpenWrt:~#


thanks
- https://forum.openwrt.org/viewtopic.php?id=17316