วันอังคารที่ 5 มกราคม พ.ศ. 2559

shell script

Function
#!/bin/bash
#!/bin/bash
function test {
   echo "test $1 $2 $3";
}
test a b c
 
Inner Function
$ outerfunc1() {
> innerfunc() { echo "Running inner function #1"; }
> echo "Running outer function #1"
> }
$ outerfunc2() {
> innerfunc() { echo "Running inner function #2"; }
> echo "Running outer function #2"
> }
$ # At this point, both outerfunc1 and outerfunc2 contain definitions of
$ # innerfunc, but since neither has been executed yet, the definitions
$ # haven't "happened".
$ innerfunc
-bash: innerfunc: command not found
$ outerfunc1
Running outer function #1
$ # Now that outerfunc1 has executed, it has defined innerfunc:
$ innerfunc
Running inner function #1
$ outerfunc2
Running outer function #2
$ # Running outerfunc2 has redefined innerfunc:
$ innerfunc
Running inner function #2

ref : http://stackoverflow.com/questions/8426077/how-to-define-a-function-inside-another-function-in-bash

: NOOP : No-op command
it's exit status is true (0)
http://unix.stackexchange.com/questions/37473/what-is-the-utility-of-the-command-in-shell-scripting-given-that-it-explicitl

exit N
exit 0 : normal shell exit
ref: http://bash.cyberciti.biz/guide/Exit_command

If
 if [[ true = true ]]; then
  echo "y";
 elif [[ true = false ]]; then
  :; 
 else
  echo "n";
 fi
 
Case
case "$1" in
whatever|whatever2)

;; 
*)

;; 
esac



