Archive for the ‘Misc’ Category

0089 | Google Nexus ONE usage review

Monday, January 25th, 2010 Posted in Misc | 10 Comments »

ได้ Google Nexus One มาเล่น 2 วันกว่าแล้วครับ
(แล้วก็กินแกลบไปอีกเป็นเดือน T_T)

ประสบการณ์ใช้งานคร่าวๆ ประมาณนี้ครับ

* หมายเหตุ ทั้งหมดเป็นความเห็นส่วนตัว, + เป็นข้อดี บวกมากดีมาก ส่วน – ก็ตรงข้ามกัน

1) ++ แบต 1400mAh … พบว่าใช้งานแบบโหดๆ ได้เท่าๆ กับ 5800 ประมาณ 5-7 ชั่วโมงแล้วก็เกลี้ยง
2) — ปัญหาใหญ่ของผู้ใช้ในไทย “ภาษาไทย” มันรองรับแบบครึ่งๆ กลางๆ ซึ่งอันที่จริงแล้ว… แค่ยัด font ที่มีอักขระภาษาไทยลงไปก็จบแล้ว
3) +++ จอ… กระจกคริสตัลอะไรซักอย่าง แข็งมาก พบว่ายังไม่สามารถทำให้มันเป็นรอยได้จากการขีดข่วนด้วยพวงกุญแจหรืออะไรแข็งๆ แต่เป็นรอยคราบไขมันง่าย ต้องเช็ดมันบ่อยๆ
4) — รู้สึกว่า sensor จับแสงที่ไว้ปรับความสว่างจอทำงานเพี้ยนเล็กน้อยไวเกินไปนิดนึงในสภาพแสงน้อย ทำให้ซักพักจอก็สว่างๆ มืดๆ เป็นระยะให้ปวดหัวเล่น
5) – capacitive resolution ประมาณ 5 มิล เวลาจะแตะจุดที่เล็กๆ ค่อนข้างลำบากเอาเรื่องเลย
6) – soft button 4 ปุ่มด้านล่างแอบกดยาก+บางทีแค่เผลอแตะก็เด้งขึ้นมา โดยเฉพาะปุ่ม search ตัวดี
7) เครื่องเร็วดี ลูกเล่นเยอะ เล่นอะไรได้เยอะ แต่เครื่องเปล่าที่ได้มาต้องมาแก้กันอีกบานเลย
8) — เสียง… ห่วยกว่า 5800 อะ T_T ทั้งลำโพงทั้งเสียบหูฟังเลย เบสข้าพเจ้าหายไปไหนหมด แถมไม่มี equalizer ให้ด้วย
9) + GPS เจ๋ง จับสัญญาณได้ไวมาก ถ้าเปิด CellID lock ไว้ด้วยจะยิ่งเร็วเข้าไปอีก … แต่ Google Maps ทำไมมันปักหมุดไม่ได้วะ T_T
10) + สองวัน ลง app ไปร่วมร้อยตัว :D ตายๆ เครื่องอืดเลย
11) กล้องอยู่ในระดับพอใช้ exif ขึ้นมาว่า google “Nexus One” แต่ไม่บอกรายละเอียดอื่น นอกจาก GPS coordinate
12) ++ live wallpaper เจ๋งมาก
13) +++ (กว่าจะถึงข้อนี้) killer feature! noise cancellation หรือระบบตัดเสียงรบกวน สุดยอดแห่งมือถือที่สามารถตัดเสียงรบกวนออกจากการสนทนาไปได้มากกว่า 90% พิสูจน์แล้วด้วยการเปิดเพลงดังลั่นห้อง แถมเอาพัดลมจ่อแล้วโทรไปคุย !! (ปัญหาใหญ่คือเสียงรบกวนดังขนาดนี้ เราจะไม่ได้ยินเสียงอีกฝ่ายแทน ซะงั้น)
14) – internet tethered ต้อง hack เครื่องก่อน น่าเสียดาย… (แต่ทั้งนี้ เพื่อให้ใช้ภาษาไทยได้สมบูรณ์ เราก็ต้อง hack เครื่องอยู่ดี)
15) ใช้ 5800 นานๆ แล้วชิน keyboard มัน… เจอ full qwerty แบบเหมือนจริงเข้าไปเลยงงๆ
16) – home screen 5 จอเหมือนจะไม่พอ ตามเหตุผลข้อ 10
17) ++ ของเล่นสำหรับ system admin เยอะมากๆ เหมาะสำหรับคนที่ใช้งาน linux server เป็นประจำ!
18) + GMail push mail เร็วยังกะ BB! แต่ทั้งนี้ต้องหาโปร data unlimit ไว้นะจ๊ะ T_T
19) – ข้อเสียใหญ่ตอนนี้คงเป็นเรื่อง Application บันเทิง ที่ค่อนข้างขาดแคลนอย่างรุนแรง เกมมีไม่เยอะ ยังไม่ค่อยเจอเกมสนุกๆ ด้วย
20) — Music Player ไม่มี equalizer !!!!!!! ของสำคัญของช้านนนนน
21) slide unlock + slide รับสายโอเคดี ไม่หนืดอย่าง 5800
22) — จะซื้อ App ถูกลิขสิทธิ์ยังต้อง hack เครื่อง เพื่อลง MarketEnabler อีก ฮ่วย

