Thursday 31 December 2015

Singapore : At First Sight

SINGAPORE if we hear the name then the first thing that comes to our mind is it is one of the developed countries in the world with extraordinary facilities to its citizens and attracts millions of tourists from around the world.

There are lots of history behind its development which I planned to write in next blog. Here I will give my view as it is I experienced.

When we are just some 1000 of meters to Singapore Changi Airport, we could see ships that are embarking and disembarking from Singapore port. When we approach still further, we could see beautiful man-made landscape gardens and water bodies.

Ariel view of Singapore

As Singapore is known for its meritocracy, we could see those starting from Airport itself. They have electronic rating machine everywhere in airport right from washroom to immigration check counters with the name of the person responsible in it. We could rate based on how we feel and on our experience.

Singapore is a multilingual, multicultural & multiracial country. The official business language is English but still people speaks different languages. Below is the 'Welcome' written in different languages which the Singapore people speaks

Changi Airport

I should be honest to say that the Tamil used here are more proper and less mix of English words. For example I have seen they used 'தளவரிசை' instead of  'Platform' in MRT startions.

One tip what I could give is lots of useful tourist information pamphlets are available in airport, pick the ones which are helpful.

Temperature in Singapore is always measured in ranges between Hot, Hotter or Hottest. I was carrying one jacket thinking it was December but that was of no use. We hardly get natural wind, so they installed giant fans in all public places. Always good to carry facewash cream, sunscreen protection cream and a towel with us when we are going out. I have seen many use small electric mobile fan which when attached to mobile, starts giving breeze. Once we get inside bus, MRT or malls then it will be cold as air-conditioners are installed. The best attire to roam around to Singapore is thin shorts and a tshirt.

Giant Fan installed in one of the MRTs

Transportation facility is well connected with all the parts of the country as expected in any developed country. All the parts of the cities are well connected by metro trains with five different lines and operated by SMRT. And the buses are operated by SBSTransit with high frequency. The best way to pay for these transportation are by using ezLink smart card which can be recharged and can be used again, the minimum amount to recharge is S$10. We can get a copy of the MRT map from ticketing counter which helps us to plan our MRT route. One problem with bus service, they do not mention what the next stop is, so either we should count the number of stops we should cross before our destination or we should ask for help from co-passengers. Apart from MRT and buses, numerous number of taxis are available.

Clockwise from the top
1. City Bus
2. Taxi
3. Inside MRT
4. ChinaTown MRT station

Number of personal vehicles are very very less in numbers and the reasons beings are

  1. Very high vehicle import tax, more than 100% of the vehicle cost
  2. Restriction on Certificate of Entitlement licence. Again this can exceed 100% of car value 
  3. The life of the card should not exceed 10 years. This restriction makes Singapore second largest exporter of used cards next to Japan.
  4. Toll pricing. Singapore is the first country to introduce the ERP (Electronic Road Pricing) system. Thus in taxis we could see ERP charges in the bill, if we went via toll roads.

Housing for residents are managed by Singapore's Housing and Development Board. People cannot own a house but they can take it on lease for 99 years from the government. There are large varieties of flat types for all housing budgets. All apartments comes with amenities like play ground, small convention center and other basic amenities.

Housing units constructed by HDB


Monday 28 December 2015

Applying for Singapore Visa

This post is intended for Indian citizens who plans to visit Singapore.

There are two options through which we can apply for a Singapore tourist visa

(1) SAVE (Submission of Application for Visa Electronically)


In this option, we should know someone in Singapore who holds the citizenship or Permanent Residence with valid SingPass account

Below is the link from where a SingPass holder can apply for visa electronically on behalf of traveler

https://save.ica.gov.sg/save-public/

(2) Applying through High Commission & Consulate


We have Singapore High Commission in New Delhi and Consulate offices in Chennai & Mumbai. If applying from Bangalore, then visa application will go to Chennai.

