Cover photo
Ramesh Natarajan
Lives in Los Angeles


Ramesh Natarajan

Shared publicly  - 
How to Setup Secure Docker Registry on Linux using TLS SSL Certificate:

If you are creating custom docker images for your enterprise, you have two choices on where to host your docker images:

1) Docker Hub – This hosted registry service is free and provided by Docker Inc. They also have several enterprise level features where you can create multiple accounts for your organizations, setup automatic builds, etc.

2) Self Hosted Docker Registry – You can setup docker registry within your organization that will host your own docker images.

This tutorial explains how to setup a a secure self-hosted docker registry.

Add a comment...

Ramesh Natarajan

Shared publicly  - 
How to Setup Nginx as loadbalancer for Apache or Tomcat for HTTP/HTTPS:

You can use Nginx as a loadbalancer in front of your web application.

For example, if your enterprise application is running on Apache (or Tomcat), you can setup an 2nd instance of your enterprise application on Apache (or Tomcat) on a different server.

And then, you can put Nginx at the front-end, which will load balance between the two Apache (or Tomcat, or JBoss) servers.

Nginx supports the following three types of load balancing:

1) round-robin – This is the default type for Nginx, which uses the typical round-robin algorithm to decide where to send the incoming request.

2) least-connected – As the name suggests, the incoming request will be sent to the server that has the less number of connection.

3) ip-hash – This is helpful when you want to have persistence or stick connection of the incoming request. In this type, the client’s ip-address is used to decide which server the request should be sent to.

Add a comment...

Ramesh Natarajan

Shared publicly  - 
How to Use Babel Javscript Compiler as a Transpiler with an Example Program:

Babel will transform your javascript code from one format (or version) to another.

In this regard, Babel is a transpiler.

A Transpiler is a compiler which will transform source code from one version/language to another version/language.

The two most popular ECMAScript JavaScript Transpilers are: 1) Babel 2) Traceur

In this tutorial, we'll look at how to use Babel as a transpiler in the following three situations:

1. Babel on client side (Non Node.js environments)
2. Babel on server side (Node.js environments)
3. Babel from command line using babel-cli
Ram G's profile photosai prashanth's profile photoJordi martinez's profile photo
Happy new year Ramesh. I hope santa brought u a present.
Add a comment...

Ramesh Natarajan

Shared publicly  - 
15 Oracle Tablespace and Datafile Command Examples:

Even if you are a developer, or Linux sysadmin, sometimes you might end-up dealing with an Oracle database in your organization.

One of the essential Oracle DBA task is to manage the tablespace.

This tutorial covers everything that you need to know to effectively manage both your tablespaces and datafiles in an Oracle database.

The following are covered in this tutorial:

1. Create Tablespace with an Example
2. Create Tablespace with Additional Storage Parameters
3. Add New Datafile to Increase the Size of a Tablespace
4. Add New Datafile with Storage Parameters
5. How to Increase Size of an Existing Datafile
6. View Tablespace and datafile Information
7. Tablespace Extent Management
8. Calculate the Size of your Tablespace (Both Total Space and Free Space Available)
9. Bigfile Tablespace Management
10. Rename Tablespace
11. Drop Tablespace
12. Drop a Specific datafaile from a Tablespace
13. Bring Tablespace Online or Offline
14. Set a Tablespace as Read-Only Temporarily
15. Rename or Move Datafile to a Different Folder
Jordi martinez's profile photo
i fucking love you
Add a comment...

Ramesh Natarajan

Shared publicly  - 
How to Setup Git Repository and Credentials for Jenkins Jobs:

Jenkins is an open source automation server, which will help you to automate the application deployment in your infrastructure.

From Jenkins, for deployment, you can connect to any kind of source code control system, and pull the source, build it, and deploy it automatically to one or more servers.

In this tutorial, we'll explain how you can create a new Jenkins Job, and connect it to a Git repository to pull the source code for deployment.

Add a comment...

Ramesh Natarajan

Shared publicly  - 
Intro to Linux KVM (Kernel Based Virtualization) and its Benefits:

What is KVM? KVM stands for Kernel Based Virtualization.

Kernel based virtualization was implemented to get the advantage of hardware assisted virtualization support given by the new generation of Intel and AMD CPUs.

During the initial stages of the development of virtualization technology CPUs where fully emulated by the software which eventually lacked in performance because of absence of direct hardware access.

These days, the CPUs in market supports virtualization. This is also called hardware assisted virtualization.

This tutorial explains the following:

1. What is KVM?
2. What is a Hypervisor?
3. KVM Evolution
4. Linux KVM Benefits

Add a comment...

Ramesh Natarajan

Shared publicly  - 
12 Linux GNU Binary Utilities Binutils Commands with Examples:

The GNU Binary Utilities, usually called as binutils, is a collection of development tools that handle assembly files, object files, and libraries.

The new generation of programming languages that came in the last few years are really masking the functionality of these utilities, as they happen in the background. So, many developers are not exposed to these tools.

