Setting up Shadowsocks server on AWS + clients on windows/android/linux

Intent : Secure VPN setup for bypassing firewalls. Not meant for setup of a virtual company network for secure exchange of information.

Step 1 : Setup a free tier AWS account. Can skip this step if an account is already setup. Login into your AWS account.

Step 2: Find a good location for your server. Your VPN server has to sit between the majority of the sites you access and you. For example, if you are in Asia and significant traffic is in US, HK and Tokyo make good choices. Take a look at the undersea cable map below to decide –

Courtesy : http://publichealthintelligence.org

Step 3: Choose the region in the top right corner of your AWS console.

Step 4: Browse to EC2 service

Step 5: Launch an EC2 instance.

Step 6 : Search for ubuntu instance and choose the top result (64-bit, x86)

Step 7 : Launch the instance. You may be asked to create a key or choose one. If you are creating. Make sure you download the key and keep it safely. There is no other way of logging into the newly created instance if you don’t have the key. A couple of useful links are shown on the following page. If you are new to all of this, do check out the links to understand how to login into the instance.

Step 8: Login into the instance using the key.

Step 9: Prepare for fast encryption and decryption (install libsodium). . Read this page and you will understand why – https://bearssl.org/speed.html. Also, change the TCP congestion handling algo

#install libsodium
sudo apt-get update
sudo apt-get -y install python-m2crypto
sudo apt-get -y install build-essential
git clone https://github.com/jedisct1/libsodium.git
cd libsodium
git checkout stable
./configure 
make 
sudo make install
sudo ldconfig
cd - 

#install BBR
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh 
chmod +x bbr.sh 
sudo ./bbr.sh

Step 10: Speed up the routing, congestion handling. Be extremely careful while copying and pasting these commands. You can completely mess up the system by getting it wrong.

sudo su - #all commands as root
echo  "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
echo "* soft nofile 51200" >> /etc/security/limits.conf
echo "* hard nofile 51200" >> /etc/security/limits.conf
echo "session required pam_limits.so" >> /etc/pam.d/common-session
echo "ulimit -n 51200" >> /etc/profile

Step 11 : Install and configure shadowsocks

sudo apt-get -y install shadowsocks

Edit /etc/shadowsocks/config.json

{
   "server":"0.0.0.0",
   "server_port":8888,
   "local_address": "127.0.0.1",
   "local_port":1080,
   "password":"12345678",
   "timeout":300,
   "method":"chacha20",
   "fast_open": false,
   "workers": 1,
   "prefer_ipv6": false
}

Step 12: Go to the EC2 console and edit the security group on AWS to make sure the required ports a open.

Note the name of the security group. Then go the security groups in the EC2 console.

Choose, the security group noted in the earlier step. Although not advised, just for simplicity sake, just open all ports from 1000 onwards for both TCP and UDP –

Step 13 : For client side setup, follow the instructions, go here – https://shadowsocks.org/en/download/clients.html

Setting up Algo VPN on AWS + clients on windows/android/linux

Intent : Secure VPN setup for bypassing firewalls. Not meant for setup of a virtual company network for secure exchange of information.

Step 1 : Setup a free tier AWS account. Can skip this step if an account is already setup. Login into your AWS account.

Step 2: Find a good location for your server. Your VPN server has to sit between the majority of the sites you access and you. For example, if you are in Asia and significant traffic is in US, HK and Tokyo make good choices. Take a look at the undersea cable map below to decide –

Courtesy : http://publichealthintelligence.org

Step 3: Choose the region in the top right corner of your AWS console.

Step 4: Browse to EC2 service

Step 5: Launch an EC2 instance.

Step 6 : Search for ubuntu instance and choose the top result (64-bit, x86)

Step 7 : Launch the instance. You may be asked to create a key or choose one. If you are creating. Make sure you download the key and keep it safely. There is no other way of logging into the newly created instance if you don’t have the key. A couple of useful links are shown on the following page. If you are new to all of this, do check out the links to understand how to login into the instance.

Step 8: Login into the instance using the key.

Step 9: Download Algo VPN scripts from here . Or directly –