มีต่อ review app นิดๆ หน่อยๆ

Read the rest of this entry »

Tags: , ,

0088 | LUSCA CDN installation

Thursday, January 14th, 2010 Posted in Misc | No Comments »

จดไว้กันลืมครับ ไม่ต้องใส่ใจมากมาย

http://code.google.com/p/lusca-cache/downloads/list

./configure --prefix=/usr/local/lusca --with-maxfd=32768 --with-aio --with-pthreads --disable-ident-lookups --enable-snmp --enable-storeio="aufs" --enable-removal-policies="heap lru" --disable-wccp && make && make install
ln -s /usr/local/lusca/etc /etc/lusca
ln -s /usr/local/lusca/var/logs /var/log/lusca
mkdir /usr/local/lusca/var/cache
chown nobody /usr/local/lusca/var/cache /usr/local/lusca/var/logs
ln -s /usr/local/lusca/sbin/squid /usr/sbin/squid
ln -s /usr/local/lusca/bin/squidclient /usr/bin/squidclient

cron

4 * * * * /usr/sbin/squid -k rotate

config

acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny CONNECT
acl upic_host dst 124.109.2.175 124.109.2.176
acl upic_port port 80
http_access allow upic_host upic_port
http_access deny all
icp_access deny all
http_port 80 accel vhost
cache_peer 124.109.2.176 parent 80 0 weight=5 no-query round-robin
cache_peer 124.109.2.175 parent 80 0 weight=5 no-query round-robin
cache_mem 32 MB
maximum_object_size_in_memory 16 KB
memory_replacement_policy heap GDSF
cache_replacement_policy heap LFUDA
cache_dir aufs /usr/local/lusca/var/cache 8192 16 256
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh
access_log /usr/local/lusca/var/logs/access.log combined
cache_store_log none
logfile_rotate 24
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_effective_user nobody
server_persistent_connections off
acl nullreferer referer_regex ^$
cache deny nullreferer
visible_hostname cdn.upic.me
snmp_port 3401
acl snmppublic snmp_community public
snmp_access allow snmppublic localhost
snmp_access deny all
never_direct allow all
coredump_dir /usr/local/lusca/var/cache
pid_filename /var/run/lusca.pid

/etc/init.d/lusca

#!/bin/bash
# squid         This shell script takes care of starting and stopping
#               Squid Internet Object Cache
#
# chkconfig: - 90 25
# description: Squid - Internet Object Cache. Internet object caching is \
#       a way to store requested Internet objects (i.e., data available \
#       via the HTTP, FTP, and gopher protocols) on a system closer to the \
#       requesting site than to the source. Web browsers can then use the \
#       local Squid cache as a proxy HTTP server, reducing access time as \
#       well as bandwidth consumption.
# pidfile: /var/run/squid.pid
# config: /etc/squid/squid.conf
 
PATH=/usr/bin:/sbin:/bin:/usr/sbin
export PATH
 
# Source function library.
. /etc/rc.d/init.d/functions
 
# Source networking configuration.
. /etc/sysconfig/network
 