For applying Singapore tourist visa, we can approach any of the local travel agents. I inquired many travel agents and finally felt like ThomasCook (http://www.thomascook.in/) is more transparent in their fees.

We can make payment to ThomasCook online and can print the receipt and submit it along with the documents to the nearest ThomasCook office. I went to their office in M.G.Road, Bangalore. It is just adjacent to the M.G. Road metro station.

The list of documents that we need to carry:


  1. Passport with minimum 6 months validity
  2. Form 14A (here we need to mention where we are going to stay, how long the duration of stay, purpose etc)
  3. Address proof (If in case the address in passport is different from current address)
  4. 2 Photographs with white background and 80% face
  5. Covering Letter (Checkout in Google for sample letter else ThomasCook people only will prepare one)
  6. Copy of onwards and return ticket


Approximate cost of applying for Tourist Visa is 1900 INR, this includes Embassy Fees of S$30, VFS charge 150 INR and ThomasCook service charge 300 INR.

Minimum time to get the Visa is approximately 3 working days. I submitted it on Thursday and I got it back on following Tuesday.

Info: We often us the term Embassy, High Commission and Consulate in synonymous. Below link highlight the differences

https://www.quora.com/What-is-the-difference-between-high-commission-consulate-and-embassy

In both the case i.e., whether we receive it through SAVE or through consulate, our visa will be a print out in A4 size paper and nothing will be pasted in our passport. And we have to show that eVisa during departure.


Buying foreign currencies:


There are many agents selling foreign currencies within the city, it is always best to buy in the city rather buying in Airports or converting after landing in new land. I browsed through HDFC Forex, SBI Foreign Traveler Card and ThomasCook Borderless prepaid card. Finally I decided to go with ThomasCook, the reason being was their simple formalities, quick work and easy reload option.

Four things to be careful while buying a prepaid card

1. It should be either Visa or MasterCard as it is accepted worldwide by almost all merchants
2. How easy the reload option is. We cannot predict precise expenditure that we expect in new country, if incase we are running out of money then it should be easy to topup the card with simple procedure.
3. How easy the refund of excess money in the card once we are back. Also important thing to note here is whether they add additional charges.
4. How much the ATM withdrawal charges

One tip I would give is do not buy this card on Saturday as the market is closed they will fix a higher rate.

Sunday 13 December 2015

ushare in MIPS platform

If looking for a light-weight DLNA Media Server (DMS) to run in embedded device then ushare is one of the good option.


http://ushare.geexbox.org/

 The development for ushare is stopped now but still the version is good to bring up a DMS quickly. Ushare depends on libupnp and libdlna modules.


http://pupnp.sourceforge.net/
http://libdlna.geexbox.org/

The objective of this post is to mention how to cross compile ushare successfully with its dependency for MIPS architecture.


(1) Dependency Matrix


Very first thing is the dependency matrix which I could not see anywhere and spent more time to identify that


ushare - ushare-1.1a
libpupnp - libupnp-1.6.19
libdlna - libdlna-0.2.4
ffmpeg - ffmpeg-1.0.10

(2) Cross compile libpupnp


(3) Cross compile ffmpeg


Export the toolchain location in PATH environment variable.

#export PATH=/user/venkateshm/work/ushare-cc/toolchain/mips4k_gcc_x86_linux_22/bin/:$PATH

#./configure --prefix=/user/venkateshm/work/ushare-cc/OUTPUT/ffmpeg --enable-cross-compile --cross-prefix=mipsel-linux- --arch=mipsel --target-os=linux --disable-static --enable-shared --enable-pic --extra-cflags=-O2 --enable-memalign-hack --disable-devices --disable-muxers --disable-encoders --disable-filters --disable-hwaccels --enable-muxer=adts --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-yasm --disable-demuxer=matroska --disable-stripping

Since we need only the libraries, we can disable the generation of executors like ffmpeg, ffplay.

In runtime, I was facing 'Illegal instruction' when av_log() API is invoked. Not sure about the root cause; for quick resolution, I commented the implementation of av_log API in libavutil/log.c file.


#vi libavutil/log.c


Comment out the implementation of av_log API

#make
#make install

(4) Cross compile libdlna


In the configure file the ffmpeg dependency was not not properly listed and that was causing 'Symbol not found' error. After that edited the configure file to resolve the problem

#export CFLAGS="-I/user/venkateshm/work/ushare-cc/OUTPUT/ffmpeg/include/"


#export LDFLAGS="-L/user/venkateshm/work/ushare-cc/OUTPUT/ffmpeg/lib"

#vi configure

Add -lavutil -lavcodec and -lswresample in line number 646

645 echolog "Checking for libavformat ..."
646 check_lib libavformat/avformat.h av_register_all -lavformat -lavutil -lavcodec -lswresample || die "Error, can't find libavformat !"
647 echolog "Checking for libavcodec ..."

648 check_lib libavcodec/avcodec.h avcodec_register_all -lavcodec || die "Error, can't find libavcodec !"

#./configure --prefix=/user/venkateshm/work/ushare-cc/OUTPUT/libdlna --cross-compile --with-ffmpeg-dir=/user/venkateshm/work/ushare-cc/OUTPUT/ffmpeg --cross-prefix=mipsel-linux- --disable-static --enable-shared --enable-debug

#make

#make install

(5) Cross compile ushare


#export CFLAGS="-I/user/venkateshm/work/ushare-cc/ushare/ushare-1.1a -I/user/venkateshm/work/ushare-cc/OUTPUT/libupnp/include/ -I/user/venkateshm/work/ushare-cc/OUTPUT/libdlna/include/"


#export LDFLAGS="-L/user/venkateshm/work/ushare-cc/OUTPUT/libupnp/lib/ -L/user/venkateshm/work/ushare-cc/OUTPUT/libdlna/lib/ -L/user/venkateshm/work/ushare-cc/OUTPUT/ffmpeg/lib/"

#export CC=/user/venkateshm/work/ushare-cc/toolchain/mips4k_gcc_x86_linux_22/bin/mipsel-linux-gcc


#./configure --prefix=/user/venkateshm/work/ushare-cc/OUTPUT/ushare --with-libupnp-dir=/user/venkateshm/work/ushare-cc/OUTPUT/libupnp/  --with-libdlna-dir=/user/venkateshm/work/ushare-cc/OUTPUT/libdlna/ --cross-compile --disable-nls --disable-strip --enable-debug --enable-dlna

There is a bug in ushare source code, before make fix the code in ushare.c:line number 191 file

# vi src/ushare.c

ip = ((struct in_addr*)&request->CtrlPtIPAddr)->s_addr;

#make

#make install


At run time, export LD_LIBRARY_PATH environment variable before executing ushare binary

# export LD_LIBRARY_PATH=/user/venkateshm/work/ushare-cc/OUTPUT/libupnp/lib/:/user/venkateshm/work/ushare-cc/OUTPUT/libdlna/lib/:/user/venkateshm/work/ushare-cc/OUTPUT/ffmpeg/lib