For
for (( ; $#; )); 
do
$1
done

for A in "1 2 3"; do
 echo $A # 1 2 3 
done 
echo $A # 1 2 3
for A; do
    $A
done

Local variable
local var1 var2=()
var2 = empty array
Options : -i : make NAMEs have the "integer" attribute -a : make NAMEs indexed arrays (removing with +a is valid syntax, but leads to an error message) ref : http://unix.stackexchange.com/questions/202302/variable-definition-in-bash-using-the-local-keyword , http://wiki.bash-hackers.org/commands/builtin/declare  

Dollar sign
$@ : all of the parameters passed to the script
Example :
If you call `./someScript.sh` foo bar then `$@` will be equal to `foo bar`.
ref : http://stackoverflow.com/questions/9994295/what-does-mean-in-a-shell-script

$# : number of args
ref : http://stackoverflow.com/questions/5163144/what-are-the-special-dollar-sign-shell-variables

&2
echo "hey" >&2
print hey to &2:stderr

ref : http://stackoverflow.com/questions/23489934/echo-2-some-text-what-does-it-mean-in-shell-scripting

[[ ]],  (( ))

 ref : https://robots.thoughtbot.com/the-unix-shells-humble-if
, http://mywiki.wooledge.org/BashFAQ/031

[[ -d "/path" ]] : check if directory exists
[[ ! -d "$DIRECTORY" ]] : check if directory does not exists
[[ -r "/path" ]] : is read-only
[[ -x "/path" ]] : is executable
ref : http://stackoverflow.com/questions/59838/check-if-a-directory-exists-in-a-shell-script
, http://www.freeos.com/guides/lsst/ch03sec02.html

&&, ||
&& will only be evaluated if the exit status of the left side is zero
|| will evaluate the right side only if the left side exit status is nonzero

ref : http://unix.stackexchange.com/questions/24684/confusing-use-of-and-operators

shift
shift is a bash built-in which kind of rotates the arguments. Given that the arguments provided to the script are 3 available in $1, $2, $3, then a call to shift will make $2 the new $1. a shift 2 will shift by two makeing new $1 the old $3.
ref : http://unix.stackexchange.com/questions/174566/what-is-the-purpose-of-using-shift-in-bash-scripts

pushd, popd : directory stack
ref : http://unix.stackexchange.com/questions/77077/how-do-i-use-pushd-and-popd-commands

Read
read from stdin
-a : read the data word-wise into the specified array .
Example : use read to split string

read -r col1 col2 col3 <<< "one two three" 
printf "col1: %s col2: %s col3 %s\n" "$col1" "$col2" "$col3"
Example : changing seperator by using IFS variable
IFS=":" 

or
read -a VARNAME <<< "whatever whatever"
or
echo "press any key to continue"
read -s -n 1 -p

read from file
exec 3<$FILE # redirect file to FD 3
while read -u 3 -r line
do
 echo $line
done

or

while read -u 3 line
do
    command1
    command2
done 3< <(tail -f /path/file.txt)


ref : http://wiki.bash-hackers.org/commands/builtin/read
, http://bash.cyberciti.biz/guide/Reads_from_the_file_descriptor_%28fd%29
, http://stackoverflow.com/questions/27352868/bash-file-descriptor-3-and-while-read-line
$PWD
present working directory

Array
${ARR_NAME[@]} 
If quoted, @ expands to all elements individually quoted.
Example :
for v in "${ARR_NAME[@]}" do
$v
done 
unset ARRAY[N] : Destroys the array element at index N
http://wiki.bash-hackers.org/syntax/arrays

Int
i++
Find -or
find /path/ -name '*.png' -or -name '*.jpg'
mkdir -p -p Will create nested directories, but only if they don't exist already.
mkdir -p /foo/bar/baz  # creates bar and baz within bar under existing /foo
http://superuser.com/questions/165157/what-does-mkdir-p-flag-do

[[:alnum:]_]
letter, digit, or underscore
Example
If [[ $X != [[:alnum:]_] ]]

eval
eval - construct command by concatenating arguments

foo=10 x=foo
y='$'$x
echo $y # $foo
eval y='$'$x
echo $y # 10

ref : http://unix.stackexchange.com/questions/23111/what-is-the-eval-command-in-bash

วันพุธที่ 23 ธันวาคม พ.ศ. 2558

ant

Dir
<mkdir dir="${what.ever.dir}">
<delete dir="${what.ever.dir}">
<delete includeemptydirs="true">
     
    </delete>
<move file="file/name" tofile="file/name"></move>
<move todir="dest/dir">
     <fileset dir="whatever/dir/it/is">
      <include name="**/*" />
     </fileset>
    </move>
<copy overwrite="true" failonerror="false" file="whatever/file" tofile="whatever/file" />
check file exists
<available file="whatever/file" property="property.is.set.to.true.if.file.exists"/>
Replace content inside the file
<replace file="file/to/replace">
     <replacefilter token="FindWord" value="wordToReplace" />
    </replace>
Execute command
<exec executable="${whatever.command}" failonerror="true" dir="whatever" outputproperty="whatever.property" >
     <arg value="--whatever" />
    </exec>
If
<if>
      <not>
      <equals arg1="${if.this}" arg2="equal.this" />
      </not>
      <then>
</then>
<else>
</else>
</if>
Call the other ant
<target name="newTarget" depends="otherTarget,otherTarget2" />
or
<antcall target="whatever">
     <param name="paramname" value="value" />
    </antcall>
or
<ant dir="whatever/dir" target="executionTarget"/>
define new tag with Macrodef
<macrodef name="macrodefName">
  <attribute name="paramname" />
                ... do whatever @{paramname}...
                </macrodef>
usage
<macrodefName paramname="whatever"/>
Condition set value to the property if true or false
<condition property="whatever.property.to.set" value="value.if.true" else="value.if.false">
      <or>
             <not>
                  <length string="blabla" when="gt" length="10"/>
             </not>
             <isset property="whatever"/>
      </or>
</condition>
PropertyCopy
<propertycopy name="name" from="another.prop"/>
PropertyRegex Regular expression operations on an input string, and sets the results to a property
<propertyregex property="pack.name"
              input="package.ABC.name"
              regexp="package\.([^\.]*)\.name"
              select="\1"
              override="true" />
result : pack.name=ABC var
<var name="whatever.name" value="val" />
remove property as it never been set
<var name="x" unset="true"/>
javac
<javac srcdir="src.dir" destdir="build.dir" />
jar
<jar destfile="dest.jar.name">
 <fileset dir="build.dir" includes="**/*.class" />
 <fileset dir="conf.dir" includes="*.properties" />
</jar>
<jar update="true" destfile="dest.jar.name" basedir="whatever_base_dir" includes="whatever.properties, whatever2.properties, can/be/directory/" />
for
<for list="${lists}" param="whateverparam" parallel="true" threadCount="4" keepgoing="false">
</pre>
sleep
<sleep seconds="5"/>
Timestamp to property
<tstamp>
   <format property="whatever.property" pattern="MM/dd/yy HH:mm:ss" offset="-30" unit="minute"/>
  </tstamp>
Raise build error
<fail unless="this.property.is.false">Error message</fail>
or
<fail>Message
   <condition>
    <not>
     <matches pattern="whatevr" string="whatever" multiline="true" />
    </not>
   </condition>
  </fail>
SSH
<sshexec host="host" trust="true" keyfile="whateverkey"
   username="username" passphrase=""
   command="echo 'Hello'" />
SCP
<scp
   file="whatever/file"
   remotetodir="remote/file"
   trust="true" keyfile="whateverkey" passphrase="" />
zip
<zip destfile="whatever" basedir="dir" includes="**/*" excludes="whatever,*.log" />
ant contribute ref : http://ant-contrib.sourceforge.net/ Installation
<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
Usage Example is TryCatch method ref : http://nant.sourceforge.net/release/0.92/help/tasks/index.html Taskdef
<path id="myPathId">
        <fileset dir="target/whatever" includes="**/*.jar" />
        <fileset file="target/whatever.jar" />
    </path>
<taskdef name="myTask" classname="whatever.java.Class" classpathref="myPathId" />
checksum
<checksum algorithm="md5" toDir="whatever">
  <fileset dir="dirctory">
  </fileset>
</checksum>
script
<script language="javascript"> </script>
possible method
projectName.getProperty('whatever.property');
projectName.setProperty('whatever.property', 'value');
example calling target="echo" NOTE : internal tag could be added by
var whatevertagNode = project.createDataType('whatevertag');
whatevertagNode.setWhateverAttr("whatever");
checksum.addWhateverTag(groupFileset);
var o = projectName.createTask('echo');
o.setMessage('whatever');
o.perform();
importClass(java.io.File);
var f = new File(basedir);
f.isDirectory();
post
<post failonerror="true" verbose="true" to="http://xxx.com?whatever=value" maxwait="600">
    <prop name="param" value="whatever" />
   </post>
uptodate Check if a target file or set of target files is more up-to-date than a source file or set of source files.A set of source files is specified using the nested elements.
<uptodate property="isUpToDate" targetfile="whatever">
      <srcfiles dir="whatever" includes="**/*"/>
    </uptodate>

วันพุธที่ 25 พฤศจิกายน พ.ศ. 2558

อยู่เหงาๆ เราไปเที่ยว - สิงคโปร์ (1 day in Singapore)

สวัสดีครับ ทุกท่าน วันนี้เราจะพาทุกท่านไป อิไล้ กันที่ สิงคโปร์ น้ะจ้ะ

แต่คราวนี้ เป็นอิไล้แบบประหยัดทรัพย์กันน้ะจ้ะ คือ เน้นเข้าของฟรี เป็นหลัก อะไรที่เสียเงิน เช่น พิพิธภัณฑ์ที่เสียตังค์ โน่นนี่นั่น เราจะพยายามหลีกเลี่ยง ฮาๆ

มาดูการเดินทางกันก่อน

การเดินทาง

รถไฟฟ้า

รถไฟฟ้าแม่มไปเกือบทุกที่ 

1) จากสนามบินชางฮี ( Changi Airport )
สะดวกมากถ้ามาจากสนามบินชางฮี ( Changi ) สามารถขึ้นได้ที่ Terminal 2, Terminal 3
ใช้เวลาประมาณ 30-45 นาที ถึงย่าน มาริน่าเบย์

*** MRT ตั๋ววัน (Singapore Tourist Pass) มีขายที่สนามบินด้วย
แถมเปิดให้ refund ได้ถึงเที่ยงคืนโน่น

2) จาก โจโฮ บารู ( Johor Bahru )
แต่ถ้าตั้งตั้งที่ โจโฮร์ บารู ( Johor Bahru ) ที่ด่าน woodland หลังผ่าน ตม ของมาเลเซียมาแล้วลงมาด้านล่าง จะมีรถเมล์ จอดอยู่ 
Causeway link หรือ SBS Transit ซึ่ง สามารถเลือกได้ว่า จะไปลงที่ไหน