git clone https://github.com/trailofbits/algo.git

Step 10: Follow the steps prescribed here to install the dependencies, edit the user list in config.cfg and launch the script – https://github.com/trailofbits/algo

sudo apt-get update
sudo apt-get install python3-pip
sudo apt install -y python3-virtualenv
python3 -m virtualenv --python="$(command -v python3)" .env && source .env/bin/activate && python3 -m pip install -U pip virtualenv && python3 -m pip install -r requirements.txt

While running the script, two questions are important. The rest can be left to defaults.

What provider would you like to use?
11. Install to existing Ubuntu 18.04 or 19.04 server (Advanced)

And,

Enter the public IP address or domain name of your server: (IMPORTANT! This is used to verify the certificate).

Here, you have to enter the domain name as indicated on the EC2 console. Right click on the instance and click on “Connect” to find out the domain name. It should be something like – ec2-XX-XX-XX-XX.eu-central-1.compute.amazonaws.com

Step 11: Go to the EC2 console and edit the security group on AWS to make sure the required ports a open.

Note the name of the security group. Then go the security groups in the EC2 console.

Choose, the security group noted in the earlier step. Although not advised, just for simplicity sake, just open all ports from 1000 onwards for both TCP and UDP –

Step 12 : For client side setup, follow the instructions here.

Windows installer – https://download.wireguard.com/windows-client/wireguard-amd64-0.0.29.msi

You can locate the conf files and the PNG files for scanning in a subdirectory on the server –
/algo/configs/ec2-xx-xx-xx-xx.eu-central-1.compute.amazonaws.com/wireguard

Balsa craft

Sundays present a unique challenge. As a rule that I have set for myself, I spend the whole day with kids. But finding meaning and continuity weekend after weekend proved to be more difficult than I imagined. In the modern consumer world, where there is a “drop a pill” solution for every problem, it is easy to get lost. Often, I have seen parents putting their kids in so many classes that the kid is booked from morning 10am to evening 5pm with no time to experience and absorb life at leisure. Day dreaming is possible only when a kid is provided an opportunity to get bored. Finding out what one truly loves needs a doze of boredom as well. What one loves is essentially what one does not get bored of.

I was looking for a general class of activities that have reasonable structure with good scope for skill-building, but at that same time provide enough fodder for imagination. Most importantly, my kids should love it.

(This was when she was 2 year old. About 2 years ago)

Looking at Anu hammering nails into a wooden block, I gathered that I may have have passed on my love for carpentry to her. But making carpentry easy for a 4 year old is hard! That is where Balsa comes in.

As a kid back in the school days, getting hands on Balsa in the aeronautics club used be such a privilege. Thanks to Amazon, I can get it in a variety of forms and get it right at my doorstep. To begin with, I have ordered sheets and sticks –

5mm sheets. Courtesy : Havoc Hobby

Sticks. Courtesy : Midwest Products

The sheets can be cut easily with a knife/box-cutter such as the one below. (Not to be handled by the kids). I normally involve Anushka in the planning, cut the sheet accordingly and give it to her. The sticks need no tool for cutting. So she can do it by herself. But one can use a good pair of scissors for more precision.

Box cutter. Courtesy : Stanley

A file (Bastard) is needed for plaining –

Bastard : Courtesy Stanley

The below video explains why we need filing –

And lastly, we need glue (A non-toxic glue that can be easily cleaned, washed)

Easy flow glue. Courtesy : Pidilite

Hole drilling can be managed with a simple screw driver. No power tools needed.

I have to still help her with the holding and sticking part. But I leave the planning part to her imagination. As a good side-effect, I am getting my chance at being a kid again. Our work over the last few weekends –

Two weeks ago (I guess she is imaging a children’s play area)

You can see all sorts of random sticking on the left corner, but she seems to have some kind of plan.

Status as of today. Turns out she wants to make a house with a grand entrance. For the flowers, she got some old broken hair clips.

Balsa is also very friendly to coloring. One can use water paint or sketch pens with good ease. Can’t wait to build more cool stuff. I am already building castles in the air… with Balsa.

