Many of the corporates have their own IT infrastructure and take care of long term maintenance of their IT software and hardware. When technical partners/vendors help them develop new applications, the entire development and testing environments are provided by the clients themselves. As access to these will be restricted, developers will need to be on the VPN always. Site to site VPN helps the entire development team be on the VPN. If every developer has to be on VPN then there is a pain of logging in individually, worry about traffic every time they browse or sometimes making their system  not accessible in the local network.

Our development team had many machines with Mac and Ubuntu OS where we had trouble configuring the specific VPN software to work. We were also short of time to get the paperwork going and get a site to site VPN up and running. It was only with the help of few windows systems we were able to connect and run some tests and do development work. There was an urgent need for everyone to access client’s systems and resources, it was at this time Apache HTTP server and Rinetd came to the rescue.

This is what we did to solve our VPN bottleneck.

  1. Get a machine such that the VPN software runs on that OS. In our case it was windows XP.
  2. Give the machine an easy to remember name on the network like my-team-vpn.company-domain.com
  3. Install Apache HTTP server and set up ProxyPass and ReverseProxyPass such that all the HTTP based test environments are given a local url. Like http://my-team-vpn/QA-env/index.html should serve from http://client-machine-QA-env/index.html
  4. For other TCP connections like DB and LDAP, setup Rinetd and configure redirects like 10.1.1.1 369 to IP and port on the client machine.
  5. Keep the machine always on the VPN.
  6. Publish the URLs and ports to be used by the development team without using VPN.

With the above steps we were able to complete our development without going through the paper work of setting up site to site VPN.

Image: jscreationzs / FreeDigitalPhotos.net

Humans over time have acquired the skill to use a linear scale. Radio Labs aired a talk which explained about experiments done with children and some tribes who have not been exposed to linear numbers. The experiments suggest that we are conditioned to use numbers in non linear scales. It is easy to express differences in ratios than linear count between them. The experiments have also been replicated on animals and found that they also understand differences in ratios than the count in between.

We are accustomed to say that the difference between 1 & 2, 11 & 12, 1001 & 1002 are all same.  When we project these numbers side by side as countable items like trees or birds in a picture; every one will immediately spot the difference between 1 & 2, most will spot the difference between 11 & 12 given some time to count and people will struggle to find the difference between 1001 & 1002 unless the images are arranged in neat grid with enough time given to count. The results of an experiment with Amazonian tribe who had not much formal education is here. In short, it illustrates that people will be inclined to choose their scale to be logarithmic instead of linear one. Musical scales are non linear where the frequency doubles every octave. Like music even the colour frequencies of VIGBYOR is non linear.

We deal with numbers day to day and most of the working force have spent significant amount time in school playing around with numbers which were in linear scale. Deep inside us we still carry what we inherited from our ancestors and are well suited to deal with ratios. May be that is why our ancestors designed the musical scale to be non linear. “The Da vinci code” novel also talks about golden ratio which is observed every where in nature and that is non linear.

In software development I have observed this is true when it comes to estimations. Instead of mapping estimates to days of effort it is more easy to represent it in Fibonacci series (the ratio is 1.6 or golden ratio in fibonacci) or Log base 2. Trying to fit in a linear scale has created more misunderstandings between team members as each one had a different picture on where to place an estimate on a linear scale. I have observed dissonances in estimates from people even when using logarithmic or fibonacci, that dissonance will increase manifold if we use a linear scale. If we try to deal with numbers in ratios in day to day life then may be we can get lots of advantage by using our hard wiring inside.

Image: FreeDigitalPhotos.net

In most of the work places, interviews are the entry barrier to become a part of an organization. The general tendency of anyone to approach an interview is to do it like an examination. An evening or two of preparation especially if it is a technical job and some search on the net for answering typical questions gives an illusion of being prepared for an interview. It is easy to get through examinations with an overnight of preparation as only the factual accuracy of the answer matters.

Interviews in my opinion are more of discussions than question answer sessions like exams.  For technical jobs, the interviews will be centered around the sound understanding of the fundamentals and application of that knowledge rather than checking the memory of first page search result answers for the questions. If the attitude and approach towards a day job is inclined towards continuous learning and improvement, then that may help a lot at an interview than an overnight preparation. In other words we should be able to meet an employer on a flight journey, conference or social events and stumble on a job offer without any preparation.

Being employable is analogous to being physically strong. Just like how one should exercise every day to be fit and strong, the learnings and applications every day at workplace helps in strengthening our capabilities. It will also not come to us in a few days, it is a long and continuous process which should become a habit.

Image: Ambro / FreeDigitalPhotos.net