Tuesday, February 24, 2015

Couch DB Getting External Connectivity Running in Windows 8

Getting external connectivity for Windows 8 requires a few configuration changes.  These article describes what's necessary to get CouchDB running so that it will accept connections from remote hosts.

Open a windows terminal as an administrator and run the following commands:

netsh advfirewall firewall add rule name="CouchDB/HTTP"  dir=in action=allow protocol=TCP localport=5984
netsh advfirewall firewall add rule name="CouchDB/HTTPS" dir=out action=allow protocol=TCP localport=6984
netsh advfirewall firewall add rule name="CouchDB/HTTP"  dir=in action=allow protocol=TCP localport=5984
netsh advfirewall firewall add rule name="CouchDB/HTTPS" dir=out action=allow protocol=TCP localport=6984

This will open the necessary ports through the Windows 8 firewall.

Then proceed to the directory where your CouchDB installation was done.  For example for my machine the installation is in:

C:\Program Files (x86)\Apache Software Foundation\CouchDB

Once you have navigated to this directory you will then need to navigate to the following subdirectory:

\etc\couchdb

Edit the default.ini file and modify the following entry from:

[httpd]
port = 5984
bind_address = 127.0.0.1

To:

[httpd]
port = 5984
bind_address = 0.0.0.0

This will allow CouchDB to accept incoming connections from any host.

Proceed to the Windows Services console and restart the CouchDB service.  Once the service has restarted you should be able to connect from any remote host.

If you are intending for hosts to connect from the internet make sure you also open your firewall by creating port forwarding rules from your firewall to your host.  These rules should open TCP ports 5984 and 6984.



Cultural Cronyism

After working with many work environments I have noticed that there seems to be an inherent bias for folks to select individuals who are of their same ethnic background.  There have been instances were poorly qualified individuals then to be placed in a position which is beyond their competence or character level and as a result we end up with a more grievous situation than it was originally before the "cultural cronies" arrived.

I can recall a particular situation were we where already late to delivering the final product.  Some help was assigned by a manager to help move things along.  Let me note that the manager was not of the same ethnic background as the helper.  What was interesting in this situation was that the project manager was of the same background.  Not only was the poorly qualified helper given the primary role of what needed to be developed but also the project manager in turn "covered" a multitude of sins.  The result?  Months of delay an unhappy customer but a happy similar cultural crew.

To add insult to injury the cultural cronyism did not end there. What there's more?  Oh yes.  As it turns out the client had a person of the same culture who was tangentially related to the project.  This person too also got "special treatment".  It is as all of a sudden we had to be more concerned about the minor things that this person needed than what the main client was asking for.  As a result delays were further introduced.

As a person of multiple ethnicities it is easy for me to fall into this trap as well.   I understand the cultural pull of the familiar and the comfort that it brings.  However, a person's character and competence should never be traded for the selfishness of feeling comfortable or trying to help your own kind.  In your mind and mine there should be only one kind - those who have character and competence.  Genuinely successful teams navigate through the cultural differences and perceive them as points of weaknesses or strengths that must be navigated and tempered for the success of all people involved.

So if we start gauging people for their character and competence and not for their cultural similarities we will then have the ability to build powerful performing teams which may or may not be culturally similar.