Other posts in this series

  1. Balance beam (2017-January-28)
  2. Color Jump (2017-February-05)
  3. Balsa craft (2018-May-20)

The invisible harp!

It was bring your kid to office day at TI and my daughter’s bday was coming up soon as well.  I thought I should do something to spook a few kids with some magic. Given the choc-o-bloc schedule these days, I did not want to spend more time than 2-3 hours. Fortunately for me, my team at TI makes a secret ingredient for lots of magic – A 3D sensor.

I started with a OPT8241-CDK (Camera Development Kit). The kit provides a point cloud of 320 x 240 points. Point cloud is nothing but a collection of X, Y, Z and I (intensity) for each pixel in the camera. For example, this is what the point cloud of a lamp looks like –

Point cloud of a Lamp. Courtesy : TI VoxelViewer user guide
Point cloud of a Lamp. Courtesy : TI VoxelViewer user guide

After some thought, I decided to make a simple invisible musical instrument that even toddlers can appreciate (my daughter just turned 3). The 3D camera was to face up so that kids can move their hands over the camera to generate musical sounds. The distance of the hand from the camera would fix the amplitude and the lateral position of the hand would fix the note.

The code simply identifies the nearest blob in the scene and it’s 3D position. The ‘Z’ co-ordinate is used for the amplitude, The ‘X’ co-ordinate is digitized and used for the selecting the note. Since I decided to do everything in python, the midi-synthesis was just another line of import statement. All in all, as planned, I was able to complete the code under 2 hours. But the midi library was interesting and I ended up spending another 2 hours just playing with the various instruments available. Seriously, fluidsynth library is fun. The python code is hosted here.  If you have an OPT8241-CDK with you and Voxel-SDK up on linux, all you need to do is run the python code.

The results (At my daughter’s school) :

The Singularity of Sentience

The word “singularity” has been thrown around a lot these days; Specially in the super AI believer world. But in the lack of a better word, I don’t have a choice but to risk being guilty of sounding cliche. Singularity is a point beyond which normal set of axioms and theorems of our understanding of a certain thing break down. It is what happens to all the understanding of physics beyond the event horizon near a black hole. It is also the point beyond which your idea expressed in seemingly harmless words gets into the hands of journalists who could make it sound like anything they wish.

brain-implosion
Credits : Source image from Wikipedia modified for use.

I wrote this blog on immortality more than 10 years ago. The world has changed a lot in these years. Since then, In the order of increasing significance, the iPhone happened, re-useable rockets happened, LIGO happened, but perhaps the most important of all, a human Jeopardy champion was beaten by a very inanimate lump of silicon. Jeopardy involves the mastery of very high level of natural language skills and human context.

ibm-watson
IBM – Watson. Courtesy : Wikipedia

In the blog, I had mentioned about AI as one of the many possible paths to immortality. Given the pace of progress, today perhaps, super AI is our closest route to immortality. A super AI if done correctly, can obviously figure out the rest of the solutions for us. But stuck in a traffic Jam in a massive tunnel in Shenzhen, a certain jam in my brain suddenly cleared up and I found myself wondering about the meaning of it all. I have been lately reading up (listening actually!) the work of some of the leading “human” thinkers of our time who are all gung-ho about AI – Calum Chace, Nick Bostrom,  Ray Kurweil…. The one thing that struck me was that all of the above were looking at two extreme outcomes of us final having a super AI moment –

  • The supposedly bad outcome -The super AI is evil… I don’t want to explain the rest as there a zillion hollywood movies about this one. iRobot, Terminator et. al.
  • The supposedly good outcome – The super AI is all nice and polite. It thinks humans are love-able puppies that need to be take care of. Therefore, it solves all the world’s sufferings, ushers in a socialist regime where everyone is happy!!

Wtf!!?? The second outcome is probably the one we should be more worried about. Picture this – There is this smart ass in your office who comes up with an idea that is better than yours every single time you come up with what you think is an original idea. Now imagine 100 others like that who simply trash every idea that you come up with and supersede it with something that is obviously better. How would you feel? Super AI is probably going to make it several orders worse. You give it up all, You don’t want to be wired! You take up some art classes for a couple of decades (remember you are immortal now!) and try your hand at painting something. You put it up in an exhibition where the painting next to yours is by some robot with a tin head half your size and it makes your painting look like the work of a 2-yr old. Your only choice… wire up to the super AI and let it guide you or should I say “control you”!!. What is your role exactly??? Why do you exist?