2.1) ลง Kranji MRT, Singapore 
เคยลองนั่ง CW2N 
Woodland, Malaysia - Kranji MRT, Singapore : ราคา 1.50 RM
ขากลับ Kranji MRT, Singapore - Woodland, Malaysia : ราคา (1.5 มั้งจำไม่ได้) SGD

*** ถ้าจะซื้อ MRT ตั๋ววัน (Singapore Tourist Pass) จาก Kranji MRT ไม่มีขาย ต้องนั่งมา Ang Mo Kio จาก Kranji MRT มา Ang Mo Kio MRT ราคา 2.2 SGD

2.2) ลง Queen Street, Singapore มันจะมาลงแถวๆ Sim Lim Square
จากที่เคยลองนั่ง CW2 
ขามา Woodland, Malaysia - Queen street, Singapore : ราคา 3.40 RM
ขากลับ Queen Street, Singapore - Woodland, Malaysia : ราคา 3.30 SGD

MRT ตั๋ววัน : The Singapore Tourist Pass

เห็นเขาว่าใช้กับ MRT, LRT train, แล้วก็ รถบัสสาธารณะ ได้ด้วย (ไม่รวม Premium bus เช่น Express, Fast Forward, Night Rider, Nite Owl, Chinatown Direct, Jurong Island, Bus Plus services, Sentosa Express train)  
แต่เคยลองนั่งแค่ MRT แหะ

Singapore Tourist Pass ของ EZ-Link Pte Ltd ( http://www.thesingaporetouristpass.com.sg หรือ customer service : 6496 8300 เวลาทำการ 0800-1800 ทุกวันยกเว้นวันหยุดนักขัตฤกษ์ )

1) ขายที่ไหน
แต่ขายโดย Transit link PTE ที่ Transit link Office ซึ่งไม่ได้มีทุกสถานี MRT น้ะจ้ะ มีแค่ บางสถานีเท่านั้น
ด้านล่างนี่ ลิสต์ สถานีที่ขาย (TransitLink ticket Office) รวมทั้งเวลาเปิดปิด

Changi Airport    08:00 am - 03.45 pm
                             04:45 pm - 09:00 pm daily

Orchard   10:00 am - 09:00 pm daily

Chinatown 12:00 pm - 03.45 pm
                   04:45 pm - 07:30 pm daily

City Hall   09:00 am - 09:00 pm daily

Raffles Place 08:00 am - 09:00 pm on Weekday
                      08:00 am -05:00 pm on Saturday
                      Closed on Sundays and Public Holidays

Ang Mo Kio  08:00 am - 09:00 pm daily

HabourFront 08:00 am - 09:00 pm daily

Bugis 10:00 am - 09:00 pm daily

Lavender 12:00 pm - 07:30 pm
                 Closed on Public Holidays

2) ราคาเท่าไหร่
มันมีแบบ 1 วัน 2 วัน 3 วัน
2.1) แบบ 1 วัน
ค่ามัดจำ 10 SGD (คืนได้เมื่อคืนตั๋ว แต่ต้องคืนใน 5 วันหลังจากที่ซื้อ)
ค่าบัตร 10 SGD
รวม 20 SGD

2.2) แบบ 2 วัน
ค่ามัดจำ 16 SGD (คืนได้เมื่อคืนตั๋ว แต่ต้องคืนใน 5 วันหลังจากที่ซื้อ)
ค่าบัตร 10 SGD
รวม 26 SGD

2.3) แบบ 3 วัน
ค่ามัดจำ 20 SGD (คืนได้เมื่อคืนตั๋ว แต่ต้องคืนใน 5 วันหลังจากที่ซื้อ)
ค่าบัตร 10 SGD
รวม 30 SGD