But, if you are a developer who is working on Linux / UNIX platform, it is essential to understand the various commands that are available as part of GNU development tools.

The following are the 12 different binutils commands that are covered in this tutorial.

1) as – GNU Assembler Command
2) ld – GNU Linker Command
3) ar – GNU Archive Command
4) nm – List Object File Symbols
5) objcopy – Copy and Translate Object Files
6) objdump – Display Object File Information
7) size – List Section Size and Toal Size
8) strings – Display Printable Characters from a File
9) strip – Discard Symbols from Object File
10) c++filt – Demangle Command
11) addr2line – Convert Address to Filename and Numbers
12) readelf – Display ELF File Info
13) These tools will help you to manipulate your binary, object and library files effectively.

Add a comment...

Ramesh Natarajan

Shared publicly  - 
Happy New Year 2017 – From Geek and the Dolls

Happy New Year to all TGS readers from Me and My Daughters (Diya and Neha).

We wish you and your family a happy, healthy, and joyful new year.

At TGS, our goal is to educate you on Linux and open source technologies on an on-going basis. With your tremendous love and support, we are committed in publishing high quality articles. Apart from the regular tutorials, I’m also working on several workshops that will be available for TGS readers this year.

From my heart, I appreciate all the support given by the regular readers of the blog. I’m very grateful to have you as part of TGS blog.

Saravana Kumar's profile photoZoltán Tóth's profile photoVincenzo Alex Balzano's profile photoJohn Billot's profile photo
A very happy new year to you and your family as well. Thanks for 2016. John
Add a comment...

Ramesh Natarajan

Shared publicly  - 
10 MySQL Load Data Infile Examples to Upload Text File Data to Tables:

If you have data in a text file, you can easily upload them to one or more tables in a database.

In MySQL database (or MariaDB), using "load data infile" command, you can upload data from a text file to tables.

The load data infile command provides several flexible options to load various formats of data from text file to tables.

The following load data examples are covered in this tutorial:

1. Basic Example to Load Data From Text File
2. Upload Data Using "Fields terminated by" Option
3. Upload Data Using "Enclosed by" Option
4. Use Escape Character in Text File Data
5. Upload Data Using "Lines terminated by" Option
6. Ignore Line Prefix in Upload File Using "Starting By" Option
7. Ignore Header Line from the Upload File
8. Upload Only Specific Columns (and Ignore Others) from Upload File
9. Use Variable during Upload with "Set" Option
10. Write Shell Script to Load data from Text File
Jordi martinez's profile photoPOMG / Giải trí's profile photo
Hi Ramesh, i want to cooperate with you in some work.
Contact me, please!
Add a comment...

Ramesh Natarajan

Shared publicly  - 
How to Setup Apache Zookeeper Cluster on Multiple Nodes in Linux:

If you are running Apache zookeeper in your infrastructure, you should set it up to run in a cluster mode. Zookeeper cluster is called as ensemble.

For a cluster to be always up and running, majority of the nodes in the cluster should be up. So, it is always recommended to run zookeeper cluster in odd number of servers. For example, cluster with 3 nodes, or cluster with 5 nodes, etc.

In this tutorial, we’ll setup zookeeper cluster with 3 node setup on the following servers: node1, node2, and node3.
Add a comment...

Ramesh Natarajan

Shared publicly  - 
C Program Example to Generate Cluster of Dots:

In this tutorial, we will write an example C program that will create a file which will serve as producer of testing data.

In another words, we will create an application in C, and your task is to input the number of clusters, number of dots for each of those clusters, and then to generate random numbers that are in those clusters.

The output file generated by this program can then be used by other programs as sample data.

A while back, I tried to write a simple weather prediction program, but I had no real life data to apply to my algorithm and try out my application. Sometimes, it is very hard to generate the data that are required to test your application.

That was the motivation for me to write some simple program like this, which will give you some idea on writing your own program to generate test data.
Add a comment...

Ramesh Natarajan

Shared publicly  - 
How to Fix Curl TLS SSL Protocol Issue from CLI and PHP Code:

Question: On one of our server, the webserver is not setup to support SSLv2 or SSLv3. Both are disabled on the server side. It supports only TLSv1. How can I get curl to work from both command line, and from inside my PHP code?

Answer: In most case, curl will automatically pick the correct protocol and connect to it. But, you can also specify a specific protocol to use for curl command. In this situation, you have to instruct CURL to use TLSv1, as explained in this tutorial. The following are covered:

1. Specify Protocol on Curl Command Line
2. Solution From Command Line using curl Command
3. Solution From PHP using cURL PHP functions
Add a comment...
Bringing IT Infrastructure to Life
I'm a Geek who is interested in Linux and open source technologies.

I have been adding 1’s and 0 ’s for more than 17 years in the IT industry. I am very much interested in anything that runs on electricity. I have done intensive programming on several languages and C is my favorite. I have done lot of work on the infrastructure side in Linux system administration, DBA, Hardware and Storage (EMC).

Get your copy of Linux 101 Hacks free eBook.
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Los Angeles
Director of IT Infrastructure
Basic Information