Most of our happiness comes from the path highlighted in green in the cycle below –

execution-cycle
All of our long term activities could in turn be broken down into several chunks which looks like the cycle above. Of-course, there is a big grey zone between relish and regret and different people react differently to disasters. The kind who enjoy the journey don’t necessarily regret no matter what the outcome is. But the kind who enjoy the journey, enjoy it for the pleasant surprises. I don’t know of a person who can enjoy a monotonic tunnel journey for several hours, let alone several days on. But that’s exactly what life will look like when one lives long enough and has an organic reach to super AI. Surprising such a being is like trying to surprise god! The optimists may say –
“who knows? we will probably invent new ways of entertaining ourselves”. That brings me to the next point.

When with the help of super AI, one has seen it all, what does one do? play games perhaps? What kind of games? Chess? Boring drab. that did not even need super AI. some crazy multi-dimensional chess? But hold-on, a few seconds later, your extended AI has solved that too. To make matters worse, if it is a multi-player game, each participant exactly knows what the other participant in a game is thinking. Perhaps, we then begin to truly understand what a game has to be so that it is enjoyable. A game has to have artificial limitations. Why do we like a game of cards? Not because anything can happen, but because only a certain set of sequences are allowed to be played.

Chess. Courtesy : Pixabay
Chess. Courtesy : Pixabay

But when playing games, how do we make sure that no one is cheating consciously or sub-consciously with the help of extended super AI? Create a construct where super AI is out of reach? Perhaps, create a virtual world where players can project their persona on some Avatars and play as per the physics defined in that virtual world? Perhaps go one level further to make it exciting… Get into the virtual world and you can’t get out of it till you experience the pain of death in the virtual world!! And to spice it all up, what if you are not allowed to carry memories of your world into the virtual world, but just project your persona in a particular manner and let the game run it’s course?

And then it dawned upon me that we are probably one such projection!! Suddenly the Hindu concepts of Maya (illusion), Punarjanma (re-birth), Karma (no equivalent) , Manu (the first law-giver), Brahma (The creator of the illusion), Vishnu (the super AI)… all made such great sense. We can’t even tell how many iterations deep we are into such an illusion. To think that we are the first ones to create such a virtual world within a supposedly real world would be very gullible of us! How many deaths do I have to die to see the real thing?? Is there such a reality at all? Is there any meaning at all to life? If a Super AI that can be explained in it’s electronic nuts and bolts can entirely emulate and outperform a human being, aren’t we going to be convinced enough that we are just another machine moving randomly with a false sense of purpose and sentience?

krishna
Krishna : An avatar of Vishnu. Courtesy : Wikipedia

And what’s wrong with super AI wiping us humans out? Don’t we all wish for a better future for our children irrespective of what happens to us? How is a super AI different from our children as long as it creates a better future for itself in it’s own way? How is a new generation of humans that are drastically different from a generation born 500 years earlier not equivalent to a drastically different super AI which nevertheless is our child.. only a brain-child rather than a gene-child.

I can’t predict the benevolence or malevolence of super AI with any degree of certainty, but it is clear to me that super AI will help even the dumbest of us to understand the meaning or the lack of it in our existence. And that will lead us to our Nirvana – The singularity of Sentience.

I am just beginning on this topic again after a decade! More to come in the subsequent posts.

The Bangalore Traffic Survival Guide

I have been working at TI for nearly 8 years now. I have also been living in Kadugodi for nearly 7 years in a self-owned apartment. I can already hear readers who are residents of Bangalore going “whoooaaa! Kadugodi to CV Raman Nagar!! How does this guy even do it?”. Thankfully, the truth is not as bad as it appears. I maintain very strict journey times to avoid peak traffic and manage the one way journey in 30-40 mins. My average is about 33 mins. Before I begin the rest of my story, I should thank Lord Vishnu for choosing to rest in Thirupathi. I don’t know if my theory is true, but I think Old Madras Road is maintained so that the travel to Thirupathi remains convenient. The population on this side of the city has burgeoned manifold, numerous junctions have been added, signals have come and gone, but my travel time stubbornly remains between 30-40 mins. There is some crazy disruption every few months, but the almighty gets into action soon to miraculously clear up the mess.

 KR Puram Cable Bridge