3) คืนตั๋วได้ที่ไหน
สามารถคืนได้ที่ TransitLink ticket Office ตามด้านบน และ SMRT Passenger Service Office ที่ MRT สนามบินชางฮี

ถึงแม้ว่า รถไฟฟ้าจะเปิดถึงเที่ยงคืน ทุกวัน แต่สังเกตว่า TransitLink ticket Office ส่วนใหญ่แม่มปิดสามทุ่ม ซึ่งจากประสบการณ์ตรงนั่งไปลง Ang Mo Kio สามทุ่มพอดีเป๊ะ แต่พอเดินไปสถานีขายตั๋ว แม่มปิดแล้ว !!! มาถึงมู่ลี่ก็ปิดแล้ว ฉันมาตรงเวลาพอดีเป๊ะนะ !

เลยไปถามคนที่ป้อม (TransitLink ticket Office จะแยกต่างหากจากป้อมที่แลกเหรียญที่มีคนอยู่) เขาแนะนำให้ไป SMRT Passenger Service Office ที่ MRT สนามบินชางฮี ซึ่งเวลาทำการ คือ 5.30 am - midnight daily

แต่แต่แต่ คือ มาจาก Johor Bahru มาเลเซียไง จะให้นั่งไปสถานี MRT สนามบิน เพื่อคืนตั๋ววัน แล้วนั่ง MRT กลับมาเนี่ย เปลืองทั้งเงิน เปลืองทั้งเวลา 
และชั้นก็มาวันเดียว ไม่มีแผนจะถ่อมาอีกภายใน 5 วัน ที่เขาให้คืนตั๋วด้วย ( จาก Permas Jaya เข้ามาสิงคโปร์ นี่เป็นชั่วโมงน้ะจ้ะ )
ด้วยความงก 10 SGD เลยไปขอร้องนายสถานีที่แลกเหรียญให้เขาช่วยคืนให้
นายสถานีขอใบเสร็จตอนซื้อ Singapore Tourist Pass ฉันเองก็หาไม่เจออีก ตอนนั้นก็จำไม่ได้ว่าเขาให้ใบเสร็จหรือเปล่า แต่ฉันบอกว่าพิสูจน์ว่าเป็นตั๋วของวันนี้ได้ เด๋วจะแตะออกประตูให้ดู
เขาใจดียอมคืนให้
เลยได้เงินคืนมา 10 SGD โล่งอก

4) คุ้มไหม
ถ้าถามว่า Singapore Tourist Pass คุ้มไหม จากที่คำนวณมั่วๆ จาก Kranji มา Ang Ko Mio ประมาณ 2 เหรียญกว่าๆ 
นั่งประมาณ 5 เที่ยวก็คุ้ม 10 SGD แล้ว 
จากที่ลองนั่ง ปรากฏว่า ราคาแม่มพอๆกับหยอดเหรียญเลยว่ะ บางสถานีแม่มก็ใกล้กันเกินไป
แต่ถ้าใครใช้เยอะก็น่าจะคุ้มอยู่นะ
แต่มีข้อเสียอย่างที่บอก ว่า คืนตั๋วได้ตอนสามทุ่ม one day trip ลำบากหน่อย เที่ยวได้ถึงสามทุ่ม 
แต่ถ้ามีหลายวันก็ไปคืนวันอื่นก็ได้

รถเมล์
เพื่อนที่ทำงานอยู่ที่สิงคโปร์ บอกว่า ขึ้นรถเมล์ ก็สะดวกและถูก แต่ก็ยังไม่เคยลอง

ของกิน
สิงคโปร์มีทั้งของกินทั้งอาหารจีน และ อาหารมาเลย์

มื้อกลางวัน 
เราไปกินที่ศูนย์อาหารข้างล่าง People's park Complex ร้านอาหารเรียงรายกัน ดูคล้ายๆ food court เยอะมากกกก อยู่แถวๆ Chinatown เหตุผลที่เลือก เพราะ อาหารจีน ที่เวอร์จิเนีย มันถูก เลยเหมาๆไปว่า อาหารจะถูก (เกี่ยวไหม chinatown เมืองไทยก็ราคาไม่ถูก)
สนนราคา 5 SGD ( บะหมี่ไก่ 3.5 SGD + น้ำมะนาว 1.5 SGD ) 

มื้อเย็น
เราไปกินตามที่หนังสือแนะนำ ที่ 67 Killiney Kopitiam แถว Orchard เพราะกลับมาจาก Emerald hill road พอดี
แพงหน่อย แถมหมี่สยามเผ็ด แล้ว เราดันสั่ง Chendal ที่เป็นของหวานมาพร้อมกัน 
กินไม่ค่อยเป็นสุข เพราะว่า จะรีบกิน Mee siam ไม่ได้เพราะเผ็ด แล้วน้ำแข็งของ Chendal ก็ยังจะละลายอีก น้ำเกือบล้นถ้วย 
สนนราคา 8.10 SGD (Mee siam 3.8 SGD + Chendal 4.3 SGD )

โรงอาหารที่ห้างที่ MRT Expo
คราวก่อนพอมีเวลาก่อนขึ้นเครื่อง เลยออกมาแรดที่ห้างที่ MRT Expo ซึ่งห่างจาก MRT Changi Airport เพียง 1 ป้ายเท่านั้น 
ห้างก็คือห้าง มีพวกเสื้อผ้าผู้หญิง รองเท้า โน่นนี่นั่น
อาหารตอนนั้น กิน Chickhen Cutley      
สนนราคา 5.50 SGD