# don't raise an error if the config file is incomplete
# set defaults instead:
SQUID_OPTS=${SQUID_OPTS:-"-D"}
SQUID_PIDFILE_TIMEOUT=${SQUID_PIDFILE_TIMEOUT:-20}
SQUID_SHUTDOWN_TIMEOUT=${SQUID_SHUTDOWN_TIMEOUT:-100}
 
# determine the name of the squid binary
[ -f /usr/sbin/squid ] && SQUID=squid
 
prog="$SQUID"
 
# determine which one is the cache_swap directory
CACHE_SWAP=`sed -e 's/#.*//g' /etc/lusca/squid.conf | \
        grep cache_dir |  awk '{ print $3 }'`
[ -z "$CACHE_SWAP" ] && CACHE_SWAP=/usr/local/lusca/var/cache/
 
RETVAL=0
 
start() {
        ulimit -HSn 32768
        #check if the squid conf file is present
        if [ ! -f /etc/lusca/squid.conf ]; then
            echo "Configuration file /etc/lusca/squid.conf missing" 1>&2
            exit 6
        fi
 
        # don't raise an error if the config file is incomplete.
        # set defaults instead:
        SQUID_OPTS=${SQUID_OPTS:-"-D"}
        SQUID_PIDFILE_TIMEOUT=${SQUID_PIDFILE_TIMEOUT:-20}
        SQUID_SHUTDOWN_TIMEOUT=${SQUID_SHUTDOWN_TIMEOUT:-100}
 
        if [ -z "$SQUID" ]; then
                echo "Insufficient privilege" 1>&2
                exit 4
        fi
 
        for adir in $CACHE_SWAP; do
        if [ ! -d $adir/00 ]; then
             echo -n "init_cache_dir $adir... "
             $SQUID -z -F -D >> /var/log/lusca/squid.out 2>&1
        fi
    done
    echo -n $"Starting $prog: "
    $SQUID $SQUID_OPTS >> /var/log/lusca/squid.out 2>&1
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
       timeout=0;
       while : ; do
          [ ! -f /var/run/lusca.pid ] || break
          if [ $timeout -ge $SQUID_PIDFILE_TIMEOUT ]; then
             RETVAL=1
             break
          fi
          sleep 1 && echo -n "."
          timeout=$((timeout+1))
       done
    fi
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SQUID
    [ $RETVAL -eq 0 ] && echo_success
    [ $RETVAL -ne 0 ] && echo_failure
    echo
    return $RETVAL
}
 
stop() {
 
    # don't raise an error if the config file is incomplete.
    # set defaults instead:
    SQUID_SHUTDOWN_TIMEOUT=${SQUID_SHUTDOWN_TIMEOUT:-100}
 
    echo -n  $"Stopping $prog: "
    $SQUID -k check >> /var/log/lusca/squid.out 2>&1
    RETVAL=$?
    if [ $RETVAL -eq 0 ] ; then
        $SQUID -k shutdown &
        rm -f /var/lock/subsys/$SQUID
        timeout=0
        while : ; do
                [ -f /var/run/lusca.pid ] || break
                if [ $timeout -ge $SQUID_SHUTDOWN_TIMEOUT ]; then
                    echo
                    return 1
                fi
                sleep 2 && echo -n "."
                timeout=$((timeout+2))
        done
        echo_success
        echo
    else
        echo_failure
        echo
    fi
    return $RETVAL
}
 
reload() {
#    . /etc/sysconfig/squid
    # don't raise an error if the config file is incomplete.
    # set defaults instead:
    SQUID_OPTS=${SQUID_OPTS:-"-D"}
 
    $SQUID $SQUID_OPTS -k reconfigure
}
 
restart() {
    stop
    start
}
 
condrestart() {
    [ -e /var/lock/subsys/squid ] && restart || :
}
 
rhstatus() {
    status $SQUID && $SQUID -k check
}
 
probe() {
    return 0
}
 
case "$1" in
start)
    start
    ;;
 
stop)
    stop
    ;;
 
reload)
    reload
    ;;
 
restart)
    restart
    ;;
 
condrestart)
    condrestart
    ;;
 
status)
    rhstatus
    ;;
 
probe)
    exit 0
    ;;
 
*)
    echo $"Usage: $0 {start|stop|status|reload|restart|condrestart}"
    exit 2
esac
 
exit $?

Tags: , ,