KR Puram Cable Bridge

30-40 mins of one way commute is probably in the top 20 percentile levels in Bangalore (higher percentile = lesser travel), but it is still a significant amount of time. For a long time, I was literally at war with myself; I was considering moving back to some place closer. But self-owned homes kind of grow on you; Readers who live self-owned homes can relate with me. The roots just keep going deeper. Reminds me of the great Kannada poet Kuvempu who said “ಮನೆಯನೆಂದೂ ಕಟ್ಟದಿರು …. ಓ ನನ್ನ ಚೇತನ ಆಗು ನೀನು ಅನಿಕೇತನ”. Translated as – “Rest nowhere on the unending road, never build a binding nest …. Never touch the boundary, Remain infinite and boundless!!” in a famous poem. I now know that he meant it both figuratively and literally. Once the realisation dawned upon me that a large part of my life is going to spent on the road for a long time to come, I began to think about the means to use the time spent more efficiently.

KR Puram Cable Bridge
KR Puram Cable Bridge

One could consider hiring a chauffeur, but it is an expensive option that costs upwards of Rs.12k per month and my motion sickness does not help either. I am at ease only when I am in complete control. The brake-gear-clutch-gas drudgery was unavoidable.

Back in the days when smart phone technology was not upto the mark, it was quite hard to do justice to 30-40 mins of travel time. I used some of my time on the way to office planning the day’s activities. If there is a particularly hard technical problem that demands a fair bit of imagination, a stalled car in a traffic signal is one of the best place to think about it. Infact, ~50% of the interesting ideas that I have come up with have been on old madras road.  In the evenings on the return journey, I would spend the time recalling the key events, discussions and decisions. But day dreaming is risky at times; there is always this street ninja who is out to surprise you.  On an average, I could use ~20% of the travel time thinking about things that mattered. Taking calls is another activity that one can do on the road. But our R&D team is entirely located in one office in Bangalore and there are not too many calls that I need to attend around the travel times.

Radio used to be a decent entertainment option, but most of the stuff on Radio these days is reality advertisements and other garbage. With the advent of smart phone, things changed remarkably. Music became a major component of travel. I am terrible singer, but who cares?? No one can hear me outside the car. Singing along classical singers became one of my favourite pass-times. Google Music added an entirely new dimension. I now have my entire collection online. I have playlists for various times-of-the-day, moods, people in my car etc.

Most recently, listening to books on Amazon’s Audible has become my favourite activity. I spend ~Rs.1000 every month, but that covers for nearly 50% of my time in the car. I don’t mind the traffic at all these days. Infact, there are times when I am close to one of those critical moments in a book and I wish that that last signal on my journey stays at red for a little while longer.

Color Jump

If you ever find yourself wondering what to do next with your high energy toddler, this game could come in handy. All it needs is 3-4 colored crayons and 4′ x 2′ of space.

Draw some colored circles on the floor (Squares work too). Be sure to keep it symmetric on at the least one axis to keep it simple. Toddlers can imagine mirroring more easily than rotation.

Example Circles
Example Circles

Stand in any of the circles and make your kid stand in the opposite one of the same color. You are all set! The rest is best explained through this video –

It is easy to add more complications. Adding more circles is one way of doing it. One can add different shapes too. Encourage your toddler to memorize the color-position association so that he/she need not look before taking a jump. The memorization helps to train spatial memory.

Other posts in this series

  1. Balance beam (2017-January-28)
  2. Color Jump (2017-February-05)
  3. Balsa craft (2018-May-20)

Balance beam