ที่เที่ยวสิงคโปร์
เขาแบ่งเป็นหลายๆ ย่าน
เช่น 
- ย่าน Chinatown 
วัดต่างๆ แหล่งขายของ

- วัดเวกไฮ่เชงเบียว (Wak Hai Cheng Bio Temple)






- Yakun Kaya Toast
ร้านต้นตำรับ อยู่แถวนี้นะ
แต่เคยลองทานแล้วที่ Yakun Kaya สาขา สนามบินชางฮี เลยแวะผ่านเฉยๆ

ใครอยู่ไทยไปลองกันได้ที่ I'm Park สามย่าน

- พิพิธภัณฑ์ ฟุ๊กตั๊กกี่ ( Fuk Tak Ghi Museum )
กลายเป็นร้านอาหารไปแล้ว หาตั้งนาน

- วัดเทียน ฮก เก๋ง ( Thian Hock Keng Temple )


 เขาปิดป้ายว่า ห้ามถ่ายรูป แต่หมายความว่า ตั้งแต่ตรงแท่นบูชา ด้านหลังโน่นไปจนถึงพระพุทธรูป ห้ามถ่าย ข้างนอกนี่ถ่ายได้ ถามรภป ที่ยืนอยู่นั่นมาแล้ว




- วัดพระเขี้ยวแก้ว (Buddha Tooth Relic)
เรียกว่าเป็นพลังแห่งศรัทธาจริงๆ วัดนี้อลังการยิ่งกว่า วัด เล่ง ไน ยี่ 2 ที่บ้านเราอีก

วัดนี้มีหลายชั้น ต้องขึ้นลิฟต์ไป ชั้นบนๆ ประดิษฐาน พระบรมสารีริกธาตุ ถ่ายรูปไม่ได้น้ะจ้ะ
 วันนั้นไปเขาถ่ายทีวีพอดี

 ไปเจอเขาทำพิธีพอดี
หลังจากนั้นพระจะพาคนในพิธีเดินเวียนรอบด้วย





 ระฆังใหญ่บนดาดฟ้า




 China town จย้ะ


ตรุษจีนพอดี
ที่มาเลเซีย สิงคโปร์ นี่ ตรุษจีน คึกคักกว่าบ้านเรา

 - Singapore city gallery




กทม ก็เคยจัด นิทรรศการ พัฒนาพื้นที่ กทม คล้ายๆ กันกับ แบบนี้
แต่เป็นแบบเวียน
จัดที่ siam square one แล้ว เวียนไป พารากอน
น่าจะ fix แบบนี้

- ย่าน Orchard 
แหล่งช็อปปิ้ง รวมห้าง ฮายโซว

- Emerald Hill Road ดูตึกรามบ้านช่อง ไม่ได้อะไรมาก

- Opera Gallery ชั้น 4 ห้าง ION Orchard (MRT Orchard โผล่ใต้ห้างเลย) 
ห้ามถ่ายรูป

- ย่าน Marina Bay

- Fountain of wealth น้ำพุแห่งความร่ำรวย
อยู่บนถนน เทมาเส็ก

- Merlion park
สิงโตพ่นน้ำ สัญลักษณ์เมืองสิงคโปร์นั่นเอง



- Esplanade
โรงละครหนามทุเรียน
เดินผ่านเฉยๆ


- Marina bay sand
ย่านที่อยากไปถ่ายรูปมากๆ
ตอนแรกไม่เคยไป นึกว่า สิงคโปร์มีที่เที่ยวแค่ตรงนี้


ข้างในมีคาสิโน เคยไป แต่ปิด










- Promenade
ตอนกลางคืน มีโชว์น้ำพุ 
แสงสีสันสวยงาม เพลงเพราะ 
แสงไฟจากหน้าจอ มือถือ ไอแพด ก็เยอะเช่นกัน
เราเองดูรอบสองทุ่ม พอจบรอบก็ถ่อจาก MRT Bay front ไปถึง MRT Ang Mo Kio สามทุ่มพอดีเป๊ะ

- Fort canning park
สวนสาธารณะบนเขา เดินกันหอบเลย ใครใช้ให้ไปสร้างบนเขาฟร่ะ 

- Armenian Church

- St andrew's Cathedral
ตอนงาน ลีกวนยู เขาเอารถ ตำรวจมาจอดในนี้ตรึม
เพราะว่า ทำเนียบ ที่ตั้งศพให้คนไปเคารพเขาอยู่แถวนี้
วันที่เขาเปิดให้คนทั่วไป ไปเคารพศพ ต่อแถวแค่ 5 ชั่วโมงเท่านั้นเอง

เราเองได้มีโอกาสอยู่ที่นั่น ตอน เขาเปิดให้คนทั่วไปไปเคารพศพ ลีกวนยู พอดี
แถวทำเนียบเขากั้นให้เดินทางเดียว เป็นระเบียบเรียบร้อยมาก
คนเยอะมากเช่นกัน
ได้ข่าวว่า วันเผาหรือฝังเขาตัดเน็ตในประเทศด้วย

- Garden by the Bays
ซึ่งเข้าฟรีเหมือนกัน แต่ถ้าเข้าตัวหนอนสองตัว จะต้องจ่ายตังค์ 
ที่นั่งริมน้ำลมเย็นดี