My daughter is nearly 3 years old now. When she was about 2yrs old, I noticed something very interesting. She had been barely walking for 15 months and now here she was, trying to balance herself on a narrow divider that divides the garden and the walking area. The divider was just as wide as her feet and about one foot tall (one foot is a lot when your whole height is ~85cm). She did not progress much before she called out for my help, but the courage that she demonstrated in just going ahead and trying it out put me into thought. I had to do something to let her be more adventurous, yet safe. Incidentally, Radhika (my better-half) had found a great carpenter. I quickly designed something that was inspired by the ramp walk obstacle in the obstacle coarse we had at school (It’s another of those Sainik School things that non-Ajeets may need more explanation on. Don’t bother). The carpenter quickly got on with his job, and in less than a week from conceptualisation we got this –

20170128185546_IMG_2023

The experiment proved very successful. Within a week, Anu could go end to end –

She fell innumerable number of times before getting to this stage, but thanks to some cheering, she kept trying. Once she mastered walking, as expected she started challenging herself; Running, turning around, jumping in place, jumping forward and a lot more. More importantly, the beam provided her a platform to fail over and over again, overcome her fear and succeed. For those who are interested in replicating the setup, the material used is Indian teak and here are the dimensions –

Beam Elevation
Beam – Elevation

Beam - Perspective
Beam – Perspective

Take care to round all corners. The one that we made is sturdy enough to support an 80Kg adult. Do test thoroughly before letting your kid try it.

 

Other posts in this series

  1. Balance beam (2017-January-28)
  2. Color Jump (2017-February-05)
  3. Balsa craft (2018-May-20)

Shenzhen Survival Guide – Part 2 – Commute

This is from 2017. Scroll down for updates from 2019.

Between the last blog and this one, I have travelled to Shenzhen another 4 times.  I have survived through one typhoon and multiple flu episodes during the same time in Shenzhen. The construction landscape is so dynamic that the city manages to have some surprise in store every time I land. The last time I visited the place was in mid January (this month).

Deng Xiaoping's statue gets to look at the city of his dreams from Lianhuashan Park
The view that Deng Xiaoping’s statue gets to look at the city of his dreams from Lianhuashan Park.

For any person living far away from Mainland china, the best way to get in and out of the city is to catch a flight to HK airport and use the ferry. They now have an all new swanky port at Shekou!  Try to avoid having a checked in baggage to save precious time. For most part of the day, the ferries are 1 hr apart. It does not matter whether you have a checked in baggge or not, you have to have about 2.5 hrs of margin time between the flight landing time and the ferry departure time. The ferry takes only about 20 mins to cover the distance between HK airport and the Shekou port, but rules are rules. Immigration is a breeze. From the new prince bay port at Shekou, one can take a shuttle to go to the old port. Metro station is closer to the old port. Taxis and buses are also available at the new port.  For departures from HK airport, arrive 4 hrs before scheduled flight departure at the Shekou port. You can choose to check the baggage in at HK airport or at the ferry terminal itself. Be sure to carry Chinese Yuan (Remnibi) to the port (I have had one hell of an experience by not following this guideline, and that should make for another story). They do not accept any card (including union bank card for the smarties who are reading this, smiling and saying “I have a Chinese bank account and a union bank card!! he he he!”) and there is no ATM at the new port as of today. Do not forget to visit the airlines counter once you get to HK airport to collect your tax refund coupon of 120HKD which you can avail at the tax refund counter!

The new prince bay port at Shenzhen
The new prince bay port at Shenzhen

Inside the city, metro is the best way to commute. Choose an accommodation that is near a metro station; ideally near a metro junction such as “The windows of the world” station. Airbnb should work fine, but take care to report to a nearby police station and register yourself (They freak out if you are a foreigner who is off the radar. Read the instructions on your landing card for updates on this). Buy a Shenzhen-HK Tong (metro-card) to make your life easy. It looks like the image below –

Shenzhen-HK Tong
Shenzhen-HK Tong

It costs 50 Yuan and you need to add additional 50 Yuan at the minimum to start your commute. It is totally worth it. It works from a couple of cm. So you need not pull it out of your wallet to swipe. You may need to visit a major station such as “The windows of the world” to buy this card.

Shenzhen grows faster than it’s metro. There are many places worth going where the metro won’t take you. For all such places, use Didi (Chinese equivalent of Uber). I have very rarely needed to take a Taxi though. Shenzhen is relatively free from pollution (compared to Shanghai or Beijing); Whenever I get a chance, I walk.

I have not needed to take a bus so far (other than the free shuttle from prince-bay port to older Shekou port). So I can’t speak much about it. But, given the reach of the metro, metro + Didi works just fine.

Updates from 2019

Metro : The Shenzhen-HK Tong is so passe now. Wechat is the new cool tool that solves just about everything in Shenzhen. I will cover the wechat howto in another post. The Shenzhen-HK Tong is still good to have as a backup when you run out of juice in your mobile phone. I had this one situation when I checked-in into a metro station using the phone, but the phone died before I got to the destination station. I just walked up to the help center and explained in broken Chinese + English. But they probably understood the sign language more than spoken words. The guard at the metro was quite helpful. He pulled out a map and asked me to point to me starting station. I had to then pay the remaining amount using my Tong and was let to go. Could also pay using cash here.

Commute to HK airport: Ferry is still my favorite. All the more so because of the unrest in HK. Almost all of the points mentioned above hold true. The port has become better though with more facilities.  There is finally an ATM at the port and the ticket counters now accept Wechat or Alipay. But there are times when Ferry is not an option. The first ferry starts at about 7:00AM. Check the latest timetable here. So if one has to catch a flight before 11:00AM in the morning, Ferry is a risky option. In such cases, going through Huanggang port makes more sense.