สรุปค่าใช้จ่าย ประจำวันนี้
Perma Jaya Malaysia-Woodland Malaysia    2.5 MYR
Woodland Malaysia-MRT Kranji                  1.5 RM
MRT Kranji-MRT Ang Mo Kio                    2.2 SGD
One day pass                                                  10 SGD
lunch                                                               5 SGD ( บะหมี่ไก่ 3.5 SGD + น้ำมะนาว 1.5 SGD ) 
dinner                                                              8.10 SGD (Mee siam 3.8 SGD + Chendal 4.3 SGD )
MRT Ang Mo Kio-MRT Kranji                    2.2 SGD
MRT Kranji-Woodland Malaysia     ประมาณ 1.5 SGD
Taxi Woodland Malaysia-Permas Jayas ประมาณ 20 MYR ( เพราะกว่าจะไปถึง Checkpoint แม่มก็สี่ทุ่มแล้ว รถเมล์หมดตั้งแต่ 2-3 ทุ่ม จ่ายแพงสิบเท่าเลยสาดดด )

รวม 28.99 SGD (ประมาณ 733.82 บาท) กับ อีก 24 RM (ประมาณ 203.13 บาท)
ราคาพอๆกับทริป 1 วัน กินกุ้งที่เกาะล้าน เบย เป็นไปได้ยังไง

ยิ่งช่วงนี้มีสายการบิน lowcost ด้วยแล้ว การไปสิงคโปร์ก็ยิ่งง่ายเข้าไปใหญ่
แต่การจ่ายถูกก็แลกด้วยข้อเสีย คือ ไม่มีอาหารและน้ำเสริฟ์บนเครื่อง ต้องซื้ออย่างเดียวเลย
แล้วก็ชาร์จค่ากระเป๋าเพิ่มถ้าน้ำหนักเกิน
เราเองเคยตกเครื่องทีนึง ช่วงนั้นเป็นช่วงหยุดยาวคนสิงคโปร์บินออกนอกประเทศเยอะ ต้องไปใช้บริการ tiger air โดนทั้งชาร์จน้ำหนักกระเป๋าเกิน และ หิ้วท้องกลับบ้านตอนเช้าด้วยเลย

ยังมีโม้ให้ฟังอีกสองย่าน

- ย่าน Little India
ตอนแรกกะว่าจะไปในทริปนี้ แต่ว่าไม่ทัน เลยแอบหนีมาแรดอีกจนได้

- ส่วนใหญ่เป็นวัดแขก ซึ่งบางแห่ง เก่ากว่า ที่วัดแขกที่สีลมอีก
บางที่ปิดเป็นบางเวลา อย่างเช่น วัดศรี ศรีนิวาสเปรุมาล (Sri Srinivasa Perumal Temple) ตอนไปถึงนี่ปิดพอดี

- วัดเจ้าแม่ดวกอิมตงฮุดโซ (Kuan im Thong Hood Cho Temple) 
ห้ามถ่ายภาพ

- Bugis Villege, Bugis Street
อยู่ใกล้ที่ขึ้นรถเมล์ไปมาเลเซีย
มี Mc Donald, KFC ฝากท้องได้
เขาจะถามว่าเอา A la cart หรือ meal (ซึ่งก็คือเป็นชุดนัั่นแหละ)
Bugis Villege บันไดหนีไฟแนวดี 

- Haji lane แหล่งช็อป เก๋ไก๋ 
>> ชอบร้านโคมไฟแบบ อิสตันบูล สวยดี ใครนึกภาพไม่ออกให้นึกถึงร้านมืดๆ แล้วมี โคมไฟชั้นอิสตันบูลของ Terminal 21 แขวนเยอะๆ
>> ร้านแบบอาหรับเยอะ เห็นบารากู่หลายร้านเลย
>> แถวๆนั้น พวงกุญแจเหล็กของที่ระลึกสิงคโปร์ถูกกว่าที่ chinatown อีก เป็นไปได้ยังไง (อันละประมาณ 1SGD)
>> ตอนกลางคืนน่าจะคึกคัก ร้านเหล้าเยอะ

- ย่าน Sentosa
ย่านฮายโซว Universal Studio ก็อยู่ตรงนี้ ของแพง โรงแรมแพง ซึ่งเราหลีกเลี่ยงในทริปนี้น้ะจ้ะ

- Universal Studio Singapore
มาแอบโม้ถึงความอิไล้หน่อย คราวก่อนโน้น ก็ไปสนุกที่ Universal Studio Singapore ไปแล้ว จ่ายเต็มราคา เพราะไปซื้อตั๋วข้างหน้าด้วย แพงมากกกก (เห็นเขาบอกซื้อทางเน็ตลดได้ หรือ ซื้อที่ที่ขายตั๋วที่สถานีรถไฟหรือที่ไหนสักแห่งอะลดได้ )

แต่ Universal Studio ก็คุ้มค่า ที่ชอบมาก คือ 
- Transformer 3D (ฉายหนังสามมิติ อารมณ์จะคล้ายๆบ้านผีสิงที่ Busch Garden Virginia)
- Mummy (ฉายหนังสามมิติเหมือนกัน มีฉีดไฟจริงๆ แต่เคยเจอมาแล้วที่ Escape from Pompae ที่ Busch Garden เลยไม่ตื่นเต้นมาก     ตอนท้ายนึกว่าจะมีอะไรร่วงลงมาจากโลง แต่กลับไม่มี)
- (Battlestar Galactica รถไฟตีลังกาปิดซ่อมอะแอบเซ็ง) 
และอื่นๆ ที่ก็โอเค
- Madagascar รถไฟหวานเย็น แต่ตื่นเต้นตอนนึกว่าจะเปียก
- Far far away : Shrek 4-D Adventure
- Jurassic Park Rapids Adventure ถ้านั่งถูกที่จะไม่เปียกมาก
- Lights Camera Action! Hosted by Steven Spielberg
- New York Street ก็น่าตื่นเต้น แต่ตื่นเต้นน้อยลงไปหน่อย เพราะว่าเคยไปเดินของจริงมาแล้ว อันนี้เลยดูจำลองมาเล็กๆ
- Sesame Street Spaghetti Space Chase ตะลึงกับดวงดาว
- Waterworld คล้ายๆ stunt man show ที่ซาฟารีเวิร์ด แต่อาจเปียกถ้านั่งโซนเปียก
- Monster Rock เพลงเพราะดีนะ

สรุป
สิงคโปร์ในบล็อกนี้เราใช้เวลาเที่ยวสามวัน
วันแรก : chinatown, orchard, marina bay
วันที่สอง : little india, fort canning park, armenian church, st andrew's church, gardens by the bay
วันที่สาม : universal studio

วันจันทร์ที่ 16 พฤศจิกายน พ.ศ. 2558

VirtualBox share clipboard

1) install guest addition follow instruction here
2) 
Settings > General > advanced tab > 
Shared Clipboard : bidirectional
Drag and drop : bidirectional

ref : http://www.liberiangeek.net/2013/09/copy-paste-virtualbox-host-guest-machines/

วันอังคารที่ 14 เมษายน พ.ศ. 2558

สถิติผู้ใช้ Facebook 2014 ประเทศไทยอันดับสี่ของโลก


Facebook ได้เติบโตขึ้นจากชุมชนนักศึกษาสหรัฐอเมริกาเป็นชุมชนระดับโลก แต่ปัจจุบันพบว่าผู้ใช้ 15 % เท่านั้นที่มาจากสหรัฐและแคนาดา  ข้างล่างนี้เป็นสถิติของผู้ใช้งาน เฟซบุ๊ค ครับ

มีผู้เยี่ยมชมในปี 2014 1,393 ล้านคน
โดยแบ่งออกเป็น
ผู้เยี่ยมชม ชาวเอเชีย แปซิฟิค 449 ล้านคน ( เพิ่มขึ้น 51 % )
 ผู้เยี่ยมชม ชาวยุโรป 301 ล้านคน ( เพิ่มขึ้น 15 % )
ผู้เยี่ยมชม ชาวสหรัฐอเมริกา และ แคนาดา 208 ล้านคน ( เพิ่มขึ้น 8% ) 
ผู้เยี่ยมชม อื่นๆจากทั่วโลก 436 ล้านคน ( เพิ่มขึ้น 43% )

โดย 526 ล้านคน เข้าถึง เฟซบุ๊ค ผ่านทาง app หรือ โทรศัพท์มือถือ เพียงอย่างเดียว

โดยคอมพิวเตอร์สาธารณะที่ถูกใช้เข้าถึง เฟซบุ๊คมากที่สุด (วัดจากเดือนกุมภาพันธ์) คือ
ตุรกี 89.4%  (โดยเฉลี่ย 44 ครั้งต่อเดือน)
อุรุกวัย 88.1%
บราซิล 83.8%
ประเทศไทย 74.9%
อังกฤษ 66.1%
เยอรมัน 64.3%
สหรัฐอเมริกา 63.3%
ออสเตรเลีย 60.1%
อินเดีย 57.0%

โดยรายได้ของเฟซบุ๊ค มากที่สุด ยังคงมาจาก สหรัฐอเมริกา และ แคนาดา โดยอยู่ที่ 9$ ต่อคนใน Q4
ขณะที่ เอเชีย แปซิฟิค ได้แค่ 1.27$ ต่อคนเท่านั้น

รายละเอียดดูได้จาก infographics ด้านล่างครับ



20 สัญญาณที่บอกว่าคุณได้พบเนื้อคู่ของคุณให้แล้ว



มีความเชื่อที่ว่าก็คือว่าเมื่อเราตาย จิตวิญญาณของเราจะถูกแบ่งออกเป็นชิ้น ๆ
ชิ้นส่วนเหล่านั้นจะถูกรวมกับชิ้นส่วนของจิตวิญญาณอื่น ๆ ในการสร้างคนให้เกิดขึ้นมาใหม่
เมื่อเราหาแฟน จริงๆแล้วเรากำลังหาชิ้นส่วนของจิตวิญญาณในพวกเขา และ พวกเขากำลังหาชิ้นส่วนของจิตวิญญาณของพวกเขาในตัวของเรา
ดังนั้นเมื่อเราพบใครบางคนที่เราคลิกด้วยอย่างรุนแรง แสดงว่าเราได้พบกับคนที่เป็นเนื้อคู่ของอย่างชัดเจนแล้ว

นี่เป็น 20 สัญญาณที่คุณได้พบเนื้อคู่