Huanggang port details : 

  1. Catch Didi to get to “Huanggang port departure hall” (type this exactly in the English version of the app.  Yes!! Didi has an all English version that actually works.
  2. You will get here

    Courtesy : chinadiscovery.com
  3. Ask around for Limo. Usually you get dropped on 1st floor. You have to go down to ground floor. Get here –
  4. Buy a ticket to HK airport. Should look like this.
  5. You will be guided to go through passport control. You will get on the HK side and be made to wait here
  6. As soon as 4 passengers are ready, you will be taken into a Taxi and escorted to airport. There will be a in vehicle check.

The total journey to airport after you reach Huanggang port can take anywhere between 1.5 hrs to 2.5 hrs. This includes wait time, immigration time and the transit time. So please keep margins accordingly. Typically you are in good shape if you are at the port 4.5hrs before the departure.

Other posts in this series

  1. Shenzhen Survival Guide - Part 1 - Information Channels (2016-August-05)
  2. Shenzhen Survival Guide – Part 2 – Commute (2017-January-28)

Shenzhen Survival Guide – Part 1 – Information Channels

 

ShenzhenHKBridge
Bridge connecting Shenzhen and Hongkong

Given the increasing attention deficit that the youth is suffering from, I decided to split this one into multiple posts. The series is for relevant for any of the following groups (in the decreasing order) –

  • People going for a short period of work to Shenzhen.
  • People who want to do a hardware startup and just figured out that they need to go Shenzhen. It is the Mecca of electronics.
  • People who travel to Shenzhen often (>2 times a year)

I am writing the post on Information Channels first, because communication is more important that anything else. I can’t (for that matter no one can) describe Shenzhen in every detail in one book let alone a blog post. With the right tools to search and communicate, anyone can figure out the rest.

 

The most important basic human rights are – access to clean and healthy air, water, internet, food and shelter (in that order). I don’t believe I have any fish as my audience. So, I don’t need to write about getting air and water in the right proportions in Shenzhen. And to the relief of the land animals, at the least with respect to these two elements, china is no different. But when it comes to internet, if the literary critics allow me a small degree of freedom, china is “infoccating” (intentional double c for the effect). To the uninformed, this is the realization sequence –

  • Our hero lands in china, goes to the hotel, connects to wifi to figure out a few things. Types something in google and nothing happens for a long time. Somebody had mentioned Baidu to this goody-2-shoes and so he types www.baidu.com and yo! bingo ! internet!!. But then, it slowly dawns upon him that majority searches need translation. Also, Baidu’s AI has much to learn. Google natural language search through the years has unknowingly let us become dumb once again.
  • Then he goes to a restaurant and looks at the menu. Recalls that he was bad at Pictionary anyway.  The smarty pants picks up his phone with a grin and tries google translate ….. nothing happens…. 2 mins.. still nothing…. and finally realizes that he has hit the aptly called Great Firewall of China once again!! Now what?? Act like a monkey so someone may toss a banana or two and finally get something vegetarian to eat!

Google services are Firewalled in China except in few companies and the higher end hotels. So are Facebook and twitter.  Whatsapp works though! You see, Zuckki did not pay $19B for nothing. So what is the way out? VPNs to the rescue. It is said that even a 2 year old in china knows how to connect to VPN. But not all VPN services are really useful. Specially the free ones.  After many trials and errors, I have locked on to VyprVPN. Use the paid version. It costs about $10 a month at the moment. Totally worth it in China. Do not forget to cancel the subscription once you return. It is easy to get fleeced with automatic monthly subscriptions.  Chinese firewall is not that easy to breach, the VPN keeps getting disconnected if you try the usual suspects – HK, any site in US, South East Asia etc. Try something exotic like Argentina or some eastern European country.  Argentina was my personal favorite. As an alternative to all of this, I tried working with Baidu services for sometime – Maps, Translate etc.. But gave up after sometime. For two reasons.. 1. They suck. 2. With the phone permissions that you need to grant them, you have basically sold your soul.

VyprVPN Logo
VyprVPN Logo

For communicating with people, Wechat is a must. It is even better than google translate. Google translate on a VPN or even otherwise takes 2-3 seconds to turn around.  Wechat does it under 1 second. In my cumulative stay of greater than 20 days, I have not come across a single person in China without a Wechat ID.  Wechat features an inbuilt translator. Each person on either end can type in his own language and the other one can view the message with translation. Just walk up to any person you want to talk to and show your Wechat ID QR code. This is one gesture that most people recognize (even though they don’t agree countrywide on the basic gestures such as the gestures for numbers 7 and 10). The other person will scan it and you are instantly connected! Wechat is also more than just the one-to-one chat. It is a platform for chatrooms and other services. One such very useful one is the Spoonhunt service. The service helps find nearby restaurants sorted by cuisines and customer ratings.

Wechat - QR code scanning
Wechat – QR code scanning

To be able to do any of the above on the move, it is necessary to have good mobile internet. There are plenty of options for buying prepaid SIM card. The service that has maximum coverage in China is China Unicom. I usually walk upto a store with some Chinese currency and a passport and buy the appropriate package as per the length of stay and data requirements. Within Shenzhen, the nearest store is typically within 10 minutes of walk. Cash is a must in most places in China. 99.99% of the places do not accept VISA, Amex, Mastercard based cards. At the time of this post, ~200RMB is sufficient to buy a week’s worth of talk-time and data. Google hangout dialer or skype can be used for international calling whenever the tower signal is good. It can be hard using VoIP during the metro rides. In emergencies, GSM based calling is reasonable too. At the time of this post, it is 10RMB/min for a call to India. Although, I have not felt the strong need, some people have suggested using online services to pre-order a SIM card to the hotel – http://www.3gsolutions.com.cn/. The convenience of getting the SIM card without having to walk to a store is probably worth it. Also, when you are buying a SIM card at the physical store, it is one conversation for which you can’t use google translate or Wechat services. The other advantage with the online service is that you can share the Chinese phone number in advance with the people concerned. There is also an option for a pay-as-you-go permanent Chinese phone number. In my last visit, I used the VPN service from 3gsolutions and found it to be good, infact better than VyprVPN. It is a bit pricey though at $7/week. The VPN service works even for people who have not bought a simcard from 3gsolutions. For people who want to frequent between HK and Senzhen, refer to this – http://hktravelblog.com/sim-cards/top-hong-kong-prepaid-sim-card/

China Unicom Store
China Unicom Store

Other posts in this series

  1. Shenzhen Survival Guide - Part 1 - Information Channels (2016-August-05)
  2. Shenzhen Survival Guide – Part 2 – Commute (2017-January-28)
Bitnami