1. เนื้อคู่ของคุณซื่อสัตย์กับคุณ
2. เนื้อคู่ของคุณให้การสนับสนุนคุณอยู่เสมอ
3. เนื้อคู่ของคุณมีเข็มทิศนำชีวิตที่คล้ายกัน
4. เนื้อคู่ของคุณจุดประกายแรงปรารถนาที่รุนแรงในตัวคุณ
5. คุณสามารถสื่อสารได้อย่างสะดวกสบายกับเนื้อคู่ของคุณ
6. เนื้อคู่ของคุณทำให้คุณรู้สึกพิเศษ
7. เนื้อคู่ของคุณร่วมฟันฝ่าอุปสรรคในชีวิตกับคุณ
8. เนื้อคู่ของคุณชื่นชมความรักของคุณ
9. เนื้อคู่ของคุณคิดว่าคุณเจ๋งอะไรอย่างนี้
10. เนื้อคู่ของคุณช่วยให้คุณรู้สึกปลอดภัย
11. คุณรู้สึกว่าคุณสามารถไว้วางใจเนื้อคู่ของคุณ
12. คุณไม่เพียงแค่ได้สัมผัสกับความรักที่ไม่มีที่สิ้นสุดของพวกเขา แต่คุณรู้สึกว่ามัน
13. คุณรู้ใจเนื้อคู่ของคุณมากกว่าคนอื่น
14. คุณสามารถนั่งอยู่เฉยๆ แต่รู้ว่าเนื้อคู่ของคุณคิดอะไรอยู่
15 .แม้จะอยู่ในช่วงเวลาโศกเศร้า คุณพบว่าเนื้อคู่ของคุณนั้นแข็งแกร่ง
16. เนื้อคู่ของคุณเล่าความลับทั้งหมดของพวกเขาให้คุณฟัง รวมทั้งความหวังและความฝัน
17. เนื้อคู่ของคุณมีความคิดเกี่ยวกับการเลี้ยงดูลูกเหมือนกันกับคุณ
18. เนื้อคู่ของคุณช่วยคุณตัดสินใจเรื่องในชีวิตที่สำคัญและเรื่องรายย่อยอื่นๆ
19. เนื้อคู่ของคุณผลักดันให้คุณดีขึ้นและคุณก็ดีขึ้นจริงๆ
20. คุณและเนื้อคู่ของคุณมีความสุขและประสบความสำเร็จร่วมกัน

ref : higherperspectivesAli Nishan

วันจันทร์ที่ 6 เมษายน พ.ศ. 2558

ใครเล่นทวิตเตอร์ คลิกเลย มีของเล่นใหม่มาให้เล่น




สวัสดีจ้ะ วันนี้เราขอแนะนำ เพื่อนใหม่ @sendmebot

เอาไว้ส่งฝากส่งข้อความหาเพื่อนในทวิตเตอร์จ๊ะ

ตัวอย่างเช่น นางสาว A มีความในใจจะบอกกับ นาย @dsin

แต่ไม่กล้าบอกตรงๆ ก็สามารถฝาก @sendmebot มาบอกได้
โดยการส่ง direct message มาหา @sendmebot ว่า
"@dsin น่ารักจังครัช"

เสร็จแล้ว @sendmebot จะทวีตข้อความให้ตามนี้จ้ะ



หมายเหตุ 
- ต้อง follow @sendmebot ก่อน รอประมาณ 5 นาที @sendmebot จะ follow กลับ พอรู้จักกันแล้ว จึงจะส่ง direct message หา @sendmebot ได้
- อย่าฝาก @sendmebot บอกข้อความหยาบคาย คำด่า คำให้ร้ายผู้อื่นในทางไม่ดีน้ะจ้ะ

วันเสาร์ที่ 3 มกราคม พ.ศ. 2558

อยู่เหงาๆ เราไปเที่ยว : 普門報恩寺 วัดโพธิ์แมนคุณาราม ( revisited )

普門報恩寺 วัดโพธิ์แมนคุณาราม

หลังจากที่เคยไปมาเมื่อ 6 ปีที่แล้ว วันนี้ได้ถือโอกาส ไปอีกครั้งหนึ่ง

ซอยที่อยู่ของวัดนี่ อะไรๆ ก็เปลี่ยนไปเยอะจริงๆ ( ก็ หก ปี มาแล้วอะนะ )

รูปที่ถ่ายได้ ก็เปลี่ยนไปมากเหมือนกัน ถ้าใครคลิกไปดูจะรู้ได้เลยว่า ฝีมือถ่ายรูปตอนนั้น กระจอกงอกง่อย มาก


วัดโพธิ์แมนคุณาราม เป็นวัดเก่าวัดแก่ ที่สร้างสวยงาม และ มีความเงียบสงบ

โดยส่วนตัวแล้ว ผังของ วัดเล่งไนยี่ 2 ที่ บางบัวทอง มีลักษณะคล้ายวัดนี้อยู่มาก หรือว่า วัดจีน มีผังที่คล้ายๆ กัน ก็ไม่ทราบได้

วัดนี้อยู่แถว ซอย สาธุประดิษฐ๋ ครับ สามารถทะลุจาก พระรามสาม จาก ถนน นราธิวาสราชนครินทร์ ได้ด้วย

ถือเป็นการเอาฤกษ์เอาชัย ของทริปแรกของปี ทีเดียว

เชิญยล ครัช

普門報恩寺 วัดโพธิ์แมนคุณาราม

普門報恩寺 วัดโพธิ์แมนคุณาราม

普門報恩寺 วัดโพธิ์แมนคุณาราม

 普門報恩寺 วัดโพธิ์แมนคุณาราม





LinkWithin

Related Posts Plugin for WordPress, Blogger...